Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 376112

Summary: Projects should not require repositories which are only available locally
Product: [Technology] CBI Reporter: Thanh Ha <thanh.ha>
Component: artifact repositoryAssignee: 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:    

Description Thanh Ha CLA 2012-04-04 14:36:01 EDT
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>
Comment 1 Andrea Ross CLA 2012-04-04 14:45:15 EDT
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.
Comment 2 Paul Webster CLA 2012-04-04 14:59:49 EDT
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
Comment 3 Thanh Ha CLA 2012-04-04 15:09:42 EDT
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.
Comment 4 Jan Sievers CLA 2012-11-05 09:05:20 EST
(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.
Comment 5 Jan Sievers CLA 2012-11-05 09:07:57 EST
(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 .
Comment 6 Frederic Gurr CLA 2017-02-07 12:35:54 EST
Please re-open if this issue is still relevant.