Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tycho-user] How to include pack200'ed artifacts from non-Tycho build in eclipse-repository?

Hi all,

I have (or rather the Eclipse Aether project, which I am trying to help
out here, has) a build that's split into two parts, i.e., two separate
reactors:

- Part 1 uses the bundle-maven-plugin to create its JARs (primary
artifact and attached sources JAR)

- Part 2 uses Tycho to consume these JARs from the local repository in
eclipse-feature and eclipse-repository projects.

This works [1, 2]. What does not work, alas, is the inclusion of
pack200'ed JARs in the eclipse-repository.

I tried the following to enrich the local Maven repository with enough
Tycho-specific metadata so that the tycho-p2-repository-plugin can pick
up the .jar.pack.gz files present there, but to no avail:

 <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>
   <version>${tychoVersion}</version>
   <executions>
     <execution>
       <id>p2-metadata</id>
       <goals>
         <goal>p2-metadata</goal>
       </goals>
       <phase>package</phase>
       <configuration>
         <supportedProjectTypes>
           <!-- Dubious, but necessary to install *p2metadata.xml -->
           <supportedProjectType>jar</supportedProjectType>
         </supportedProjectTypes>
       </configuration>
     </execution>
     <!-- Not sure whether this is needed -->
     <execution>
       <id>update-local-index</id>
       <goals>
         <goal>update-local-index</goal>
       </goals>
       <phase>install</phase>
     </execution>
   </executions>
 </plugin>

With the above, the Part 1 build installs the following files into the
local repository:

 aether-api-1.0.0-SNAPSHOT-p2artifacts.xml
 aether-api-1.0.0-SNAPSHOT-p2metadata.xml
 aether-api-1.0.0-SNAPSHOT-pack200.jar.pack.gz
 aether-api-1.0.0-SNAPSHOT-sources.jar
 aether-api-1.0.0-SNAPSHOT.jar
 aether-api-1.0.0-SNAPSHOT.pom

Now, the question is how to get the tycho-p2-repository-plugin to pick
them up? The target-platform-configuration plugin's
includePackedArtifacts parameter sounded promising, but didn't do the trick.

Any hints?

Andreas

[1] <http://git.eclipse.org/c/aether/aether-core.git/>
[2] <http://git.eclipse.org/c/aether/aether-update-site.git/>
-- 
Codetrails UG (haftungsbeschränkt)
The knowledge transfer company

Robert-Bosch-Str. 7, 64293 Darmstadt
Mobile: +49-170-811-3791
http://www.codetrails.com/

Managing Director: Dr. Marcel Bruch
Handelsregister: Darmstadt HRB 91940


Back to the top