Ver Fonte

Merge branch 'master' of https://repo1.mydevil.net/git/priv/ranides/assira

Ranides Atterwim há 9 anos atrás
pai
commit
93807dfb85

+ 1 - 1
.gitignore

@@ -10,4 +10,4 @@
 pom.xml.versionsBackup
 nbproject
 /.idea
-*.iml
+*.iml

+ 0 - 1
assira.all/dependency-reduced-pom.xml

@@ -8,7 +8,6 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>assira.all</artifactId>
   <name>assira.all</name>
-  <version>2.1.0</version>
   <build>
     <plugins>
       <plugin>

+ 0 - 1
assira.all/pom.xml

@@ -7,7 +7,6 @@
         <version>2.1.0</version>
     </parent>
     <artifactId>assira.all</artifactId>
-    <version>2.1.0</version>
     <packaging>jar</packaging>
     
     <build>

+ 15 - 0
assira.archetype/pom.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <groupId>net.ranides</groupId>
+        <artifactId>assira.project</artifactId>
+        <version>2.1.0</version>
+    </parent>
+
+    <groupId>net.ranides</groupId>
+    <artifactId>assira.archetype</artifactId>
+    <name>assira.archetype</name>
+    <url>http://ranides.net/projects/assira</url>
+
+</project>

+ 9 - 0
assira.archetype/src/main/resources/META-INF/maven/archetype.xml

@@ -0,0 +1,9 @@
+<archetype>
+    <id>assira.archetype</id>
+    <sources>
+        <source>src/main/java/app/App.java</source>
+    </sources>
+    <testSources>
+        <source>src/test/java/app/AppTest.java</source>
+    </testSources>
+</archetype>

+ 96 - 0
assira.archetype/src/main/resources/archetype-resources/pom.xml

@@ -0,0 +1,96 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>${groupId}</groupId>
+    <artifactId>${artifactId}</artifactId>
+    <version>${version}</version>
+    <packaging>jar</packaging>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <netbeans.hint.license>WTFPL</netbeans.hint.license>
+    </properties>
+
+    <distributionManagement>
+        <repository>
+            <id>maven.ranides.net</id>
+            <name>maven.ranides.net</name>
+            <url>ftp://maven.ranides.net/</url>
+        </repository>
+    </distributionManagement>
+
+    <repositories>
+        <repository>
+            <id>ranides.net</id>
+            <name>ranides.net</name>
+            <url>http://maven.ranides.net</url>
+        </repository>
+    </repositories>
+
+    <build>
+        <extensions>
+            <extension>
+                <groupId>org.apache.maven.wagon</groupId>
+                <artifactId>wagon-ftp</artifactId>
+                <version>1.0</version>
+            </extension>
+        </extensions>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
+                <configuration>
+                    <source>${maven.compiler.source}</source>
+                    <target>${maven.compiler.target}</target>
+                    <compilerArgument>-Xlint:unchecked</compilerArgument>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+                <version>2.2.1</version>
+                <executions>
+                    <execution>
+                        <id>attach-sources</id>
+                        <goals>
+                            <goal>jar-no-fork</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-pmd-plugin</artifactId>
+                <version>3.5</version>
+                <configuration>
+                    <rulesets>
+                        <ruleset>http://ranides.net/projects/pmd/3/assira.custom.xml</ruleset>
+                        <ruleset>http://ranides.net/projects/pmd/3/assira.standard.xml</ruleset>
+                    </rulesets>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.18.1</version>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+        <dependency>
+            <groupId>net.ranides</groupId>
+            <artifactId>assira</artifactId>
+            <version>2.1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>net.ranides</groupId>
+            <artifactId>assira.junit</artifactId>
+            <version>2.1.0</version>
+            <scope>test</scope>
+        </dependency>
+    </dependencies>
+</project>

+ 11 - 0
assira.archetype/src/main/resources/archetype-resources/src/main/java/app/App.java

@@ -0,0 +1,11 @@
+package ${groupId}.app;
+
+/**
+ * @author ranides
+ */
+public class App {
+
+    public static void main(String[] args) {
+        // @todo
+    }
+}

