| Summary: | Projects should not require repositories which are only available locally | ||
|---|---|---|---|
| Product: | [Technology] CBI | Reporter: | Thanh Ha <thanh.ha> |
| Component: | artifact repository | Assignee: | CBI Inbox <cbi-inbox> |
| Status: | CLOSED WONTFIX | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | andrea.ross, frederic.gurr, jan.sievers, pwebster, thanh.ha |
| Version: | 2.0 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Bug Depends on: | 369002 | ||
| Bug Blocks: | |||
If each project makes their output available in Nexus, then others that depend upon it can specify it in their pom.xml files and retrieve it using maven. Build systems not using maven & tycho can still access the p2 repository from a URL. I expect the external repos we have to go to are configured somewhere in one of the parent poms, in such a way that we have a default we can override. Is this just a concern about different modules depending on local p2 repos that have already been created? Or are these maven sites? PW This is a concern regarding inter-project dependencies not specific to the platform build. It seems some projects depend on things from other projects which need to be built locally first before you can build the 2nd project. As a generic example: git clone project1.git git clone project2.git project2 depends on project1 being built first so that it can use the p2 repository generated by project1 locally before it can be built. I think ideally project1's p2 repository should be placed somewhere like nexus and project2 can pull from that. (In reply to comment #0) > For example using a local update site to pull in dependencies from another > repository which was built locally. > > <site>file:/${basedir}/../../repo.git/package/target/site</site> using ${basedir} for this is a bad idea. ${basedir} is evaluated specifically for each maven reactor module. With maven modules in different filesystem nesting levels (which is quite common), this approach is bound to fail. (In reply to comment #1) > If each project makes their output available in Nexus, then others that > depend upon it can specify it in their pom.xml files and retrieve it using > maven. > > Build systems not using maven & tycho can still access the p2 repository > from a URL. all that's missing for being able to consume p2 repos produced by tycho builds directly from nexus is a "nexus unzip plugin" which makes the zipped p2 repo available as if it was unpacked. We are in the process of contributing this nexus plugin, see bug 393309 . Please re-open if this issue is still relevant. |
For example using a local update site to pull in dependencies from another repository which was built locally. <site>file:/${basedir}/../../repo.git/package/target/site</site>