ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Archie Cobbs <arc...@dellroad.org>
Subject Re: making an SCM managed copy of your external artifacts
Date Tue, 10 Aug 2010 17:31:01 GMT
Here's what I do...

1. Set up a normal internal ivy repository. On the main/build server, a
"publish" ant task publishes a built project to the internal repo (version
number automatically includes SVN revision).

2. On the main server, SVN checkout Ivy RoundUp and publish this tree on the
internal web server. This is just an optimization to make access to Ivy
RoundUp files faster.

3. Individual projects use svn:externals to incorporate standard build
macros, etc. This stuff includes an ivysettings.xml file that configures the
above two repositories for ivy.

As an Ivy RoundUp maintainer I'm of course biased but this seems like a nice
and clean way to do things. There is a repo for internal stuff and there is
a repo for public stuff. Done. We don't use maven so there is no maven
weirdness, everything is pure ivy.

The only "glitch" is when something we need is not in Ivy RoundUp, but then
the task of adding it is doubly worthwhile because it serves both our own
purposes and other users of the project (i.e. positive open source karma).

As a side note, I do the same thing with RPM's. We have an internal RPM
repository plus the public openSUSE ones. Internal RPM builds publish to the
internal RPM repository. openSUSE's zypper(1) command functions like ivy but
in the RPM world. RPM dependencies function like ivy dependencies. RPM spec
files are like ivy.xml files. These two parallel universes are very
analogous.

-Archie

On Mon, Aug 9, 2010 at 6:24 AM, Steve Loughran <stevel@apache.org> wrote:

>
> I want to set up a project which has all the things we depend on in SCM,
> plan is to have two repositories
>
> repo/internal  - in house built artifacts, SCM managed release propagation,
> etc.
>
> repo/external - everything that normally comes out of ibiblio, jboss,
> reslet m2 repositories, which ivy pulls down, and the odd Sun JAR that isn't
> normally online
>
> Question is, how best to build that external repository, especially, how
> best to automate building that repository.
>
>
> 1. Manual M2 layout. From the dependency data, grab the JARs and POM files,
> lay them out maven style.
>
> 2. Copy ivy cache. clean your local cache, do a release, copy ~/.ivy/cache
> to repo/external, delete things you don't want there and check in the rest.
>
> Has anyone else done this? What was their tactic?
>



-- 
Archie L. Cobbs

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message