You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by cz...@apache.org on 2018/04/04 11:27:17 UTC

svn commit: r1828318 - /felix/trunk/pom/pom.xml

Author: cziegeler
Date: Wed Apr  4 11:27:17 2018
New Revision: 1828318

URL: http://svn.apache.org/viewvc?rev=1828318&view=rev
Log:
FELIX-5820 : Update parent pom

Modified:
    felix/trunk/pom/pom.xml

Modified: felix/trunk/pom/pom.xml
URL: http://svn.apache.org/viewvc/felix/trunk/pom/pom.xml?rev=1828318&r1=1828317&r2=1828318&view=diff
==============================================================================
--- felix/trunk/pom/pom.xml (original)
+++ felix/trunk/pom/pom.xml Wed Apr  4 11:27:17 2018
@@ -22,13 +22,14 @@
     <parent>
         <groupId>org.apache</groupId>
         <artifactId>apache</artifactId>
-        <version>17</version>
+        <version>19</version>
         <relativePath />
     </parent>
 
     <groupId>org.apache.felix</groupId>
     <artifactId>felix-parent</artifactId>
     <packaging>pom</packaging>
+
     <name>Apache Felix</name>
     <version>5-SNAPSHOT</version>
     <url>http://felix.apache.org/</url>
@@ -36,18 +37,19 @@
     <description>Apache Felix is a community effort to implement the OSGi Framework and Service platform and other interesting OSGi-related technologies.</description>
 
     <prerequisites>
-        <maven>3.0.5</maven>
+        <maven>3.5.0</maven>
     </prerequisites>
 
     <properties>
         <sourceReleaseAssemblyDescriptor>source-release-zip-tar</sourceReleaseAssemblyDescriptor>
 
         <!-- Default Java VM and API compatibility -->
-        <felix.java.version>5</felix.java.version>
-        <felix.java.signature.groupId>org.codehaus.mojo.signature</felix.java.signature.groupId>
+        <felix.java.version>7</felix.java.version>
         
         <!-- Default settings for the site plugins -->
         <site.javadoc.exclude>*.impl:*.internal:</site.javadoc.exclude>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
     </properties>
 
     <issueManagement>
@@ -99,51 +101,18 @@
         </pluginRepository>
     </pluginRepositories>
 
-    <dependencyManagement>
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <version>4.12</version>
-        </dependency>
-        <dependency>
-            <groupId>org.easymock</groupId>
-            <artifactId>easymock</artifactId>
-            <version>3.4</version>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <version>1.10.19</version>
-        </dependency>
-    </dependencies>
-    </dependencyManagement>
-
-    <!-- definitions for testing -->
-    <dependencies>
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.easymock</groupId>
-            <artifactId>easymock</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-all</artifactId>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
     <build>
         <pluginManagement>
             <plugins>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-enforcer-plugin</artifactId>
+                    <version>3.0.0-M1</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-project-info-reports-plugin</artifactId>
-                    <version>2.8</version>
+                    <version>2.9</version>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
@@ -158,48 +127,27 @@
                 <plugin>
                     <groupId>org.apache.rat</groupId>
                     <artifactId>apache-rat-plugin</artifactId>
-                    <version>0.11</version>
+                    <version>0.12</version>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-javadoc-plugin</artifactId>
-                    <version>2.10.3</version>
+                    <version>2.10.4</version>
                 </plugin>
                 <plugin>
                     <groupId>org.codehaus.mojo</groupId>
                     <artifactId>animal-sniffer-maven-plugin</artifactId>
-                    <version>1.14</version>
-    	            <configuration>
+                    <version>1.15</version>
+                    <configuration>
                         <signature>
-                            <groupId>${felix.java.signature.groupId}</groupId>
-                            <artifactId>${felix.java.signature.artifactId}</artifactId>
-                            <version>${felix.java.signature.version}</version>
+                            <groupId>org.codehaus.mojo.signature</groupId>
+                            <artifactId>java1${felix.java.version}</artifactId>
+                            <version>1.0</version>
                         </signature>
                     </configuration>
                 </plugin>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
-                    <artifactId>maven-antrun-plugin</artifactId>
-                    <version>1.8</version>
-                    <dependencies>
-                        <!-- declare dependencies here rather than where needed to
-                             circumvent http://jira.codehaus.org/browse/MANTRUN-51
-                        -->
-                        <dependency>
-                            <groupId>org.apache.ant</groupId>
-                            <artifactId>ant-apache-regexp</artifactId>
-                            <version>1.7.1</version>
-                            <scope>runtime</scope>
-                        </dependency>
-                        <dependency>
-                            <groupId>jakarta-regexp</groupId>
-                            <artifactId>jakarta-regexp</artifactId>
-                            <version>1.4</version>
-                        </dependency>
-                    </dependencies>
-                </plugin>
-                <plugin>
-                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-site-plugin</artifactId>
                     <version>3.3</version>
                 </plugin>
@@ -213,54 +161,41 @@
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-antrun-plugin</artifactId>
+                <artifactId>maven-enforcer-plugin</artifactId>
                 <executions>
