Remove superfluous junit API link
[odlparent.git] / odlparent-lite / pom.xml
index 7d217431c043aa56b3efb7d4259b434e7cb8dba0..2337da55d86fcf45b9b63cf131c6e3f4f70f11cb 100644 (file)
@@ -7,7 +7,8 @@
  terms of the Eclipse Public License v1.0 which accompanies this distribution,
  and is available at http://www.eclipse.org/legal/epl-v10.html
 -->
-<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">
+<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>
 
   <!--
@@ -17,7 +18,7 @@
 
   <groupId>org.opendaylight.odlparent</groupId>
   <artifactId>odlparent-lite</artifactId>
-  <version>1.8.0-SNAPSHOT</version>
+  <version>5.0.0-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>ODL :: odlparent :: ${project.artifactId}</name>
 
@@ -41,8 +42,8 @@
   </organization>
 
   <issueManagement>
-    <system>Bugzilla</system>
-    <url>https://bugs.opendaylight.org/</url>
+    <system>JIRA</system>
+    <url>https://jira.opendaylight.org/</url>
   </issueManagement>
 
   <ciManagement>
     </developer>
   </developers>
 
-  <prerequisites>
-    <!-- This is only used to prevent building with Maven < 3 and to appease
-         maven-dependency-plugin; our real Maven requirement is enforced by
-         the enforcer plugin. -->
-    <maven>3.0.5</maven>
-  </prerequisites>
-
   <properties>
     <nexusproxy>https://nexus.opendaylight.org/content</nexusproxy>
 
 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+
+    <!-- This version property instead of just direct version in pluginManagement is the exception that confirms the rule
+         and is required so that downstream users of the archetype-packaging extension can use this (and get the same version
+         as the maven-archetype-plugin), because there is no "extensionManagement" in Maven -->
+    <maven.archetype.plugin.version>3.0.1</maven.archetype.plugin.version>
+
+    <!-- This property allows deployments to be skipped in child modules -->
+    <maven.deploy.skip>false</maven.deploy.skip>
+
+    <!-- This property allows installations to be skipped in child modules -->
+    <maven.install.skip>false</maven.install.skip>
+
+    <!-- Used in neutron, ovsdb -->
+    <jacoco.version>0.8.3</jacoco.version>
   </properties>
 
   <build>
     <pluginManagement>
       <plugins>
+        <plugin>
+          <artifactId>maven-archetype-plugin</artifactId>
+          <version>${maven.archetype.plugin.version}</version>
+        </plugin>
         <plugin>
           <artifactId>maven-clean-plugin</artifactId>
-          <version>3.0.0</version>
+          <version>3.1.0</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-dependency-plugin</artifactId>
+          <version>3.1.1</version>
         </plugin>
         <plugin>
           <artifactId>maven-deploy-plugin</artifactId>
           <version>2.8.2</version>
+          <configuration>
+            <skip>${maven.deploy.skip}</skip>
+          </configuration>
         </plugin>
         <plugin>
           <artifactId>maven-help-plugin</artifactId>
-          <version>2.2</version>
+          <version>3.1.1</version>
         </plugin>
         <plugin>
           <artifactId>maven-install-plugin</artifactId>
           <version>2.5.2</version>
+          <configuration>
+            <skip>${maven.install.skip}</skip>
+          </configuration>
         </plugin>
         <plugin>
           <artifactId>maven-javadoc-plugin</artifactId>
-          <version>2.10.4</version>
-          <configuration>
+          <!-- FIXME: when bumping to 3.1.0 review javadoc-links profile -->
+          <version>3.0.1</version>
+          <configuration combine.children="append">
             <!-- Keep things quiet except for warnings/errors -->
             <quiet>true</quiet>
             <tags>
         </plugin>
         <plugin>
           <artifactId>maven-project-info-reports-plugin</artifactId>
-          <version>2.9</version>
+          <version>3.0.0</version>
         </plugin>
         <plugin>
           <artifactId>maven-release-plugin</artifactId>
         </plugin>
         <plugin>
           <artifactId>maven-site-plugin</artifactId>