+ 17 - 0
assira.archetype/src/main/resources/archetype-resources/src/test/java/app/AppTest.java

@@ -0,0 +1,17 @@
+package ${groupId}.app;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * @author msieron
+ */
+public class AppTest {
+
+    @Test
+    public void testApp() throws Exception {
+        // @todo
+    }
+
+}

+ 1 - 1
assira.rules.test/pom.xml

@@ -27,7 +27,7 @@
                     <dependency>
                         <groupId>net.ranides</groupId>
                         <artifactId>assira.rules</artifactId>
-                        <version>2.1.0</version>
+                        <version>${project.version}</version>
                     </dependency>
                 </dependencies>
             </plugin>

+ 4 - 4
assira/src/main/java/net/ranides/assira/collection/lists/NativeArrayList.java

@@ -52,9 +52,9 @@ public final class NativeArrayList {
 	public static <Auto> List<Auto> $wrap(Object array, int offset, int length) {
 		return (List)wrap(array, offset, length);
 	}
-	
-    
-    private static final class NativeList extends AbstractList<Object> implements Serializable {
+
+
+    public static final class NativeList extends AbstractList<Object> implements Serializable {
         
         private static final long serialVersionUID = 1L;
 		
@@ -107,7 +107,7 @@ public final class NativeArrayList {
 		
     }
 
-	private static final class IntegerList extends AIntList {
+    public static final class IntegerList extends AIntList {
         
         private static final long serialVersionUID = 1L;
 		

+ 6 - 4
assira/src/main/java/net/ranides/assira/collection/maps/Cache.java

@@ -115,6 +115,7 @@ public class Cache<K,V> extends AbstractMap<K,V> {
     @Override
     public V get(Object key) {
         synchronized(this) {
+            map.release();
             V result = map.getValue(key);
             if (null != result) {
                 list.hold(result);
@@ -125,6 +126,7 @@ public class Cache<K,V> extends AbstractMap<K,V> {
     
     public V get(K key, Supplier<V> supplier) {
         synchronized(this) {
+            map.release();
             V result = map.getValue(key);
             if (null == result) {
                 map.putValue(key, result = supplier.get());
@@ -242,7 +244,7 @@ public class Cache<K,V> extends AbstractMap<K,V> {
     
     @SuppressWarnings("unchecked")
     private static <TK> TK asKey(Reference<?> ref) {
-        return (ref != null) ? ((KRef<TK,?>)ref).key : null;
+        return ((KRef<TK,?>)ref).key;
     }
     
     private static class KRef<K,V> extends SoftReference<V> {
@@ -288,7 +290,7 @@ public class Cache<K,V> extends AbstractMap<K,V> {
         }
         
         @Override
-        protected boolean removeEldestEntry(Entry<K, TRef<K,V>> eldest) {
+        protected boolean removeEldestEntry(Map.Entry<K, TRef<K,V>> eldest) {
             return this.size() > maxsize || eldest.getValue().time.isAfter(Instant.now());
         }
         
@@ -299,7 +301,7 @@ public class Cache<K,V> extends AbstractMap<K,V> {
                 while ( null != (ref = queue.poll()) ) { remove( asKey(ref) ); }
                 
                 Instant now = Instant.now();
-                Iterator<Entry<K, TRef<K, V>>> iterator = entrySet().iterator();
+                Iterator<Map.Entry<K, TRef<K, V>>> iterator = entrySet().iterator();
                 while(iterator.hasNext()) {
                     if(iterator.next().getValue().time.isBefore(now)) {
                         break;
@@ -341,7 +343,7 @@ public class Cache<K,V> extends AbstractMap<K,V> {
         }
         
         @Override
-        protected boolean removeEldestEntry(Entry<K, KRef<K,V>> eldest) {
+        protected boolean removeEldestEntry(Map.Entry<K, KRef<K,V>> eldest) {
             return this.size() > maxsize;
         }
         

+ 1 - 1
assira/src/main/java/net/ranides/assira/text/StringUtils.java

@@ -431,7 +431,7 @@ public final class StringUtils {
             return "";
         }
         int offset = text.length() - 1;
-        while(offset >= 0 && Character.isWhitespace(text.charAt(offset)) ) { 
+        while(offset >= 0 && cp.test(text.charAt(offset)) ) {
 			offset--; 
 		}
         return text.substring(0, offset+1);

+ 253 - 252
pom.xml

@@ -1,253 +1,254 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    
-    <groupId>net.ranides</groupId>
-    <artifactId>assira.project</artifactId>
-    <version>2.1.0</version>
-    <packaging>pom</packaging>
-    
-    <url>http://ranides.net/projects/assira</url>
-    
-    <properties>
-        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-        <maven.compiler.source>1.8</maven.compiler.source>
-        <maven.compiler.target>1.8</maven.compiler.target>
-        <netbeans.hint.jdkPlatform>JDK_1.8</netbeans.hint.jdkPlatform>
-        <netbeans.hint.license>WTFPL</netbeans.hint.license>
-        <assira.junit.debug>false</assira.junit.debug>
-        
-        <org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap>none</org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap>
-        <org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>4</org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>
-        <org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab>4</org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab>
-        <org-netbeans-modules-editor-indent.CodeStyle.project.tab-size>4</org-netbeans-modules-editor-indent.CodeStyle.project.tab-size>
-        <org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width>120</org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width>
-        <org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>true</org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>
-        <org-netbeans-modules-editor-indent.CodeStyle.usedProfile>project</org-netbeans-modules-editor-indent.CodeStyle.usedProfile>
-    </properties>
-    
-    <modules>
-        <module>assira.asm</module>
-        <module>assira.junit</module>
-        <module>assira.rules</module>
-        <module>assira.rules.test</module>
-        <module>assira.test</module>
-        <module>assira.drafts</module>
-        <module>assira.benchmark</module>
-        <module>assira</module>
-        <module>assira.all</module>
-    </modules>
-    
-    <distributionManagement>
-        <repository>
-            <id>maven.ranides.net</id>
-            <name>maven.ranides.net</name>
-            <url>ftp://maven.ranides.net/</url>
-        </repository>
-    </distributionManagement>
-    
-    <repositories>
-        <repository>
-            <id>ranides.net</id>
-            <name>ranides.net</name>
-            <url>http://maven.ranides.net</url>
-        </repository>
-    </repositories>
-    
-    <build>
-        <extensions>
-            <extension>
-                <groupId>org.apache.maven.wagon</groupId>
-                <artifactId>wagon-ftp</artifactId>
-                <version>1.0</version>
-            </extension>
-        </extensions>
-        
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <version>2.3.2</version>
-                <configuration>
-                    <source>${maven.compiler.source}</source>
-                    <target>${maven.compiler.target}</target>
-                    <compilerArgument>-Xlint:unchecked</compilerArgument>
-                    <compilerArgument>-parameters</compilerArgument>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-source-plugin</artifactId>
-                <version>2.2.1</version>
-                <executions>
-                    <execution>
-                        <id>attach-sources</id>
-                        <goals>
-                            <goal>jar-no-fork</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>2.9</version>
-                <executions>
-                    <execution>
-                        <id>javadocs-site</id>
-                        <phase>site</phase>
-                        <goals>
-                            <goal>javadoc</goal>
-                        </goals>
-                    </execution>
-                </executions>
-                <configuration>
-                    <links>
-                        <link>http://docs.oracle.com/javase/7/docs/api/</link>
-                    </links>
-                    <version>true</version>
-                    <show>public</show>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-pmd-plugin</artifactId>
-                <version>3.5</version>
-                <configuration>
-                    <rulesets>
-                        <ruleset>rulesets/java/assira.xml</ruleset>
-                    </rulesets>
-                </configuration>
-                <dependencies>
-                    <dependency>
-                        <groupId>net.ranides</groupId>
-                        <artifactId>assira.rules</artifactId>
-                        <version>2.1.0</version>
-                    </dependency>
-                </dependencies>
-            </plugin>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>0.7.5.201505241946</version>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>report</id>
-                        <phase>prepare-package</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.19.1</version>
-                <configuration>
-                    <systemPropertyVariables>
-                        <assira.junit.debug>${assira.junit.debug}</assira.junit.debug>
-                    </systemPropertyVariables>
-                    <testFailureIgnore>false</testFailureIgnore>
-                    <skip>false</skip>
-                </configuration>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jxr-plugin</artifactId>
-                <version>2.3</version>
-            </plugin>
-        </plugins>
-    </build>
-
-    <reporting>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>2.9</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-jxr-plugin</artifactId>
-                <version>2.3</version>
-            </plugin>
-        </plugins>
-    </reporting>
-    
-    <dependencyManagement>
-        <dependencies>
-            <dependency>
-                <groupId>net.ranides</groupId>
-                <artifactId>assira</artifactId>
-                <version>2.1.0</version>
-            </dependency>
-            <dependency>
-                <groupId>net.ranides</groupId>
-                <artifactId>assira.asm</artifactId>
-                <version>5.0.4</version>
-            </dependency>
-            <dependency>
-                <groupId>net.ranides</groupId>
-                <artifactId>assira.junit</artifactId>
-                <version>2.1.0</version>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>junit</groupId>
-                <artifactId>junit</artifactId>
-                <version>4.12</version>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-api</artifactId>
-                <version>1.7.13</version>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-nop</artifactId>
-                <version>1.7.16</version>
-                <scope>compile</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.slf4j</groupId>
-                <artifactId>slf4j-simple</artifactId>
-                <version>1.7.13</version>
-                <scope>test</scope>
-            </dependency>
-            <dependency>
-                <groupId>net.sourceforge.pmd</groupId>
-                <artifactId>pmd-java</artifactId>
-                <version>5.3.3</version>
-            </dependency>
-            <dependency>
-                <groupId>com.google.code.findbugs</groupId>
-                <artifactId>annotations</artifactId>
-                <version>3.0.1u2</version>
-                <scope>provided</scope>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.core</groupId>
-                <artifactId>jackson-core</artifactId>
-                <version>2.0.1</version>
-            </dependency>
-            <dependency>
-                <groupId>com.fasterxml.jackson.datatype</groupId>
-                <artifactId>jackson-datatype-json-org</artifactId>
-                <version>2.0.0</version>
-            </dependency>
-            <dependency>
-                <groupId>se.fishtank</groupId>
-                <artifactId>css-selectors</artifactId>
-                <version>2.0</version>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-    
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>net.ranides</groupId>
+    <artifactId>assira.project</artifactId>
+    <version>2.1.0</version>
+    <packaging>pom</packaging>
+
+    <url>http://ranides.net/projects/assira</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
+        <netbeans.hint.jdkPlatform>JDK_1.8</netbeans.hint.jdkPlatform>
+        <netbeans.hint.license>WTFPL</netbeans.hint.license>
+        <assira.junit.debug>false</assira.junit.debug>
+
+        <org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap>none</org-netbeans-modules-editor-indent.CodeStyle.project.text-line-wrap>
+        <org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>4</org-netbeans-modules-editor-indent.CodeStyle.project.indent-shift-width>
+        <org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab>4</org-netbeans-modules-editor-indent.CodeStyle.project.spaces-per-tab>
+        <org-netbeans-modules-editor-indent.CodeStyle.project.tab-size>4</org-netbeans-modules-editor-indent.CodeStyle.project.tab-size>
+        <org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width>120</org-netbeans-modules-editor-indent.CodeStyle.project.text-limit-width>
+        <org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>true</org-netbeans-modules-editor-indent.CodeStyle.project.expand-tabs>
+        <org-netbeans-modules-editor-indent.CodeStyle.usedProfile>project</org-netbeans-modules-editor-indent.CodeStyle.usedProfile>
+    </properties>
+
+    <modules>
+        <module>assira.asm</module>
+        <module>assira.junit</module>
+        <module>assira.rules</module>
+        <module>assira.rules.test</module>
+        <module>assira.test</module>
+        <module>assira.drafts</module>
+        <module>assira.benchmark</module>
+        <module>assira</module>
+        <module>assira.all</module>
+        <module>assira.archetype</module>
+  </modules>
+
+    <distributionManagement>
+        <repository>
+            <id>maven.ranides.net</id>
+            <name>maven.ranides.net</name>
+            <url>ftp://maven.ranides.net/</url>
+        </repository>
+    </distributionManagement>
+
+    <repositories>
+        <repository>
+            <id>ranides.net</id>
+            <name>ranides.net</name>
+            <url>http://maven.ranides.net</url>
+        </repository>
+    </repositories>
+
+    <build>
+        <extensions>
+            <extension>
+                <groupId>org.apache.maven.wagon</groupId>
+                <artifactId>wagon-ftp</artifactId>
+                <version>1.0</version>
+            </extension>
+        </extensions>
+
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
+                <configuration>
+                    <source>${maven.compiler.source}</source>
+                    <target>${maven.compiler.target}</target>
+                    <compilerArgument>-Xlint:unchecked</compilerArgument>
+                    <compilerArgument>-parameters</compilerArgument>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+                <version>2.2.1</version>
+                <executions>
+                    <execution>
+                        <id>attach-sources</id>
+                        <goals>
+                            <goal>jar-no-fork</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.9</version>
+                <executions>
+                    <execution>
+                        <id>javadocs-site</id>
+                        <phase>site</phase>
+                        <goals>
+                            <goal>javadoc</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <links>
+                        <link>http://docs.oracle.com/javase/7/docs/api/</link>
+                    </links>
+                    <version>true</version>
+                    <show>public</show>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-pmd-plugin</artifactId>
+                <version>3.5</version>
+                <configuration>
+                    <rulesets>
+                        <ruleset>rulesets/java/assira.xml</ruleset>
+                    </rulesets>
+                </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>net.ranides</groupId>
+                        <artifactId>assira.rules</artifactId>
+                        <version>${project.version}</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>0.7.5.201505241946</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>report</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>report</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.19.1</version>
+                <configuration>
+                    <systemPropertyVariables>
+                        <assira.junit.debug>${assira.junit.debug}</assira.junit.debug>
+                    </systemPropertyVariables>
+                    <testFailureIgnore>false</testFailureIgnore>
+                    <skip>false</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jxr-plugin</artifactId>
+                <version>2.3</version>
+            </plugin>
+        </plugins>
+    </build>
+
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.9</version>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jxr-plugin</artifactId>
+                <version>2.3</version>
+            </plugin>
+        </plugins>
+    </reporting>
+
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>net.ranides</groupId>
+                <artifactId>assira</artifactId>
+                <version>${project.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>net.ranides</groupId>
+                <artifactId>assira.asm</artifactId>
+                <version>5.0.4</version>
+            </dependency>
+            <dependency>
+                <groupId>net.ranides</groupId>
+                <artifactId>assira.junit</artifactId>
+                <version>${project.version}</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>4.12</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-api</artifactId>
+                <version>1.7.13</version>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-nop</artifactId>
+                <version>1.7.16</version>
+                <scope>compile</scope>
+            </dependency>
+            <dependency>
+                <groupId>org.slf4j</groupId>
+                <artifactId>slf4j-simple</artifactId>
+                <version>1.7.13</version>
+                <scope>test</scope>
+            </dependency>
+            <dependency>
+                <groupId>net.sourceforge.pmd</groupId>
+                <artifactId>pmd-java</artifactId>
+                <version>5.3.3</version>
+            </dependency>
+            <dependency>
+                <groupId>com.google.code.findbugs</groupId>
+                <artifactId>annotations</artifactId>
+                <version>3.0.1u2</version>
+                <scope>provided</scope>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.core</groupId>
+                <artifactId>jackson-core</artifactId>
+                <version>2.0.1</version>
+            </dependency>
+            <dependency>
+                <groupId>com.fasterxml.jackson.datatype</groupId>
+                <artifactId>jackson-datatype-json-org</artifactId>
+                <version>2.0.0</version>
+            </dependency>
+            <dependency>
+                <groupId>se.fishtank</groupId>
+                <artifactId>css-selectors</artifactId>
+                <version>2.0</version>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
 </project>