+                     <execution>
+                        <id>enforce-property-values</id>
+                        <goals>
+                          <goal>enforce</goal>
+                        </goals>
+                        <configuration>
+                          <rules>
+                            <requireProperty>
+                              <property>felix.java.version</property>
+                              <regex>[6-9]</regex>
+                              <regexMessage>The property "felix.java.version" may only have one of the following values: 6, 7, 8 or 9.</regexMessage>
+                            </requireProperty>
+                          </rules>
+                        </configuration>
+                    </execution>
                     <execution>
-                        <id>set-bundle-required-execution-environment</id>
+                        <id>enforce-java</id>
                         <goals>
-                            <goal>run</goal>
+                            <goal>enforce</goal>
                         </goals>
-                        <phase>initialize</phase>
                         <configuration>
-                            <exportAntProperties>true</exportAntProperties>
-                            <target>
-                                <script language="javascript"> <![CDATA[
-                                    var System = java.lang.System;
-                                    var skipAnimalSniffer = false;
-                                    var animalSnifferSignaturesVersion = "1.0";
-                                    var animalSnifferSignaturesArtifactId = "java13-sun";
-
-                                    var felixJavaVersion = System.getProperty("felix.java.version");
-                                    if (!felixJavaVersion) {
-                                        felixJavaVersion = project.getProperty("felix.java.version");
-                                    }
-
-                                    if (felixJavaVersion == "4") {
-                                        animalSnifferSignaturesArtifactId = "java14-sun";
-                                    } else if (felixJavaVersion == "5") {
-                                        animalSnifferSignaturesArtifactId = "java15";
-                                    } else if (felixJavaVersion == "6") {
-                                        animalSnifferSignaturesArtifactId = "java16";
-										animalSnifferSignaturesVersion = "1.1";
-                                    } else if (felixJavaVersion == "7") {
-                                        animalSnifferSignaturesArtifactId = "java17";
-	                                } else if ( felixJavaVersion == "8") {
-                                        // there are no published signatures for Java 1.8, so skip execution. However, we also need a valid
-                                        // artifact in the signature, so fallback to the 1.7 signatures and skip checking entirely
-                                        // see also https://github.com/mojohaus/animal-sniffer/issues/1
-                                        animalSnifferSignaturesArtifactId = "java17";
-	                                    skipAnimalSniffer = true;
-	                                } else if ( felixJavaVersion != "3") {
-                                        System.out.println("Unsupported felix.java.version=" + felixJavaVersion + "; must be 3, 4, 5, 6, 7 or 8.");
-                                        throw "felix.java.version must be 3, 4, 5, 6, 7 or 8";
-                                    }
-	                                System.out.println("Using felix.java.version=" + felixJavaVersion);
-                                    project.setProperty("felix.bree", "JavaSE-1." + felixJavaVersion);
-                                    project.setProperty("felix.animal.sniffer.skip", skipAnimalSniffer);
-                                    project.setProperty("felix.java.signature.version", animalSnifferSignaturesVersion);
-                                    project.setProperty("felix.java.signature.artifactId", animalSnifferSignaturesArtifactId);
-                                ]]></script>
-                            </target>
+                            <rules>
+                                <!-- Require Java 7 or higher for building (as bnd since version 3.0 is built with Java 7) -->
+                                <requireJavaVersion>
+                                    <message>
+                                        Apache Felix must be compiled with Java 7 or higher
+                                    </message>
+                                    <version>1.7.0</version>
+                                </requireJavaVersion>
+                                <requireMavenVersion>
+                                    <version>3.5.0</version>
+                                </requireMavenVersion>
+                            </rules>
                         </configuration>
                     </execution>
                 </executions>
@@ -272,14 +207,6 @@
                     <excludePackageNames>${site.javadoc.exclude}</excludePackageNames>
                 </configuration>
             </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.${felix.java.version}</source>
-                    <target>1.${felix.java.version}</target>
-                </configuration>
-            </plugin>
            <plugin>
                 <groupId>org.apache.rat</groupId>
                 <artifactId>apache-rat-plugin</artifactId>
@@ -304,18 +231,6 @@
                     </excludes>
                 </configuration>
             </plugin>
-             <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>animal-sniffer-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>test</phase>
-                        <goals>
-                            <goal>check</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-release-plugin</artifactId>
@@ -360,6 +275,58 @@
     </build>
 
     <profiles>
+        <profile>
+            <id>jdk8-or-lower</id>
+            <activation>
+                <!-- syntax according to http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html -->
+                <jdk>(,9)</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <source>1.${felix.java.version}</source>
+                            <target>1.${felix.java.version}</target>
+                        </configuration>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>animal-sniffer-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>check</goal>
+                                </goals>
+                            </execution>
+                        </executions>
+                     </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>jdk9-or-higher</id>
+            <activation>
+                <!-- syntax according to http://maven.apache.org/enforcer/enforcer-rules/versionRanges.html -->
+                <jdk>[9,)</jdk>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-compiler-plugin</artifactId>
+                        <configuration>
+                            <!-- 
+                            release sets API classpath, source and target, see 
+                            https://docs.oracle.com/javase/9/tools/javac.htm#GUID-AEEC9F07-CB49-4E96-8BC7-BCC2C7F725C9__GUID-D343F6B4-3FDD-43A8-AD24-43DD70214471 
+                            and http://openjdk.java.net/jeps/247 -->
+                            <release>${felix.java.version}</release>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
         <!-- This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself. -->
         <profile>
             <id>only-eclipse</id>