HONEYCOMB-21 Vpp-integration minimal distribution
[honeycomb.git] / common / impl-parent / pom.xml
index c5b95f0..4cce01f 100644 (file)
@@ -19,7 +19,7 @@
   <parent>
     <groupId>org.opendaylight.controller</groupId>
     <artifactId>config-parent</artifactId>
-    <version>0.4.0-SNAPSHOT</version>
+    <version>0.4.2-Beryllium-SR2</version>
     <relativePath/>
   </parent>
 
   <properties>
     <checkstyle.header.file>APACHE_HEADER.txt</checkstyle.header.file>
     <nexusproxy>http://nexus.fd.io/content</nexusproxy>
+    <guice.version>4.1.0</guice.version>
+    <guice.config.version>1.2.0</guice.config.version>
   </properties>
 
   <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-checkstyle-plugin</artifactId>
+          <configuration>
+            <!-- Override checkstyle configuration to fit Honeycomb coding style-->
+            <configLocation>honeycomb-checkstyle.xml</configLocation>
+            <includeTestResources>true</includeTestResources>
+            <!--TODO enable fail on violation after issues are resolved + set in as errors in checkstyle xml-->
+          </configuration>
+          <executions>
+
+            <!-- Override license check configuration to fit Honeycomb coding style-->
+            <execution>
+              <id>check-license</id>
+              <goals>
+                <goal>check</goal>
+              </goals>
+              <phase>process-sources</phase>
+              <configuration>
+                <headerLocation>HONEYCOMB_LICENSE.txt</headerLocation>
+                <failOnViolation>true</failOnViolation>
+                <failsOnError>true</failsOnError>
+                <outputFile>${project.build.directory}/checkstyle-license-result.xml</outputFile>
+              </configuration>
+            </execution>
+
+            <!-- Add logging checks from yangtools -->
+            <execution>
+              <id>check-logging</id>
+              <goals>
+                <goal>check</goal>
+              </goals>
+              <phase>process-sources</phase>
+              <configuration>
+                <failOnViolation>true</failOnViolation>
+                <configLocation>honeycomb-checkstyle-logging.xml</configLocation>
+                <consoleOutput>true</consoleOutput>
+                <includeTestSourceDirectory>true</includeTestSourceDirectory>
+                <sourceDirectory>${project.basedir}</sourceDirectory>
+                <includes>**\/*.java,**\/*.xml,**\/*.ini,**\/*.sh,**\/*.bat,**\/*.yang</includes>
+                <excludes>**\/target\/,**\/bin\/,**\/target-ide\/,**\/src/main/yang-gen-config\/,**\/src/main/yang-gen-sal\/,**\/src/main/xtend-gen\/,**\/src/main/yang\/</excludes>
+                <outputFile>${project.build.directory}/checkstyle-logging-result.xml</outputFile>
+              </configuration>
+            </execution>
+            <execution>
+              <goals>
+                <goal>check</goal>
+              </goals>
+              <phase>process-sources</phase>
+            </execution>
+          </executions>
+          <dependencies>
+            <dependency>
+              <groupId>io.fd.honeycomb.common</groupId>
+              <artifactId>honeycomb-checkstyle</artifactId>
+              <version>${project.version}</version>
+            </dependency>
+            <!-- Necessary for logging checks -->
+            <dependency>
+              <groupId>org.opendaylight.yangtools</groupId>
+              <artifactId>checkstyle-logging</artifactId>
+              <version>${yangtools.version}</version>
+            </dependency>
+          </dependencies>
+        </plugin>
+        <!-- Deactivate strict java8 checks -->
+        <!-- FIXME fix all the javadoc offenders of doclint -->
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-javadoc-plugin</artifactId>
+          <configuration>
+            <additionalparam>-Xdoclint:none</additionalparam>
+          </configuration>
+        </plugin>
+      </plugins>
+    </pluginManagement>
     <plugins>
       <plugin>
         <artifactId>maven-checkstyle-plugin</artifactId>
-        <version>${checkstyle.version}</version>
-        <executions>
-          <execution>
-            <id>check-license</id>
-            <goals>
-              <goal>check</goal>
-            </goals>
-            <phase>none</phase>
-          </execution>
-        </executions>
       </plugin>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <configuration>
+          <!-- Use google's error-prone static analysis-->
+          <compilerId>javac-with-errorprone</compilerId>
+          <forceJavacCompilerUse>true</forceJavacCompilerUse>
+          <showWarnings>true</showWarnings>
+          <source>1.8</source>
+          <target>1.8</target>
+        </configuration>
+        <dependencies>
+          <dependency>
+            <groupId>org.codehaus.plexus</groupId>
+            <artifactId>plexus-compiler-javac-errorprone</artifactId>
+            <version>2.5</version>
+          </dependency>
+          <!-- override plexus-compiler-javac-errorprone's dependency on
+               Error Prone with the latest version -->
+          <dependency>
+            <groupId>com.google.errorprone</groupId>
+            <artifactId>error_prone_core</artifactId>
+            <version>2.0.9</version>
+          </dependency>
+        </dependencies>
+      </plugin>
     </plugins>
   </build>