diff options
author | Matthias Sohn <matthias.sohn@sap.com> | 2013-08-31 00:26:18 +0200 |
---|---|---|
committer | Matthias Sohn <matthias.sohn@sap.com> | 2013-09-04 16:06:02 +0200 |
commit | b97a35d7cfbcd70a7eae158f817bfbf7ea81a969 (patch) | |
tree | a75899d8cf7c0fcd9d5dc6d4c885648cb1f34ce3 | |
parent | 3eb05bec89674f069bfc3056b3507adffe41f3ed (diff) | |
download | jgit-b97a35d7cfbcd70a7eae158f817bfbf7ea81a969.tar.gz jgit-b97a35d7cfbcd70a7eae158f817bfbf7ea81a969.zip |
Update build to use CBI jarsigner plugin
The dash signing plugin has been retired hence we need to update our
build to use the CBI jarsigner plugin for signing build results.
Pack test classes to enable signing them.
Also re-enable pack200 for bundle org.eclipse.jgit.
WORKAROUND: there is no easy way to run tests with maven-surefire-plugin
from signed test-jar so for a quick workaround we will have to add a
build step on Hudson so that we can run tests before signing:
- first step will do "clean, verify" to compile and run tests
- second step will do "install, deploy" with profile "eclipse-sign" and
use -DskipTests=true to skip tests since they would hit a
SecurityException when unsigned test classes are in same package as
signed classes under test
- third step will do "clean, install, deploy" on packaging reactor to
build features and p2 repository with profile "eclipse-sign" to sign
and pack200 all bundles.
TODO: Tycho doesn't suport picking up pack200 artifacts via
pomDependencies hence we need to find a way to copy them manually and
use tycho-extra's tycho-p2-extras-plugin:publish-features-and-bundles
to generate the missing p2 metadata.
Change-Id: Iec2c5ab3027a3e3f9ecc0d2f99193385177d9025
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
-rw-r--r-- | org.eclipse.jgit.ant.test/pom.xml | 11 | ||||
-rw-r--r-- | org.eclipse.jgit.http.test/pom.xml | 11 | ||||
-rw-r--r-- | org.eclipse.jgit.java7.test/pom.xml | 19 | ||||
-rw-r--r-- | org.eclipse.jgit.packaging/pom.xml | 155 | ||||
-rw-r--r-- | org.eclipse.jgit.pgm.test/pom.xml | 19 | ||||
-rw-r--r-- | org.eclipse.jgit.test/pom.xml | 11 | ||||
-rw-r--r-- | org.eclipse.jgit/META-INF/eclipse.inf | 2 | ||||
-rw-r--r-- | pom.xml | 84 |
8 files changed, 305 insertions, 7 deletions
diff --git a/org.eclipse.jgit.ant.test/pom.xml b/org.eclipse.jgit.ant.test/pom.xml index b6717a25e7..82f45322ac 100644 --- a/org.eclipse.jgit.ant.test/pom.xml +++ b/org.eclipse.jgit.ant.test/pom.xml @@ -92,6 +92,17 @@ <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>-Xmx256m -Dfile.encoding=UTF-8</argLine> diff --git a/org.eclipse.jgit.http.test/pom.xml b/org.eclipse.jgit.http.test/pom.xml index 31382bcc6c..03fc6d8725 100644 --- a/org.eclipse.jgit.http.test/pom.xml +++ b/org.eclipse.jgit.http.test/pom.xml @@ -113,6 +113,17 @@ </testResources> <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>-Djava.io.tmpdir=${project.build.directory}</argLine> diff --git a/org.eclipse.jgit.java7.test/pom.xml b/org.eclipse.jgit.java7.test/pom.xml index c6b25d4ab8..2120db0844 100644 --- a/org.eclipse.jgit.java7.test/pom.xml +++ b/org.eclipse.jgit.java7.test/pom.xml @@ -105,10 +105,21 @@ <plugins> <plugin> - <artifactId>maven-surefire-plugin</artifactId> - <configuration> - <argLine>-Xmx256m -Dfile.encoding=UTF-8</argLine> - </configuration> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <argLine>-Xmx256m -Dfile.encoding=UTF-8</argLine> + </configuration> </plugin> </plugins> </build> diff --git a/org.eclipse.jgit.packaging/pom.xml b/org.eclipse.jgit.packaging/pom.xml index b52011133b..37d0fee4fe 100644 --- a/org.eclipse.jgit.packaging/pom.xml +++ b/org.eclipse.jgit.packaging/pom.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- - Copyright (C) 2009-2012, Matthias Sohn <matthias.sohn@sap.com> + Copyright (C) 2009, 2013, Matthias Sohn <matthias.sohn@sap.com> and other copyright owners as documented in the project's IP log. This program and the accompanying materials are made available @@ -60,8 +60,16 @@ <properties> <tycho-version>0.18.0</tycho-version> + <tycho-extras-version>0.18.0</tycho-extras-version> </properties> + <pluginRepositories> + <pluginRepository> + <id>repo.eclipse.org.cbi-releases</id> + <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url> + </pluginRepository> + </pluginRepositories> + <modules> <module>org.eclipse.jgit.target</module> <module>org.eclipse.jgit.feature</module> @@ -181,9 +189,154 @@ </environments> </configuration> </plugin> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-p2-plugin</artifactId> + <version>${tycho-version}</version> + </plugin> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200a-plugin</artifactId> + <version>${tycho-extras-version}</version> + </plugin> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200b-plugin</artifactId> + <version>${tycho-extras-version}</version> + </plugin> + <plugin> + <groupId>org.eclipse.cbi.maven.plugins</groupId> + <artifactId>eclipse-jarsigner-plugin</artifactId> + <version>1.0.4</version> + </plugin> </plugins> </pluginManagement> </build> + <profiles> + <profile> + <id>eclipse-sign</id> + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>target-platform-configuration</artifactId> + <configuration> + <includePackedArtifacts>true</includePackedArtifacts> + </configuration> + </plugin> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200a-plugin</artifactId> + <executions> + <execution> + <id>pack200-normalize</id> + <goals> + <goal>normalize</goal> + </goals> + <phase>verify</phase> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.eclipse.cbi.maven.plugins</groupId> + <artifactId>eclipse-jarsigner-plugin</artifactId> + <executions> + <execution> + <id>sign</id> + <goals> + <goal>sign</goal> + </goals> + <phase>verify</phase> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200b-plugin</artifactId> + <executions> + <execution> + <id>pack200-pack</id> + <goals> + <goal>pack</goal> + </goals> + <phase>verify</phase> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-p2-plugin</artifactId> + <executions> + <execution> + <id>p2-metadata</id> + <goals> + <goal>p2-metadata</goal> + </goals> + <phase>verify</phase> + </execution> + </executions> + <configuration> + <defaultP2Metadata>false</defaultP2Metadata> + </configuration> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>eclipse-pack</id> + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>target-platform-configuration</artifactId> + <configuration> + <includePackedArtifacts>true</includePackedArtifacts> + </configuration> + </plugin> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200a-plugin</artifactId> + <executions> + <execution> + <id>pack200-normalize</id> + <goals> + <goal>normalize</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200b-plugin</artifactId> + <executions> + <execution> + <id>pack200-pack</id> + <goals> + <goal>pack</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.eclipse.tycho</groupId> + <artifactId>tycho-p2-plugin</artifactId> + <executions> + <execution> + <id>p2-metadata</id> + <goals> + <goal>p2-metadata</goal> + </goals> + <phase>package</phase> + </execution> + </executions> + <configuration> + <defaultP2Metadata>false</defaultP2Metadata> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> </project> diff --git a/org.eclipse.jgit.pgm.test/pom.xml b/org.eclipse.jgit.pgm.test/pom.xml index 0c59b8d377..7906822e07 100644 --- a/org.eclipse.jgit.pgm.test/pom.xml +++ b/org.eclipse.jgit.pgm.test/pom.xml @@ -106,5 +106,24 @@ <build> <sourceDirectory>src/</sourceDirectory> <testSourceDirectory>tst/</testSourceDirectory> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <argLine>-Djava.io.tmpdir=${project.build.directory}</argLine> + </configuration> + </plugin> + </plugins> </build> </project> diff --git a/org.eclipse.jgit.test/pom.xml b/org.eclipse.jgit.test/pom.xml index 36eac88c59..85f7ff1cf3 100644 --- a/org.eclipse.jgit.test/pom.xml +++ b/org.eclipse.jgit.test/pom.xml @@ -134,6 +134,17 @@ <plugins> <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>test-jar</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> <artifactId>maven-surefire-plugin</artifactId> <configuration> <argLine>-Xmx256m -Dfile.encoding=UTF-8</argLine> diff --git a/org.eclipse.jgit/META-INF/eclipse.inf b/org.eclipse.jgit/META-INF/eclipse.inf deleted file mode 100644 index 8f39f72092..0000000000 --- a/org.eclipse.jgit/META-INF/eclipse.inf +++ /dev/null @@ -1,2 +0,0 @@ -jarprocessor.exclude.pack=true -jarprocessor.exclude.children=true
\ No newline at end of file @@ -194,6 +194,13 @@ </repository> </repositories> + <pluginRepositories> + <pluginRepository> + <id>repo.eclipse.org.cbi-releases</id> + <url>https://repo.eclipse.org/content/repositories/cbi-releases/</url> + </pluginRepository> + </pluginRepositories> + <build> <pluginManagement> <plugins> @@ -211,6 +218,9 @@ <Implementation-Vendor-URL>${jgit-url}</Implementation-Vendor-URL> </manifestEntries> </archive> + <!-- TODO: uncomment this in order to skip empty artifact of test modules as soon as bug 416299 is fixed + <skipIfEmpty>true</skipIfEmpty> + --> </configuration> </plugin> @@ -312,6 +322,22 @@ <minSeverity>info</minSeverity> </configuration> </plugin> + + <plugin> + <groupId>org.eclipse.cbi.maven.plugins</groupId> + <artifactId>eclipse-jarsigner-plugin</artifactId> + <version>1.0.4</version> + </plugin> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200a-plugin</artifactId> + <version>0.18.0</version> + </plugin> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200b-plugin</artifactId> + <version>0.18.0</version> + </plugin> </plugins> </pluginManagement> @@ -494,6 +520,64 @@ </plugins> </build> </profile> + <profile> + <id>eclipse-sign</id> + <build> + <plugins> + <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200a-plugin</artifactId> + <!-- TODO remove this configuration when https://git.eclipse.org/r/#/c/16027 is available --> + <configuration> + <supportedProjectTypes> + <supportedProjectType>jar</supportedProjectType> + </supportedProjectTypes> + </configuration> + <executions> + <execution> + <id>pack200-normalize</id> + <goals> + <goal>normalize</goal> + </goals> + <phase>verify</phase> + </execution> + </executions> + </plugin> +<!-- <plugin> + <groupId>org.eclipse.cbi.maven.plugins</groupId> + <artifactId>eclipse-jarsigner-plugin</artifactId> + <executions> + <execution> + <id>sign</id> + <phase>verify</phase> + <goals> + <goal>sign</goal> + </goals> + </execution> + </executions> + </plugin> +--> <plugin> + <groupId>org.eclipse.tycho.extras</groupId> + <artifactId>tycho-pack200b-plugin</artifactId> + <!-- TODO remove this configuration when https://git.eclipse.org/r/#/c/16027 is available --> + <configuration> + <supportedProjectTypes> + <supportedProjectType>jar</supportedProjectType> + </supportedProjectTypes> + </configuration> + <executions> + <execution> + <id>pack200-pack</id> + <goals> + <goal>pack</goal> + </goals> + <phase>verify</phase> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> </profiles> <modules> |