You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-dev@incubator.apache.org by Steve Loughran <st...@apache.org> on 2006/11/07 15:07:59 UTC

next q: ivy groups

My next problem is to try and understand ivy's grouping model.

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).

1. Can do you declare a hierarchical group name? org.apache.something, 
org/ex/something?

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.

Is there a goal to have organisations mapped consistently, so that 
apache -> org.apache, sun to com.sun, etc?

3. If I am creating ivy.xml files for org.smartfrog, what name should I use?

-steve

Re: next q: ivy groups

Posted by Xavier Hanin <xa...@gmail.com>.
On 11/7/06, Steve Loughran <st...@apache.org> 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
>