Make BND MANIFEST generation more robust.
[lgpl/argeo-commons.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 93900e68cfbeb59aca90f57d6f960cbda663f3b2..ab1b12f4975885e2d0cfe9f4675f077981a3bf0e 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -5,18 +5,20 @@
        <modelVersion>4.0.0</modelVersion>
        <groupId>org.argeo.commons</groupId>
        <artifactId>argeo-commons</artifactId>
-       <version>2.1.85-SNAPSHOT</version>
+       <version>2.1.86-SNAPSHOT</version>
        <name>Argeo Commons</name>
        <packaging>pom</packaging>
        <!-- <url>http://repo.argeo.org/data/docs/argeo-2.1/site/argeo-commons/</url> -->
        <properties>
-               <version.argeo-commons>2.1.85-SNAPSHOT</version.argeo-commons>
+               <version.argeo-commons>2.1.86-SNAPSHOT</version.argeo-commons>
                <version.argeo-tp>2.1.27</version.argeo-tp>
                <!-- RPM -->
                <argeo.rpm.release>7</argeo.rpm.release>
                <argeo.rpm.stagingRepository>/srv/rpmfactory/argeo-osgi-2/el7</argeo.rpm.stagingRepository>
                <!-- Encoding, see http://is.gd/mvn_source_encoding -->
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+               <!-- Timestamp -->
+               <maven.build.timestamp.format>yyyyMMddHHmmss</maven.build.timestamp.format>
                <project.scm.id>code.argeo.org</project.scm.id>
        </properties>
        <modules>
                <!-- Third Parties Extensions -->
                <module>org.argeo.ext.jackrabbit</module>
                <module>org.argeo.ext.equinox.jetty</module>
-               <!-- Legacy -->
-               <module>legacy</module>
                <!-- Distribution -->
                <module>maven</module>
                <module>dep</module>
                <module>demo</module>
                <module>doc</module>
                <module>dist</module>
-               <module>rcp</module>
        </modules>
        <scm>
                <connection>scm:git:http://git.argeo.org/apache2/argeo-commons.git</connection>
@@ -111,6 +110,9 @@ limitations under the License.
                                <excludes>
                                        <exclude>.*</exclude>
                                        <exclude>.*/**</exclude>
+                                       <!-- It is set explicitely in the jar plugin configuration. We don't 
+                                               copy it in order to avoid side-effects with BND -->
+                                       <exclude>META-INF/MANIFEST.MF</exclude>
                                        <exclude>src/**</exclude>
                                        <exclude>ext/**</exclude>
                                        <exclude>target/**</exclude>
@@ -167,16 +169,16 @@ limitations under the License.
                                <plugin>
                                        <artifactId>maven-clean-plugin</artifactId>
                                        <version>2.6.1</version>
-                                       <configuration>
-                                               <filesets>
-                                                       <fileset>
-                                                               <directory>META-INF</directory>
-                                                               <includes>
-                                                                       <include>MANIFEST.MF</include>
-                                                               </includes>
-                                                       </fileset>
-                                               </filesets>
-                                       </configuration>
+                                       <!-- <configuration> -->
+                                       <!-- <filesets> -->
+                                       <!-- <fileset> -->
+                                       <!-- <directory>META-INF</directory> -->
+                                       <!-- <includes> -->
+                                       <!-- <include>MANIFEST.MF</include> -->
+                                       <!-- </includes> -->
+                                       <!-- </fileset> -->
+                                       <!-- </filesets> -->
+                                       <!-- </configuration> -->
                                </plugin>
                                <plugin>
                                        <artifactId>maven-surefire-plugin</artifactId>
@@ -248,35 +250,31 @@ limitations under the License.
                                        <extensions>true</extensions>
                                        <configuration>
                                                <manifestLocation>META-INF</manifestLocation>
+                                               <niceManifest>true</niceManifest>
+                                               <noWarningProjectTypes>
+                                                       <noWarningProjectType>pom</noWarningProjectType>
+                                               </noWarningProjectTypes>
                                                <instructions>
                                                        <_include>bnd.bnd</_include>
-                                                       <Bundle-Version>${project.version}-r${tstamp}</Bundle-Version>
+                                                       <Bundle-Version>${project.version}-r${maven.build.timestamp}</Bundle-Version>
                                                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
-                                                       <Bundle-RequiredExecutionEnvironment>JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
+                                                       <Bundle-RequiredExecutionEnvironment>JavaSE-11,JavaSE-1.8</Bundle-RequiredExecutionEnvironment>
                                                        <_removeheaders>Bnd-LastModified,Build-Jdk,Built-By,Tool,Created-By</_removeheaders>
                                                        <Automatic-Module-Name>${project.artifactId}</Automatic-Module-Name>
                                                        <SLC-Category>${project.groupId}</SLC-Category>
+                                                       <SLC-Build-Timestamp>${maven.build.timestamp}</SLC-Build-Timestamp>
                                                        <!-- Git metadata -->
                                                        <!-- <SLC-Git-Commit-Id>${git.commit.id}</SLC-Git-Commit-Id> -->
                                                        <!-- <SLC-Git-Commit-Describe>${git.commit.id.describe}</SLC-Git-Commit-Describe> -->
                                                        <!-- <SLC-Git-Commit-Count>${git.closest.tag.commit.count}</SLC-Git-Commit-Count> -->
                                                </instructions>
                                        </configuration>
-                                       <executions>
-                                               <execution>
-                                                       <id>bundle-manifest</id>
-                                                       <phase>process-classes</phase>
-                                                       <goals>
-                                                               <goal>manifest</goal>
-                                                       </goals>
-                                               </execution>
-                                       </executions>
                                </plugin>
                                <!-- Codehaus -->
                                <plugin>
                                        <groupId>org.codehaus.mojo</groupId>
                                        <artifactId>rpm-maven-plugin</artifactId>
-                                       <version>2.1.4</version>
+                                       <version>2.2.0</version>
                                        <extensions>true</extensions>
                                        <configuration>
                                                <version>${project.version}</version>
@@ -302,19 +300,6 @@ limitations under the License.
                        </plugins>
                </pluginManagement>
                <plugins>
-                       <plugin>
-                               <artifactId>maven-clean-plugin</artifactId>
-                               <configuration>
-                                       <filesets>
-                                               <fileset>
-                                                       <directory>META-INF</directory>
-                                                       <includes>
-                                                               <include>MANIFEST.MF</include>
-                                                       </includes>
-                                               </fileset>
-                                       </filesets>
-                               </configuration>
-                       </plugin>
                        <!-- <plugin> -->
                        <!-- <groupId>pl.project13.maven</groupId> -->
                        <!-- <artifactId>git-commit-id-plugin</artifactId> -->
@@ -354,17 +339,51 @@ limitations under the License.
                                        </execution>
                                </executions>
                        </plugin>
+                       <!-- MANIFEST generation by BND -->
+                       <!-- <plugin> -->
+                       <!-- <artifactId>maven-clean-plugin</artifactId> -->
+                       <!-- <executions> -->
+                       <!-- <execution> -->
+                       <!-- <id>bundle-manifest-clean</id> -->
+                       <!-- <phase>process-classes</phase> -->
+                       <!-- <goals> -->
+                       <!-- <goal>clean</goal> -->
+                       <!-- </goals> -->
+                       <!-- <configuration> -->
+                       <!-- <excludeDefaultDirectories>true</excludeDefaultDirectories> -->
+                       <!-- <filesets> -->
+                       <!-- <fileset> -->
+                       <!-- <directory>META-INF</directory> -->
+                       <!-- <includes> -->
+                       <!-- <include>MANIFEST.MF</include> -->
+                       <!-- </includes> -->
+                       <!-- </fileset> -->
+                       <!-- </filesets> -->
+                       <!-- </configuration> -->
+                       <!-- </execution> -->
+                       <!-- </executions> -->
+                       <!-- </plugin> -->
+                       <plugin>
+                               <groupId>org.apache.felix</groupId>
+                               <artifactId>maven-bundle-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>bundle-manifest</id>
+                                               <phase>process-classes</phase>
+                                               <goals>
+                                                       <goal>manifest</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <!-- Releases -->
                        <plugin>
                                <artifactId>maven-release-plugin</artifactId>
                                <configuration>
                                        <goals>deploy</goals>
-                                       <releaseProfiles>rpmbuild,rpmbuild-tp</releaseProfiles>
+                                       <releaseProfiles>rpmbuild</releaseProfiles>
                                </configuration>
                        </plugin>
-                       <plugin>
-                               <groupId>org.apache.felix</groupId>
-                               <artifactId>maven-bundle-plugin</artifactId>
-                       </plugin>
                </plugins>
        </build>
        <dependencies>
@@ -414,7 +433,7 @@ limitations under the License.
                        <url>http://repo.argeo.org/data/java/argeo-2.1/</url>
                        <releases>
                                <enabled>true</enabled>
-                               <updatePolicy>daily</updatePolicy>
+                               <updatePolicy>never</updatePolicy>
                                <checksumPolicy>warn</checksumPolicy>
                        </releases>
                        <snapshots>
@@ -423,13 +442,13 @@ limitations under the License.
                </repository>
                <repository>
                        <id>argeo-snapshots</id>
-                       <url>file:///srv/javafactory/argeo-2.1</url>
+                       <url>http://snapshots.argeo.org/data/java/argeo-2.1/</url>
                        <releases>
                                <enabled>false</enabled>
                        </releases>
                        <snapshots>
                                <enabled>true</enabled>
-                               <updatePolicy>never</updatePolicy>
+                               <updatePolicy>always</updatePolicy>
                                <checksumPolicy>warn</checksumPolicy>
                        </snapshots>
                </repository>
@@ -440,7 +459,7 @@ limitations under the License.
                        <url>http://repo.argeo.org/data/java/argeo-2.1</url>
                        <releases>
                                <enabled>true</enabled>
-                               <updatePolicy>daily</updatePolicy>
+                               <updatePolicy>never</updatePolicy>
                                <checksumPolicy>warn</checksumPolicy>
                        </releases>
                        <snapshots>
@@ -449,13 +468,13 @@ limitations under the License.
                </pluginRepository>
                <pluginRepository>
                        <id>argeo-maven-plugins-snapshots</id>
-                       <url>file:///srv/javafactory/argeo-2.1</url>
+                       <url>http://snapshots.argeo.org/data/java/argeo-2.1/</url>
                        <releases>
                                <enabled>false</enabled>
                        </releases>
                        <snapshots>
                                <enabled>true</enabled>
-                               <updatePolicy>never</updatePolicy>
+                               <updatePolicy>always</updatePolicy>
                                <checksumPolicy>warn</checksumPolicy>
                        </snapshots>
                </pluginRepository>