[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[tycho-user] Features with root files from nexus -> root files missing
|
Hi all,
we have a problem building a RCP application consisting of some features
that contain root files. When we build locally everything works like
expected and the root files are included into the exported application.
When we deploy the features to nexus and then separately build the RCP
product (to get the already built features from nexus), the build
succeeds, but the root files of the features are missing.
I don't know at this point, if this is a failure in nexus P2 plugins, or
in tycho (or both).
After a short review of the code of nexus P2 plugins there seems to be
no handling for binary artifacts. But tycho is not asking for root
artifacts at all as can be seen in the log of nexus:
127.0.0.1 - - [15/Mai/2015:17:13:51 +0200] "GET
/nexus/content/repositories/snapshots/.meta/p2/plugins/example-bundle_0.1.0.201505151448.jar
HTTP/1.1" 200 61422
127.0.0.1 - - [15/Mai/2015:17:13:51 +0200] "GET
/nexus/content/repositories/snapshots/.meta/p2/features/example-feature-2_0.2.0.201505151448.jar
HTTP/1.1" 200 14231
127.0.0.1 - - [15/Mai/2015:17:13:51 +0200] "GET
/nexus/content/repositories/snapshots/.meta/p2/features/example-feature_0.1.0.201505151448.jar
HTTP/1.1" 200 14176
I tested it with the tycho RCP example.
Does anyone have an idea how to solve/fix the problem. Or can we think
of any workaround? What we need is to put some files into the directory
where RCP is materialized.
HOW TO REPRODUCE:
-----------------
Setup a nexus with P2 plugins activated for snapshot repository.
Take the RCP tycho example
(http://git.eclipse.org/c/tycho/org.eclipse.tycho-demo.git/tree/itp04-rcp)
and add some nexus distribution management lines to parent pom.xml:
<repositories>
<repository>
<id>local</id>
<layout>p2</layout>
<url>http://localhost:8081/nexus/content/repositories/snapshots/.meta/p2</url>
<releases>
<enabled>false</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
<distributionManagement>
<snapshotRepository>
<id>local</id>
<url>http://localhost:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
Than do following steps:
#initial build
dir: itp04-rcp
$ mvn install
-> works like expected. Complete RCP is installed in
eclipse-repository/target
#deployment to nexus
dir: itp04-rcp
$ mvn deploy
-> works like expected, all artifacts are deployed to nexus (including
example-feature_root zip file)
#cleanup of local artifacts
dir: itp04-rcp
$ mvn clean
$ remove "example" and "p2" directory from maven repository
(~user/.m2/repository/) to force download from nexus
#build product with artifacts from nexus
dir: itp04-rcp/eclipse-repository
$ mvn install
-> maven fetches the plugin and features from nexus. root files of
example-feature are missing in the product installation and the created
repo in /itp04-rcp/eclipse-repository/target
THX
Best regards,
Ingo