score:3
Maybe this is a bit late, but I am currently working on an open source (EPL) repository manager which supports the workflow of deploying to a repository with maven and tycho, and consuming it as P2 repository.
It is also possible to deploy bundles created by maven (not maven tycho) and the P2 metadata will be generated automatically.
The project is called "Package Drone" and hosted on github. There is also a short introduction video.
score:9
With the Unzip Repository Nexus Plugin, you can use Nexus for exchanging binary artifacts between Tycho builds.
Tycho project A publishes its artifacts like a normal Maven project: The project is built with
mvn clean deploy
, which uploads the project's artifacts into your deploy Maven repository on the Nexus. The only special requirement is that the project builds a p2 repository. The recommended way to do this is aneclipse-repository
module, but a "deployable feature" should also work in most cases.On your Nexus, you only need the following one-time configuration: For the deploy Maven repository (or a "Repository Group" which includes that repository), you need to add a virtual repository of type "Unzip Repository". This virtual repository shows zip artifacts from the deploy repository in unpacked form.
Example: If the p2 repository zip of project A is in the deploy Maven repository at
http://nexus.corp/nexus/repositories/build.milestones/corp/example/project-a/project-a-repo/1.0.0/project-a-repo-1.0.0.zip
, it will be available in standard p2 repository format in the Unzip Repository athttp://nexus.corp/nexus/repositories/build.milestones.unzip/corp/example/project-a/project-a-repo/1.0.0/project-a-repo-1.0.0.zip-unzip/
.Tycho project B can reference the artifacts from project A by adding the latter URL to its target platform, e.g. in a target definition file.
In the above example, project B references a release version of project A. The same approach also works for snapshots because the Unzip Repository has support for "symbolic" versions, like 1.1.0-SNAPSHOT
for the last deployed 1.1.0-SNAPSHOT or even just SNAPSHOT
for the overall highest version. Using these symbolic versions, Project B can then, for example in its own CI build, reference the CI build results project A by adding the resulting (stable!) p2 repository URLs in its target platform.
Disclaimer: The Unzip Repository Nexus Plugin is part of the Tycho project, of which I'm a committer.
Source: stackoverflow.com
Related Query
- Tool for managing/hosting own p2 repositories?
- In Spring Tool Suite how can I create another scheme for my own key bindings
- Any good SVN tool for eclipse to manage multiple repositories at once?
- Multiple Git repositories for each Eclipse project or one Git repository
- IntelliJ vs STS (SpringSource Tool Suite), what am I missing by using one or the other and can I make them feature equivalent for comparsion?
- Add Maven repositories for a project in Eclipse?
- Why is the merge tool disabled in Eclipse for a EGit-managed project?
- UML tool for reverse engineering an eclipse project
- Need UML reverse engineering tool for Java project
- What's a good free tool for investigating unintentional object retention in Java?
- how to import correctly the commons.apache.math libraries for my own project
- Which is the definitive profiling tool for Eclipse 3.7?
- How to get the tool id for eclipse headless build
- Is there a refactoring tool for Eclipse better than the built in one?
- Eclipse plugin or a Open source tool to reverse engineer java code for sequence diagram
- Is there a good "OCaml Browser" tool for Linux?
- How do I programmatically change the Eclipse CDT tool settings for a file?
- Eclipse external tool for Qt .ui to .py with pyuic
- Where can I download Groovy Grails Tool Suite version 3.5.1 for Windows?
- Error occured during initialization of VM, Could not reserve enough space for object heap - Spring Tool Suite?
- Is there a tool in eclipse, a plugin for eclipse, or an external program that can automatically limit access modifiers?
- Checkstyle plugin for Spring Tool Suite appears installed but I can not access it
- How to use Eclipse Memory Analyser Tool (MAT) for analysing a hashmap
- Where can I get the update site for Spring tool suite
- Web tool platform vs. Eclipse for Java EE
- Bintray support for Eclipse p2 repositories
- Tutorial for creating own portlet in liferay with eclipse
- Tool for creating Dynamically Generated Code in Java (In Eclipse)
- Creating a new project in Eclipse using Maven as build tool for Google App Engine project
- Is it possible to define your own 'controller' in Window Builder for Eclipse?
More Query from same tag
- Maven Generated Project looks different when importing to Eclipse
- Set common shortcut keys for Visual Studio, VS code and Eclipse
- Can't see Lint window in Eclipse
- Where should I add servlets in the Eclipse IDE's new folder structure
- How to only have 1 project run with Tomcat Server (Eclipse)?
- How to install Eclipse for C++ for OS X Yosemite?
- Deploy Java EE application as root context on WildFly
- problems deploying a maven application with mvn command
- How to show short cut to android sdk and adt manager on eclipse
- Runnable jar file generated with java eclipse wont run when double clicked
- How to execute Eclipse project on Mac?
- Share text on Facebook using sdk
- How to automatically update/load/refresh view in RCP application
- Adding ShowcaseView as library project
- How to remove Projects (not jars) from EAR Libraries?
- Using assertArrayEquals in unit tests
- How can I connect my own class?
- Is it possible to build and deploy an android eclipse project via only command line
- Google CodePro test cases not generating easymock objects automatically
- generate JavaDocs Android Studio
- How to remove reference of a jar file in a java based web application?
- when import project in GitHub src is empty
- See svn commit messages/comments when get sync source in eclipse
- Unreachable Code error
- Tomcat 6.0.23 and Eclipse Indigo - server not working through eclipse while working from standalone
- Why are my RequestMapping not being picked up when deploying on Standalone Tomcat? It works in Eclipse WTP
- How to get Mailbox after creating a Microsoft Graph Client (JAVA - Eclipse IDE)?
- Should lambda in java be allowed to call nonexistent method?
- Spring Tool Suite (STS) - Can not import using Gradle (Buildship)
- gluLookAt() doesn't work as expected