On 5/30/06, Jeff McAffer <[EMAIL PROTECTED]> wrote:

"Richard S. Hall" <[EMAIL PROTECTED]> wrote on 05/30/2006 03:18:08 AM:

> Interestingly enough, I just spent some time poking about the M2 repo on

> ibiblio. If Felix were to adopt the FQDN approach for its libs, it
> appears that we would be the only project in Apache doing so. On the
> other hand, it does seem to be a semi-standard practice to prefix with
> the project name, e.g., "felix-".
>
> So, apparently everyone else but Eclipse is doing it incorrectly. ;-)

Finally, the truth well out! ;-)  Seriously, prefixing with "felix"
(whatever) would take care of most (but not all) of the collision
concerns.  The downside is that the approach is more complicated.  It
looks easy but how would you write down a guideline for newbies to follow.
Something like "prefix your artifact id with your project name" might
work.  In cases where there are nested (sub) projects it is less clear.
For example, we often have "core" and "ui" teams or "platform" sub
projects in some "foo" project.  Are those bundles then "foo.xxx",
"foo.core.xxx" or "foo.platform.core.xxx"?  Since the guideline is open to
interpretation it is not a very strong convention.  The FQDN convention is
simple, clear and unambiguous.  Note that in the examples here all that is
really saved is the "org.apache" part of the name.


In Apache MINA, I decided to name the JAR files like this:

mina-<subproject name>-<sub-sub-project name>-...jar.

For example, there are JARs whose names are:

* mina-core
* mina-filter-compression
* mina-filter-ssl
* mina-integration-spring
* mina-integration-jmx (this doesn't exist yet.  It's just for example.)

I understand Jeff's concern and it really becomes a problem as the number of
subprojects increase.  But I think we can manage this at least within
Felix.  For other projects outside of Felix which depends on Felix, they
will have a different Maven groupId, so I think it's fine.

Trustin
--
what we call human nature is actually human habit
--
http://gleamynode.net/
--
PGP key fingerprints:
* E167 E6AF E73A CBCE EE41  4A29 544D DE48 FE95 4E7E
* B693 628E 6047 4F8F CFA4  455E 1C62 A7DC 0255 ECA6

Reply via email to