I've been faced with a similar choice. For testing purposes (ivy is
experimental at this stage in our build process) I'm using:
organisation/module/revision/type/artifact.ext +
organisation/module/ivys/ivy-revision.ext
This works well at the moment because all of our modules that are
publishing right now are in-house developed C++ static libraries and
their header files. With traditional names like libFoo.a, the revision
number isn't a part of the library name versus a typical .jar file.
However, we will soon be adding Java to our project -- using both
publicly available jars with revision # in the file name as well as our
own -- so I will likely have to re-think this. I know with .so files
there is a tradition of naming them 'libFoo.so.[revision]' and have a
symlink of 'libFoo.so' point to the latest. Maybe we should adopt a
similar convention with our .a files and something like
'headers-libFoo-[revision].zip' for the other stuff.
If anyone has a suggestion, I'm all eyes and ears. :)
Allen
-----Original Message-----
From: Xavier Hanin [mailto:xavier.hanin@gmail.com]
Sent: Thursday, May 03, 2007 4:43 AM
To: ivy-user@incubator.apache.org
Subject: Re: best repository layout? (opinions solicited)
On 5/2/07, Buck, Robert wrote:
> Hi,
>
> Not being an advanced user of IVY, I wanted to pass this question by
> the user community. I wanted to nail down my repository layout ASAP.
>
> In your experience, which repository layout works best?
>
> Here are a couple options:
>
> 1. organisation/product/version-num/jars-here +
> organisation/product/ivy-product-version.xml
>
> 2. organisation/product/version-num/jars/jars-here +
> organisation/product/version-num/ivys/ivys-here
>
> 3. other?
>
> There may be considerations that I have not considered, but what I
> presently have (and can change with ease) is option # 1.
>
> Thoughts or debate anyone?
It really depends on your needs and requirements, but here are some
general feedback:
* group data by version, it makes it easier to manage your repository
(so option #2 seems better here).
* depending on your needs, try to keep things as simple as possible.
If you can distinguish your artifacts without the type and if you do not
have too much artifacts per module, avoid the [type] directory (but if
you want to store sources and javadocs artifacts, they are usually
distinguished only by type)
* use the branch token if you plan to use branches some time.
* keep the revision in the file name if the repository can be accessed
directly (on a web server for instance) to make it obvious what the
revision of the artifact is once downloaded
HTH,
Xavier
>
> Thanks in advance,
>
> Bob
>
>
>
--
Learn Ivy at ApacheCon: http://www.eu.apachecon.com/ Manage your
dependencies with Ivy!
http://incubator.apache.org/ivy/