[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [tycho-user] Deploy p2 updatesites to nexus
 | 
Hi Simon,
You would still have a hosted repository, it just seems easier/neater to 
deploy a single ZIP file of the p2 repo from a Maven build than the 
solution of manual uploading of each artifact via shell script?
What you have described for the conversion to a p2 site seems logical, 
you can find an example of a POM that uses basic Maven dependencies to 
build a p2 site from it here: 
https://github.com/skosmalla/generate-p2-repository-from-maven-artifacts/blob/master/pom.xml
Irene
On 21-Jan-15 10:21, Simon Scholz wrote:
Thank you for your reply Irene,
I also had a look at the Nexus_Unzip_Plugin before, but I do not see a 
real benefit compared to a hosted Repository on Nexus, where I just 
upload by p2 updatesite artifacts directly.
How do you obtain your 3rd party non OSGi bundles and convert them in 
order to deploy them to Nexus afterwards?
Does an automated process for this issue exist?
I mean an automated solution where I can just place my non OSGi 
dependencies in a pom file and just run a build on Jenkins, in order 
to get OSGi converted JARs and a p2 updatesite on my Nexus Repository?
Thanks in advance,
Simon
On 21.01.2015 08:15, Irene Wang wrote:
Hello Simon,
We have just put in place a solution using the Nexus unzip plugin 
that is working quite well for us. You install the 
unzip-repository-plugin into your Nexus instance to add the 
functionality to access zipped p2 repositories deployed to Nexus as a 
p2 site.
After you have generated a p2 repository using your chosen method, 
you can deploy this site as a ZIP artifact to your Nexus repository. 
Add a virtual repository that uses the Unzip Repository Provider on 
the repository to which you deployed your ZIP, and you can point to 
the unzipped version at another URL as an HTTP site, e.g. 
http://<nexus>:8081/nexus/content/unzip/P2UnzipVirtualRepository/<groupId>/p2-repo-artifact/1.0.0-SNAPSHOT/p2-repo-artifact-1.0.0-SNAPSHOT.zip-unzip/.
Here is the doc: https://wiki.eclipse.org/Tycho/Nexus_Unzip_Plugin
You can find out which version corresponds to your Nexus version here:
https://wiki.eclipse.org/Tycho/Unzip_Plugin_Release_Notes/0.11
You can get the plugin artifact here (install the bundle.zip version 
into your Nexus plugin-repository):
http://search.maven.org/#search|gav|1|g%3A%22org.eclipse.tycho.nexus%22%20AND%20a%3A%22unzip-repository-plugin%22 
Hope this helps,
Irene
On 2015-01-20 11:58 PM, Simon Scholz wrote:
Dear tycho-users,
I am currently trying to establish a satisfying solution to generate 
a p2 updatesite of non OSGi bundles on Nexus OSS.
Therefore I am using the p2-maven-plugin 
(https://github.com/reficio/p2-maven-plugin) and define my non OSGi 
dependencies in the pom.xml, which uses the p2-maven-plugin.
When building this by using "mvn p2:site", all non OSGi dependencies 
are converted to OSGi bundles and a p2 updatesite, containing these 
bundles, is created. This updatesite can be found in the "target > 
repository" folder of the project. After the creation, I want to 
host this p2 updatesite on my Nexus OSS repository, so that I can 
reference this updatesite in my target definition and in the parent 
pom for my tycho build as repository.
    <repositories>
        <repository>
            <id>third-party-osgi</id>
<url>http://localhost:8081/nexus/content/sites/3rd_party_p2_updatesite/</url> 
            <layout>p2</layout>
        </repository>
    </repositories>
In order to archive this I am currently using a shell script, which 
traverses the "target > repository" folder und upload all 
updatesite's artifacts, which have been created by the 
p2-maven-plugin, to a certain Nexus repository by using curl and the 
REST API of Nexus OSS.
This solution actually works, but I am wondering, if it could be 
improved or if better alternative solutions already exists.
Therefore I have some questions:
Do you have any comments concerning the solution I just explained?
Are there any issues I could face with this solution?
Do other, better solutions exist to provide non OSGi 3rd party 
libraries for a Tycho build?
In case you like my solution and have no complains concerning it, I 
am willing blog about it so that you can get more details.
Please also do not hesitate to ask for more details, if something is 
not clear concerning my proposed solution.
Thanks in advance,
Simon
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or 
unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/tycho-user