We do the same, except that instead of copying the repository manually, we configured the pom for the module that generates the repository to deploy the generated repository to Tomcat using the tomcat-maven-plugin:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.xxx.xxx</groupId>
<artifactId>com.xxx.xxx.YYY.parent</artifactId>
<version>1.3.0-SNAPSHOT</version>
</parent>
<artifactId>com.xxx.xxx.YYY.repository</artifactId>
<packaging>eclipse-repository</packaging>
<build>
<plugins>
<plugin>
<groupId>org.sonatype.tycho</groupId>
<artifactId>tycho-p2-publisher-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<publishArtifacts>true</publishArtifacts>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>exploded-install</id>
<phase>install</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
<execution>
<id>exploded-deploy</id>
<phase>deploy</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
<configuration>
<url>http://buildserver:8080/manager/text</url>
<path>/xxx-yyy-${project.version}</path>
<username>tomcatuser</username>
<password>tomcatpassword</password>
<warDirectory>target/repository</warDirectory>
<update>true</update>
<ignorePackaging>true</ignorePackaging>
</configuration>
</plugin>
</plugins>
</build>
</project>
Note that the tomcat-maven-plugin can only be used to deploy if the Tomcat server is on the same machine (or shares the same filesystem) as the build server. If you need to do it remotely, it can probably be done with more work (we are thinking of using the gmaven plugin to do an HTTP POST of the zipped repository).
For some reason, when the repository is already there, Tomcat sometimes undeploys the old one and will not deploy the new one. That is why we have two executions of the plugin (install and deploy phases). You might want to try a single execution and see if that works for you.
Hope this helps.
From: tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] On Behalf Of Helle, Guillaume
Sent: Wednesday, September 28, 2011 8:22 AM
To: hamza soussou; Tycho user list
Subject: Re: [tycho-user] Re : P2 hosted repository on Nexus
Thx for your response !
We are working in the same way…
No more response or solution from Sonatype? J
Guillaume
De : tycho-user-bounces@xxxxxxxxxxx [mailto:tycho-user-bounces@xxxxxxxxxxx] De la part de hamza soussou
Envoyé : lundi 26 septembre 2011 12:04
À : Tycho user list
Objet : [tycho-user] Re : P2 hosted repository on Nexus
To deploy my p2 repo I copy the generated repository to a a location under webapps directory of apache. this way, my team can have access to latest versions of the bundles.
In my case, repositories deployment is done through ant task (scp) within the pom.xml file.
De : "Helle, Guillaume" <guillaume.helle@xxxxxxxxxxxxx>
À : Tycho user list <tycho-user@xxxxxxxxxxx>; Tycho developers list <tycho-dev@xxxxxxxxxxx>
Envoyé le : Lundi 26 Septembre 2011 9h08
Objet : [tycho-user] P2 hosted repository on Nexus
I want use Nexus and Hudson to build my RCP applications and RCP plug-in…
I am using Tycho and in command line it works fine.
My plug-in go in my local repository with p2 xml files…
Now I want use Nexus to put my plug-in and work with my team…
On Nexus Pro there is only proxy/mirror p2 repositories, no hosted p2 repo…
So I don’t know how build my projects with Hudson and Nexus…
Perhaps I can use a webserver (Apache) with the root on my repository and use the p2 proxy on my webserver?
How I can build a p2 repository to share with my webserver?
Another idea is to share a repository on a file system where we deploy our artifact and use it as a mirror in our pom?
In this case perhaps I can use only Nexus OSS?
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is
intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to
read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message
in error, please notify the sender immediately and delete all copies of this message.
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user