-          <version>3.5.1</version>
+          <version>3.7.1</version>
           <configuration>
             <asciidoc>
               <attributes>
             </asciidoc>
           </configuration>
           <dependencies>
-            <dependency>
-              <!-- Downgrade Velocity; the Asciidoctor templates don't work with Velocity 1.7 -->
-              <!-- See https://maven.apache.org/plugins/maven-site-plugin/migrate.html -->
-              <groupId>org.apache.velocity</groupId>
-              <artifactId>velocity</artifactId>
-              <version>1.5</version>
-            </dependency>
-            <dependency>
-              <groupId>org.apache.maven.doxia</groupId>
-              <artifactId>doxia-core</artifactId>
-              <version>1.7</version>
-            </dependency>
             <dependency>
               <groupId>org.asciidoctor</groupId>
               <artifactId>asciidoctor-maven-plugin</artifactId>
-              <version>1.5.3</version>
+              <version>1.5.7.1</version>
             </dependency>
             <dependency>
               <groupId>org.asciidoctor</groupId>
               <artifactId>asciidoctorj-diagram</artifactId>
-              <version>1.3.1</version>
+              <version>1.5.12</version>
             </dependency>
           </dependencies>
         </plugin>
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>exec-maven-plugin</artifactId>
-          <version>1.5.0</version>
+          <version>1.6.0</version>
         </plugin>
         <plugin>
           <groupId>org.codehaus.mojo</groupId>
             </execution>
           </executions>
         </plugin>
+        <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>versions-maven-plugin</artifactId>
+          <version>2.7</version>
+        </plugin>
         <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
         <plugin>
           <groupId>org.eclipse.m2e</groupId>
                     </goals>
                   </pluginExecutionFilter>
                   <action>
-                    <ignore/>
+                    <ignore />
                   </action>
                 </pluginExecution>
               </pluginExecutions>
             </lifecycleMappingMetadata>
           </configuration>
         </plugin>
+        <plugin>
+          <groupId>org.jacoco</groupId>
+          <artifactId>jacoco-maven-plugin</artifactId>
+          <version>${jacoco.version}</version>
+        </plugin>
       </plugins>
     </pluginManagement>
 
     <plugins>
       <plugin>
         <artifactId>maven-enforcer-plugin</artifactId>
-        <version>1.4.1</version>
+        <version>3.0.0-M2</version>
         <executions>
           <execution>
             <id>enforce-maven</id>
                   <version>1.8.0</version>
                 </requireJavaVersion>
                 <requireMavenVersion>
-                  <version>[3.3.9,)</version>
+                  <version>[3.5.0,)</version>
                 </requireMavenVersion>
               </rules>
             </configuration>
       <plugin>
         <groupId>pl.project13.maven</groupId>
         <artifactId>git-commit-id-plugin</artifactId>
-        <version>2.2.1</version>
+        <version>2.2.6</version>
         <executions>
           <execution>
             <id>get-git-infos</id>
              while you typed the code anyway.  Similarly, if you wrote a test, you'll probably already have compiled and run it
              from your IDE, so when you want the OSGi bundle JAR for Karaf, ASAP, you typically don't want all that to run again.
           -->
-        <id>q</id>
-        <properties>
-            <skipTests>true</skipTests>
+      <id>q</id>
+      <properties>
+        <skipTests>true</skipTests>
             <!-- But NOT <maven.test.skip>true, as that's for compiling, not running, tests;
                  and that's usually quick.  Skipping test compilation with -Pq with maven.test.skip would be
                  particularly confusing when used in a project with maven-jar-plugin <goal>test-jar, so don't.)  -->
