On 11/7/06, Steve Loughran <[EMAIL PROTECTED]> wrote:
My next problem is to try and understand ivy's grouping model.
Very interesting question consideration! It looks like you can pick any name out of a hat for your project; its
the classic 'flat' naming scheme which, as everyone who has used on winXP in a big organisation will vouch for, doesnt scale. It doesnt scale for files in a directory tree either; most unix filesystems' performance collapses once you have a few thousand files in a directory, and dont support >64K worth of inodes. Things like apache directory browsing fail pretty badly too, which is why ibiblio,org/maven is so slow (that an inadequate caching of previously dynamically generated content).
A bit of history is required here: Ivy first version was released before maven 2, so we decided the grouping model "on our own". A two level hierarchy seemed ok at that moment for our own need (Ivy was first developed only to answer our needs at jayasoft) so the chosen grouping model was by organisation then by module. Then with the maven 2 first releases in 2005 we discovered the layout using domain names, which has the advantage: - to scale well, - to be easy to guess based on existing package names 1. Can do you declare a hierarchical group name? org.apache.something,
org/ex/something?
You can use a dot in the organisation name, so you can specify org.apache as organisation if that's what you ask. 2. Ivyrep uses organisation/artifact groupings, such as
apache/commons-logging; m1 used artifact/jarsk, and m2 goes to group/artifact/version, where group is mapped from split.by.package to split/by/package.
With some Ivy dependency resolvers you can activate maven2 compatiblity with m2compatible="true", then the dependency resolver will map split.by.packageto split/by/package. Is there a goal to have organisations mapped consistently, so that
apache -> org.apache, sun to com.sun, etc?
There is no such goal for now, but I will start another thread about future development within ASF which may address this issue. 3. If I am creating ivy.xml files for org.smartfrog, what name should I use? With current Ivy version I would use smartfrog for both organisation and module name to be consistent with naming conventions usually used. But using org.smartfrog as organisation is ok too. Xavier -steve
