You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Emmanuel Bourg <eb...@apache.org> on 2008/02/17 01:33:20 UTC

[configuration] artifactId on the 2.x branch

I noticed that the artifactId changed to commons-configuration2 on the 
2.x branch. Is it necessary to change it? Couldn't we keep 
commons-configuration since the groupId has already changed to 
org.apache.commons?

Emmanuel Bourg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


RE: [configuration] artifactId on the 2.x branch

Posted by Jörg Schaible <Jo...@Elsag-Solutions.com>.
Hi Emmanuel,

Emmanuel Bourg wrote:
> I noticed that the artifactId changed to
> commons-configuration2 on the
> 2.x branch. Is it necessary to change it? Couldn't we keep
> commons-configuration since the groupId has already changed to
> org.apache.commons? 

aside from all args in the discussion, we have also to consider, that under some circumstances artfiactIds themselves should be unique, since the groupId is not part of the real file name. This happens when artifacts are collected in a single directory (war-plugin, ear-plugin, assembly-plugin, ...). Some plugins already can cope with such a situation by automatically generating a new artifact name (war plugin), but e.g. for the ear-plugin this is not possible, since it would break the classpaths in the manifest of the included EJBs. Therefore we should not force such a situation and also use a different artifact name, especially since the recommendation is to use the package name as artifact name.

- Jörg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [configuration] artifactId on the 2.x branch

Posted by Emmanuel Bourg <eb...@apache.org>.
simon a écrit :

> There is a slow process of migrating commons libraries from the old
> style of groupId to a proper groupId of org.apache.commons. This
> migration is also happening for projects where no incompatible changes
> are being made, ie is just a "namespace cleanup".

I understand that the group change in general is not correlated to a 
package change, but I don't think it's a reason to force a name change 
if it's not necessary from a purely technical point of view (that's 
Maven/Ivy issues)


> Using an artifactId of commons-config is possible, but what if there is
> another change at some time in the future that is again so significant
> that it is necessary to permit installation of old and new code in
> parallel? [Well, by then Java might have a mechanism for handling this
> built-in (like .Net), so it might be a moot point..]

Maybe, or we could switch back to commons-configuration at this time ;) 
Hopefully this is not going to happen soon. We gathered a great deal of 
experience since 2004 with the 1.x line, I expect the 2.x line to last 
much longer.

Emmanuel Bourg

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [configuration] artifactId on the 2.x branch

Posted by James Carman <ja...@carmanconsulting.com>.
On 2/17/08, simon <si...@chello.at> wrote:
>
> On Sun, 2008-02-17 at 10:34 +0100, Emmanuel Bourg wrote:
> > James Carman a écrit :
> > > Well, I'd like to see commons have some consistency to it.  I would
> > > rather every component within commons follow the same naming
> > > conventions w.r.t. packages and I guess now artifactIds (I didn't
> > > realize that was an issue within maven until I did my little test
> > > tonight).  Maybe I'm just too much of a neat freak. :)
> >
> > Actually my concern with the new name is the number at the end. I'm
> > pretty sure this will be confusing for the users, people with the
> > commons-configuration2-2.1.jar in their project will believe to have the
> > 2.2.1 revision. If we have to change the artifactId I would support
> > "commons-config" instead.
> >
>
> I would definitely be against having
>   commons-configuration:commons-configuration
> and
>   org.apache.commons:commons-configuration
> being two incompatible packages.
>

Perhaps the 1.5 branch should have a release which just changes the groupId?

> There is a slow process of migrating commons libraries from the old
> style of groupId to a proper groupId of org.apache.commons. This
> migration is also happening for projects where no incompatible changes
> are being made, ie is just a "namespace cleanup".
>
> Yes, I agree that configuration2-2.1 could be misinterpreted by some
> people as 2.2.1, but I think it is less likely to cause confusion than
> keeping the same artifactId for two incompatible packages.
>
> Using an artifactId of commons-config is possible, but what if there is
> another change at some time in the future that is again so significant
> that it is necessary to permit installation of old and new code in
> parallel? [Well, by then Java might have a mechanism for handling this
> built-in (like .Net), so it might be a moot point..]
>

Changing it to commons-config could work, but what about all the other
commons packages?  They really don't have the luxury of just changing
their artifactId to avoid the suffix.  If we're going to do something
like this, we should do it consistently across all commons projects
(I'd argue that all ASF Java projects should try to follow some
"standard").

> Regards,
> Simon
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [configuration] artifactId on the 2.x branch

Posted by simon <si...@chello.at>.
On Sun, 2008-02-17 at 10:34 +0100, Emmanuel Bourg wrote:
> James Carman a écrit :
> > Well, I'd like to see commons have some consistency to it.  I would
> > rather every component within commons follow the same naming
> > conventions w.r.t. packages and I guess now artifactIds (I didn't
> > realize that was an issue within maven until I did my little test
> > tonight).  Maybe I'm just too much of a neat freak. :)
> 
> Actually my concern with the new name is the number at the end. I'm 
> pretty sure this will be confusing for the users, people with the 
> commons-configuration2-2.1.jar in their project will believe to have the 
> 2.2.1 revision. If we have to change the artifactId I would support 
> "commons-config" instead.
> 

I would definitely be against having
  commons-configuration:commons-configuration
and
  org.apache.commons:commons-configuration
being two incompatible packages.

There is a slow process of migrating commons libraries from the old
style of groupId to a proper groupId of org.apache.commons. This
migration is also happening for projects where no incompatible changes
are being made, ie is just a "namespace cleanup".