-            <skipIT>true</skipIT>
-            <skipITs>true</skipITs>
-            <skip.karaf.featureTest>true</skip.karaf.featureTest>
-            <jacoco.skip>true</jacoco.skip>
-            <maven.javadoc.skip>true</maven.javadoc.skip>
-            <maven.source.skip>true</maven.source.skip>
-            <checkstyle.skip>true</checkstyle.skip>
-            <findbugs.skip>true</findbugs.skip>
-            <pmd.skip>true</pmd.skip>
-            <cpd.skip>true</cpd.skip>
-            <maven.site.skip>true</maven.site.skip>
-            <invoker.skip>true</invoker.skip>
-            <enforcer.skip>true</enforcer.skip>
-            <mdsal.skip.verbose>true</mdsal.skip.verbose> <!-- Bug 6236 -->
-        </properties>
-        <build>
-          <plugins>
-            <plugin>
-              <groupId>pl.project13.maven</groupId>
-              <artifactId>git-commit-id-plugin</artifactId>
-              <configuration>
-                <skip>true</skip>
-              </configuration>
-            </plugin>
-          </plugins>
-        </build>
+        <skipIT>true</skipIT>
+        <skipITs>true</skipITs>
+        <skip.karaf.featureTest>true</skip.karaf.featureTest>
+        <jacoco.skip>true</jacoco.skip>
+        <maven.javadoc.skip>true</maven.javadoc.skip>
+        <maven.source.skip>true</maven.source.skip>
+        <checkstyle.skip>true</checkstyle.skip>
+        <spotbugs.skip>true</spotbugs.skip>
+        <pmd.skip>true</pmd.skip>
+        <cpd.skip>true</cpd.skip>
+        <maven.site.skip>true</maven.site.skip>
+        <invoker.skip>true</invoker.skip>
+        <enforcer.skip>true</enforcer.skip>
+        <duplicate-finder.skip>true</duplicate-finder.skip>
+        <mdsal.skip.verbose>true</mdsal.skip.verbose> <!-- Bug 6236 -->
+        <maven.gitcommitid.skip>true</maven.gitcommitid.skip>
+        <modernizer.skip>true</modernizer.skip>
+      </properties>
     </profile>
     <profile>
       <!-- http://blog2.vorburger.ch/2016/06/maven-install-into-additional.html
         </plugins>
       </reporting>
     </profile>
+    <profile>
+      <!-- Javadocs with links -->
+      <id>javadoc-links</id>
+        <activation>
+          <property>
+            <name>odlparent.javadoc-links</name>
+          </property>
+        </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <configuration combine.children="append">
+              <!-- FIXME: these links do not have a trailing slash as a workaround for
+                          https://issues.apache.org/jira/browse/MJAVADOC-532 -->
+              <links>
+                <link>https://junit.org/junit4/javadoc/4.11</link>
+                <link>http://hamcrest.org/JavaHamcrest/javadoc/2.1</link>
+                <link>http://google.github.io/truth/api/0.43</link>
+                <link>https://www.slf4j.org/apidocs</link>
+                <link>https://xerces.apache.org/xerces2-j/javadocs/api</link>
+                <link>https://google.github.io/guava/releases/25.1-jre/api/docs</link>
+                <link>http://doc.akka.io/japi/akka/2.5.21</link>
+                <link>http://netty.io/4.1/api</link>
+                <link>https://commons.apache.org/proper/commons-lang/javadocs/api-2.6</link>
+                <link>https://commons.apache.org/proper/commons-lang/javadocs/api-3.8.1</link>
+                <link>https://commons.apache.org/proper/commons-codec/apidocs</link>
+              </links>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <!-- On JDK9-and-later specify html4 javadoc, if requested-->
+      <id>jdk9-javadoc</id>
+      <activation>
+        <jdk>[9,)</jdk>
+        <file>
+          <exists>odl-javadoc-html5-optout</exists>
+        </file>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <artifactId>maven-javadoc-plugin</artifactId>
+            <configuration combine.children="append">
+              <additionalOptions>
+                <additionalOption>-html4</additionalOption>
+              </additionalOptions>
+            </configuration>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+
+    <profile>
+      <!-- Disable plugins which are not useful for sonar -->
+      <id>sonar-only</id>
+      <activation>
+        <property>
+          <name>sonar</name>
+        </property>
+      </activation>
+      <properties>
+        <checkstyle.skip>true</checkstyle.skip>
+        <duplicate-finder.skip>true</duplicate-finder.skip>
+        <skip.karaf.featureTest>true</skip.karaf.featureTest>
+        <maven.javadoc.skip>true</maven.javadoc.skip>
+        <maven.source.skip>true</maven.source.skip>
+      </properties>
+    </profile>
   </profiles>
 
   <distributionManagement>