Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [dash-dev] Maven wiki page and suggested repository layout

On 19 Mar 2011, at 18:18, Aaron Digulla wrote:

> Am 19.03.2011 18:14, schrieb David Carver:
>> If you don't want it public, don't put in in the Public Group or
>> Public Snapshots.   Make eclipse projects use the specific URL for the
>> proxy.   I still want to mirror central to reduce the overall
>> bandwidth, and this way All eclipse projects running on eclipse
>> provided sources are getting their artifacts from one place.     We
>> can controll all of this through a settings.xml file.  Unfortunately
>> since we don't have Nexus Pro we can't have nexus itself serve the
>> settings.xml to the projects.
>> 
>> Providing the mirroring functionality to me as a committer using tycho
>> is one of the big selling points.
> 
> In that case, I'm missing something important here. My plan to use the
> new repo is to build non-Eclipse, non-Tycho products which simply depend
> on results that Eclipse projects produce, say SWT, EMF, you name it.

I think David's point is that maven builds executing on Eclipse build farm could use a maven repository cache for local builds. But yes, we wouldn't want the dependencies for one to leak over to another.

> So I'm getting stuff from Central via my own Nexus proxy. Artifacts that
> I consume only need to access Central if I disable the Orbit
> dependencies (which I will do because I need non-EPL libraries in my
> code, so Orbit is too limited for my use case).

This is focussing on the 'build stuff outside of Eclipse which depends on Eclipse' usecase. David's case is 'build stuff at Eclipse which uses Tycho'. We can do both, but they're different goals.

> At no time anything from Eclipse is compiled or built on
> maven.eclipse.org, so no artifacts need to be downloaded from Central by
> a machine located in the eclipse.org network.

I think David was talking about build farm machines in the Eclipse network, rather than on the maven.eclipse.org machine itself. David, correct me if I'm wrong.

> When you build Eclipse bundles with Tycho, you need p2 repos (which
> includes Orbit bundles). No Central here, either.

But Tycho needs non-Orbit, non-P2 dependencies to get up in the morning. Tycho itself has dependencies.

> In fact, you must not use anything from Central directly since that
> would violate Eclipse's IP rules. If you need something from Central, it
> must be through Orbit.

For compiling code, yes. For running tools, no. This is why when we have our recommended settings.xml file, we must ensure that the dependencies tag depends on only the IP clean code, and not the other code - but in Maven 3 we can do that with 'dependency' and 'pluginDependency' specifically.

> So as I see it, we *must not* mirror Central on Eclipse.org.

I don't think 'must not' is valid here. Certainly we want to make it difficult to configure incorrectly. But ultimately code compiled against dependencies must only use the {release,milestone,integration,nightly,orbit} set.

Alex

Back to the top