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 /pom.xml | |
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>
Diffstat (limited to 'pom.xml')
-rw-r--r-- | pom.xml | 84 |
1 files changed, 84 insertions, 0 deletions
@@ -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> |