Yes, I agree that configuration2-2.1 could be misinterpreted by some
people as 2.2.1, but I think it is less likely to cause confusion than
keeping the same artifactId for two incompatible packages.

Using an artifactId of commons-config is possible, but what if there is
another change at some time in the future that is again so significant
that it is necessary to permit installation of old and new code in
parallel? [Well, by then Java might have a mechanism for handling this
built-in (like .Net), so it might be a moot point..]

Regards,
Simon


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [configuration] artifactId on the 2.x branch

Posted by Emmanuel Bourg <eb...@apache.org>.
James Carman a écrit :
> Well, I'd like to see commons have some consistency to it.  I would
> rather every component within commons follow the same naming
> conventions w.r.t. packages and I guess now artifactIds (I didn't
> realize that was an issue within maven until I did my little test
> tonight).  Maybe I'm just too much of a neat freak. :)

Actually my concern with the new name is the number at the end. I'm 
pretty sure this will be confusing for the users, people with the 
commons-configuration2-2.1.jar in their project will believe to have the 
2.2.1 revision. If we have to change the artifactId I would support 
"commons-config" instead.

Emmanuel Bourg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [configuration] artifactId on the 2.x branch

Posted by James Carman <ja...@carmanconsulting.com>.
Well, I'd like to see commons have some consistency to it.  I would
rather every component within commons follow the same naming
conventions w.r.t. packages and I guess now artifactIds (I didn't
realize that was an issue within maven until I did my little test
tonight).  Maybe I'm just too much of a neat freak. :)


On 2/16/08, Emmanuel Bourg <eb...@apache.org> wrote:
> James Carman a écrit :
>
> > I understand what you mean (that changing it isn't really necessary
> > right now), but maybe we should try to be consistent.  If we're going
> > to have to start changing the artifactId going forward (since we won't
> > be changing the groupId) anyway, then maybe we should just go ahead
> > and start changing it now.
>
> I see you point, however Commons Configuration has the rare opportunity
> to keep its original artifactId where other components would be forced
> to change it (that's commons-io, email and jci who have already released
> a revision under the new groupId). It would be clever to take this
> opportunity and keep the name IMHO.
>
> Emmanuel Bourg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [configuration] artifactId on the 2.x branch

Posted by Emmanuel Bourg <eb...@apache.org>.
James Carman a écrit :

> I understand what you mean (that changing it isn't really necessary
> right now), but maybe we should try to be consistent.  If we're going
> to have to start changing the artifactId going forward (since we won't
> be changing the groupId) anyway, then maybe we should just go ahead
> and start changing it now.

I see you point, however Commons Configuration has the rare opportunity 
to keep its original artifactId where other components would be forced 
to change it (that's commons-io, email and jci who have already released 
a revision under the new groupId). It would be clever to take this 
opportunity and keep the name IMHO.

Emmanuel Bourg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [configuration] artifactId on the 2.x branch

Posted by James Carman <ja...@carmanconsulting.com>.
On 2/16/08, Emmanuel Bourg <eb...@apache.org> wrote:
> James Carman a écrit :
> >  I just tried a test by putting in commons-collections 3.1 and 3.2 as
> > dependencies.  When I listed the dependencies (using the maven
> > plugin), I only see 3.2.  So, I guess we have to change the artifact
> > id too.
>
> That's slightly different since both artifacts are in the same
> commons-collection group. Tomorrow if a project depends on the artifacts
> commons-configuration 1.5 (in the commons-configuration group) and
> commons-configuration 2.0 (in the org.apache.commons group), Maven will
> use both artifacts I think, and not only the latest revision. Thus
> renaming the artifact doesn't seem necessary to me, but I may be missing
> something.
>

I understand what you mean (that changing it isn't really necessary
right now), but maybe we should try to be consistent.  If we're going
to have to start changing the artifactId going forward (since we won't
be changing the groupId) anyway, then maybe we should just go ahead
and start changing it now.

> Emmanuel Bourg
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [configuration] artifactId on the 2.x branch

Posted by Emmanuel Bourg <eb...@apache.org>.
James Carman a écrit :
>  I just tried a test by putting in commons-collections 3.1 and 3.2 as
> dependencies.  When I listed the dependencies (using the maven
> plugin), I only see 3.2.  So, I guess we have to change the artifact
> id too.

That's slightly different since both artifacts are in the same 
commons-collection group. Tomorrow if a project depends on the artifacts 
commons-configuration 1.5 (in the commons-configuration group) and 
commons-configuration 2.0 (in the org.apache.commons group), Maven will 
use both artifacts I think, and not only the latest revision. Thus 
renaming the artifact doesn't seem necessary to me, but I may be missing 
something.

Emmanuel Bourg


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Re: [configuration] artifactId on the 2.x branch

Posted by James Carman <ja...@carmanconsulting.com>.
I didn't realize that we were changing the artifact ids when we change
the package name.  I guess we're doing that because Maven2 will try to
use the latest version of a library if multiple exist as dependencies?
 I just tried a test by putting in commons-collections 3.1 and 3.2 as
dependencies.  When I listed the dependencies (using the maven
plugin), I only see 3.2.  So, I guess we have to change the artifact
id too.


On 2/16/08, Emmanuel Bourg <eb...@apache.org> wrote:
> I noticed that the artifactId changed to commons-configuration2 on the
> 2.x branch. Is it necessary to change it? Couldn't we keep
> commons-configuration since the groupId has already changed to
> org.apache.commons?
>
> Emmanuel Bourg
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org