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:[EMAIL PROTECTED] Sent: Thursday, May 03, 2007 4:43 AM To: [email protected] Subject: Re: best repository layout? (opinions solicited) On 5/2/07, Buck, Robert <[EMAIL PROTECTED]> 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/
