[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[tycho-user] Publishing artifacts to Nexus
|
Hi all,
We have setup a Maven + Tycho build for one of our OSGi based applications. We managed to make it build the required contents of a P2 repository that we can later add to a target platform definition in Eclipse.
However, we would also like to get the artifacts published to a Nexus repository. I am using a local version of Nexus 1.9.2.2 for testing.
Having the following mirror definition in .m2/settings.xml, I get some stuff published to the
http://localhost:8081/nexus/content/groups/public repository, but not our application's bundles. For instance, I can see there org.eclipse.tycho, commons-cli, commons-collections and many others.
<mirrors>
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>
http://localhost:8081/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<!--Enable snapshots for the built in central repo to direct -->
<!--all requests to nexus via the mirror -->
<repositories>
<repository>
<id>central</id>
<url>
http://localhost:8081/nexus/content/groups/public</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>
http://localhost:8081/nexus/content/groups/public</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
<distributionManagement>
<repository>
<id>central</id>
<layout>default</layout>
<name>Nexus</name>
<url>
http://localhost:8081/nexus/content/groups/public</url>
</repository>
</distributionManagement>
</profile>
</profiles>
<activeProfiles>
<!--make the profile active all the time -->
<activeProfile>nexus</activeProfile>
</activeProfiles>
Also, for every bundle that is built, I see the following log message:
[DEBUG] Ignoring Maven repository nexus (
http://localhost:8081/nexus/content/groups/public)
Adding the following to the parent bundle/pom.xml will copy the artifacts to the specified directory on my machine:
<distributionManagement>
<repository>
<id>central</id>
<layout>default</layout>
<name>Nexus</name>
<url>file://d:/test00</url>
</repository>
</distributionManagement>
However, after modifying ( <url>
http://localhost:8081/nexus/content/groups/public</url> ) it to publish to the Nexus repository I get the exception below:
....................................................................................
Caused by: org.sonatype.aether.transfer.ArtifactTransferException: Could not transfer artifact ....parent:pom:1.0.0-20111004.183056-1 from/to central (
http://localhost:8081/nexus/content/groups/public): Failed to transfer
http://localhost:8081/nexus/content/groups/public/com/spectraseis/riocad/com.spectraseis.riocad.parent/1.0.0-SNAPSHOT/com.spectraseis.riocad.parent-1.0.0-20111004.183056-1.pom. Error code 400, Bad Request
at org.sonatype.aether.connector.async.AsyncRepositoryConnector$3.wrap(AsyncRepositoryConnector.java:1426)
at org.sonatype.aether.connector.async.AsyncRepositoryConnector$3.wrap(AsyncRepositoryConnector.java:1417)
at org.sonatype.aether.connector.async.AsyncRepositoryConnector$PutTask.flush(AsyncRepositoryConnector.java:1065)
at org.sonatype.aether.connector.async.AsyncRepositoryConnector.put(AsyncRepositoryConnector.java:337)
at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:278)
... 25 more
Any help is much appreciated.
Regards,
Dan