You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sebb <se...@gmail.com> on 2010/03/06 01:15:32 UTC

[IO] Next version of IO - should this be 2.0?

The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
that requires a major version change.

Does that make sense?
If so, then the maven id can also be fixed (see IO-125).

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


Re: [IO] Next version of IO - should this be 2.0?

Posted by sebb <se...@gmail.com>.
On 07/03/2010, nicolas de loof <ni...@gmail.com> wrote:
> Anyway, after troubles with ASM incompatibility between asm2 and asm3
>  releases I'd prefer to have a dedicated package name for a major API change.
>

However, that's not the issue here.

>
>
>  > > For such a change to be totally transparent we cannot rely on the
>  > > relocation feature of Maven, which has been discussed before. We would
>  > > have to change the package name, which I think was done in lang, from
>  > > org.apache.commons.io to org.apache.commons.io2.
>  >
>  > I'm sorry but having the build-tool/repository force a package rename is
>  > nuts.
>  >
>  > Niall
>  >
>  > >>
>  > >> Niall
>  > >>
>  > >>>> Niall
>  >
>  > ---------------------------------------------------------------------
>  > 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: [IO] Next version of IO - should this be 2.0?

Posted by nicolas de loof <ni...@gmail.com>.
Anyway, after troubles with ASM incompatibility between asm2 and asm3
releases I'd prefer to have a dedicated package name for a major API change.



> > For such a change to be totally transparent we cannot rely on the
> > relocation feature of Maven, which has been discussed before. We would
> > have to change the package name, which I think was done in lang, from
> > org.apache.commons.io to org.apache.commons.io2.
>
> I'm sorry but having the build-tool/repository force a package rename is
> nuts.
>
> Niall
>
> >>
> >> Niall
> >>
> >>>> Niall
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Re: [all] Changing maven groupIDs [WAS: [IO] Next version of IO - should this be 2.0?]

Posted by Jörg Schaible <jo...@gmx.de>.
Phil Steitz wrote at Sonntag, 7. März 2010 22:03:

> Niall Pemberton wrote:
>> On Sun, Mar 7, 2010 at 5:28 PM, Dennis Lundberg <de...@apache.org>
>> wrote:
>>> On 2010-03-07 16:45, Niall Pemberton wrote:
>>>> On Sun, Mar 7, 2010 at 3:28 PM, Dennis Lundberg <de...@apache.org>
>>>> wrote:
>>>>> On 2010-03-07 12:41, Niall Pemberton wrote:
>>>>>> On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
>>>>>>> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that
>>>>>>> the next release should be 2.0 rather 1.5, as IO now requires Java
>>>>>>> 1.5, that requires a major version change.
>>>>>> The plan was to release it as 2.0 - but IMO its not a requirement.
>>>>>>
>>>>>>
>>>>>>> Does that make sense?
>>>>>>> If so, then the maven id can also be fixed (see IO-125).
>>>>>> -1 - see comments on JIRA ticket
>>>>> We need to make this switch sooner rather than later. Currently every
>>>>> release with a groupId och commons-* requires manual work from the
>>>>> people who manage Maven central repository. We're just about the only
>>>>> Apache project left not using a groupId of org.apache.*.
>>>> I thought it was only when we did the first m2 release for a component
>>>> and not for subsequent m2 releases for the group. Is that not the
>>>> case?
>>> It used to be that way, but it has changed. The repo maintainers want to
>>> remove all manual stuff, including anything from Apache that is not
>>> under groupId org.apache.*. We (the ASF) don't want anything pushed to
>>> the central repository that is from under groupId other than
>>> org.apache.*.
>>>
>>> It is only a matter of time before our current way (groupid commons-*)
>>> will be shut down completely. If people have opinions about this I
>>> suggest that you take them to repository@a.o for discussion.
>> 
>> OK
> 
> I think we need to have that discussion. We (Commons) are happy to
> contribute to and subsequently follow ASF policy on how we publish
> maven artifacts. Unless I missed it on repository@, though, we have
> not as ASF agreed on a policy to retire the "legacy" groupIds. We
> also seem to be lacking consensus / clarity on how exactly we can
> accomplish "relocation" without potentially serious implications for
> the users of heavily-depended-on components.
> 
> Therefore here in commons, I think we have agreed that we will move
> to org.apache.commons groupId when we make incompatible changes in a
> new release.  That *must* coincide with a major release and it *may*
> coincide with a change in package name.  It is possible, as in the
> present case with [io], that a major release will not introduce
> incompatible API changes, in which case we will not change the
> groupId. I see us cutting patch releases using "legacy" IDs for some
> time to come.
> 
> Please commons ppl respond if you disagree with the statements
> above.  Assuming we are in agreement, we can continue the discussion
> on repository@

+1, this was also my understanding of the last discussion's consensus.

- Jörg


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


Re: [all] Changing maven groupIDs [WAS: [IO] Next version of IO - should this be 2.0?]

Posted by Ralph Goers <ra...@dslextreme.com>.
On Mar 7, 2010, at 1:03 PM, Phil Steitz wrote:
>>>> 
>>> It used to be that way, but it has changed. The repo maintainers want to
>>> remove all manual stuff, including anything from Apache that is not
>>> under groupId org.apache.*. We (the ASF) don't want anything pushed to
>>> the central repository that is from under groupId other than org.apache.*.
>>> 
>>> It is only a matter of time before our current way (groupid commons-*)
>>> will be shut down completely. If people have opinions about this I
>>> suggest that you take them to repository@a.o for discussion.
>> 
>> OK
> 
> I think we need to have that discussion. We (Commons) are happy to
> contribute to and subsequently follow ASF policy on how we publish
> maven artifacts. Unless I missed it on repository@, though, we have
> not as ASF agreed on a policy to retire the "legacy" groupIds. We
> also seem to be lacking consensus / clarity on how exactly we can
> accomplish "relocation" without potentially serious implications for
> the users of heavily-depended-on components.
> 
> Therefore here in commons, I think we have agreed that we will move
> to org.apache.commons groupId when we make incompatible changes in a
> new release.  That *must* coincide with a major release and it *may*
> coincide with a change in package name.  It is possible, as in the
> present case with [io], that a major release will not introduce
> incompatible API changes, in which case we will not change the
> groupId. I see us cutting patch releases using "legacy" IDs for some
> time to come.
> 
> Please commons ppl respond if you disagree with the statements
> above.  Assuming we are in agreement, we can continue the discussion
> on repository@
> 

There is no reason to panic here. I was asked about commons on the Maven PMC list last week (I am a Maven PMC member). Even though I am not on the Commons PMC I am quite familiar with it as I have been committing here for over a year and a half now and been following the dev, user and pmc lists for that whole time. My response to the Maven PMC was that our policy is to continue to release point releases with the same groupIds as they currently have but that new versions would all be under org.apache.commons, which is the philosophy I have seen stated here several times. They were fine with that as they certainly understand the problems that forcing a change would cause.

Ralph

Re: [all] Changing maven groupIDs [WAS: [IO] Next version of IO - should this be 2.0?]

Posted by Rahul Akolkar <ra...@gmail.com>.
On Sun, Mar 7, 2010 at 4:03 PM, Phil Steitz <ph...@gmail.com> wrote:
> Niall Pemberton wrote:
>> On Sun, Mar 7, 2010 at 5:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>>> On 2010-03-07 16:45, Niall Pemberton wrote:
>>>> On Sun, Mar 7, 2010 at 3:28 PM, Dennis Lundberg <de...@apache.org> wrote:
<snip/>
>>>>> We need to make this switch sooner rather than later. Currently every
>>>>> release with a groupId och commons-* requires manual work from the
>>>>> people who manage Maven central repository. We're just about the only
>>>>> Apache project left not using a groupId of org.apache.*.
>>>> I thought it was only when we did the first m2 release for a component
>>>> and not for subsequent m2 releases for the group. Is that not the
>>>> case?
>>> It used to be that way, but it has changed. The repo maintainers want to
>>> remove all manual stuff, including anything from Apache that is not
>>> under groupId org.apache.*. We (the ASF) don't want anything pushed to
>>> the central repository that is from under groupId other than org.apache.*.
>>>
>>> It is only a matter of time before our current way (groupid commons-*)
>>> will be shut down completely. If people have opinions about this I
>>> suggest that you take them to repository@a.o for discussion.
>>
>> OK
>
> I think we need to have that discussion. We (Commons) are happy to
> contribute to and subsequently follow ASF policy on how we publish
> maven artifacts. Unless I missed it on repository@, though, we have
> not as ASF agreed on a policy to retire the "legacy" groupIds. We
> also seem to be lacking consensus / clarity on how exactly we can
> accomplish "relocation" without potentially serious implications for
> the users of heavily-depended-on components.
>
> Therefore here in commons, I think we have agreed that we will move
> to org.apache.commons groupId when we make incompatible changes in a
> new release.  That *must* coincide with a major release and it *may*
> coincide with a change in package name.  It is possible, as in the
> present case with [io], that a major release will not introduce
> incompatible API changes, in which case we will not change the
> groupId. I see us cutting patch releases using "legacy" IDs for some
> time to come.
>
> Please commons ppl respond if you disagree with the statements
> above.  Assuming we are in agreement, we can continue the discussion
> on repository@
>
<snap/>

I think thats a good summary.


> Phil
>
>
>>
>>>>> We have previously said that we should make the switch to a groupId of
>>>>> org.apache.commons when we do a major release. IMO we need to stick by
>>>>> that decision.
>>>> I don't remember that decision, do you have a link to the thread? Even
>>>> if we did - this is going to cause problems for users who change their
>>>> dependency to the latest - but also depend on other artifacts that
>>>> have an older dependency on commons-io. Is this user pain worth it?
>>> I found this thread, which touches the issue:
>>>
>>> http://markmail.org/message/l3oezqvhehscm67l
>>>
>>> For such a change to be totally transparent we cannot rely on the
>>> relocation feature of Maven, which has been discussed before. We would
>>> have to change the package name, which I think was done in lang, from
>>> org.apache.commons.io to org.apache.commons.io2.
>>
>> I'm sorry but having the build-tool/repository force a package rename is nuts.
>>
<snip/>

Indeed it is.

-Rahul



>> Niall
>>
>>>>

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


Re: [all] Changing maven groupIDs [WAS: [IO] Next version of IO - should this be 2.0?]

Posted by Paul Benedict <pb...@apache.org>.
+1 to moving to org.apache.commons. The faster the better.

Paul

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


Re: [all] Changing maven groupIDs [WAS: [IO] Next version of IO - should this be 2.0?]

Posted by Dennis Lundberg <de...@apache.org>.
On 2010-03-07 22:53, Luc Maisonobe wrote:
> Phil Steitz a écrit :
>> Niall Pemberton wrote:
>>> On Sun, Mar 7, 2010 at 5:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>>>> On 2010-03-07 16:45, Niall Pemberton wrote:
>>>>> On Sun, Mar 7, 2010 at 3:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>>>>>> On 2010-03-07 12:41, Niall Pemberton wrote:
>>>>>>> On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
>>>>>>>> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
>>>>>>>> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
>>>>>>>> that requires a major version change.
>>>>>>> The plan was to release it as 2.0 - but IMO its not a requirement.
>>>>>>>
>>>>>>>
>>>>>>>> Does that make sense?
>>>>>>>> If so, then the maven id can also be fixed (see IO-125).
>>>>>>> -1 - see comments on JIRA ticket
>>>>>> We need to make this switch sooner rather than later. Currently every
>>>>>> release with a groupId och commons-* requires manual work from the
>>>>>> people who manage Maven central repository. We're just about the only
>>>>>> Apache project left not using a groupId of org.apache.*.
>>>>> I thought it was only when we did the first m2 release for a component
>>>>> and not for subsequent m2 releases for the group. Is that not the
>>>>> case?
>>>> It used to be that way, but it has changed. The repo maintainers want to
>>>> remove all manual stuff, including anything from Apache that is not
>>>> under groupId org.apache.*. We (the ASF) don't want anything pushed to
>>>> the central repository that is from under groupId other than org.apache.*.
>>>>
>>>> It is only a matter of time before our current way (groupid commons-*)
>>>> will be shut down completely. If people have opinions about this I
>>>> suggest that you take them to repository@a.o for discussion.
>>> OK
>>
>> I think we need to have that discussion. We (Commons) are happy to
>> contribute to and subsequently follow ASF policy on how we publish
>> maven artifacts. Unless I missed it on repository@, though, we have
>> not as ASF agreed on a policy to retire the "legacy" groupIds. We
>> also seem to be lacking consensus / clarity on how exactly we can
>> accomplish "relocation" without potentially serious implications for
>> the users of heavily-depended-on components.
> 
> Does retiring legacy groupIds imply removing them from repository ? I
> don't think so, but would like to be sure. One of the important features
> in maven is to be able to reproduce builds long after the release. In my
> field, we sometimes need to maintain software for a very long time
> (think more than 20 years). Of course in our case we also use our own
> repositories, but I think other people may need a few years later to
> rebuild something despite they did not backup anything.

The current policy of Maven central repository is that nothing is ever
deleted from it. So old releases will still be there in the future.

>>
>> Therefore here in commons, I think we have agreed that we will move
>> to org.apache.commons groupId when we make incompatible changes in a
>> new release.  That *must* coincide with a major release and it *may*
>> coincide with a change in package name.  It is possible, as in the
>> present case with [io], that a major release will not introduce
>> incompatible API changes, in which case we will not change the
>> groupId. I see us cutting patch releases using "legacy" IDs for some
>> time to come.
> 
> I would prefer to adopt the new groupIds as fast as possible, perhaps at
> major releases even if they don't break API, but this is not a strong
> statement from me.
> 
> Luc
> 
>>
>> Please commons ppl respond if you disagree with the statements
>> above.  Assuming we are in agreement, we can continue the discussion
>> on repository@
>>
>> Phil
>>
>>
>>>>>> We have previously said that we should make the switch to a groupId of
>>>>>> org.apache.commons when we do a major release. IMO we need to stick by
>>>>>> that decision.
>>>>> I don't remember that decision, do you have a link to the thread? Even
>>>>> if we did - this is going to cause problems for users who change their
>>>>> dependency to the latest - but also depend on other artifacts that
>>>>> have an older dependency on commons-io. Is this user pain worth it?
>>>> I found this thread, which touches the issue:
>>>>
>>>> http://markmail.org/message/l3oezqvhehscm67l
>>>>
>>>> For such a change to be totally transparent we cannot rely on the
>>>> relocation feature of Maven, which has been discussed before. We would
>>>> have to change the package name, which I think was done in lang, from
>>>> org.apache.commons.io to org.apache.commons.io2.
>>> I'm sorry but having the build-tool/repository force a package rename is nuts.
>>>
>>> Niall
>>>
>>>>> Niall
>>>>>
>>>>>>> Niall
>>> ---------------------------------------------------------------------
>>> 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
>>
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 
> 


-- 
Dennis Lundberg

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


Re: [all] Changing maven groupIDs [WAS: [IO] Next version of IO - should this be 2.0?]

Posted by Niall Pemberton <ni...@gmail.com>.
On Sun, Mar 7, 2010 at 9:53 PM, Luc Maisonobe <Lu...@free.fr> wrote:
> Phil Steitz a écrit :
>> Niall Pemberton wrote:
>>> On Sun, Mar 7, 2010 at 5:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>>>> On 2010-03-07 16:45, Niall Pemberton wrote:
>>>>> On Sun, Mar 7, 2010 at 3:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>>>>>> On 2010-03-07 12:41, Niall Pemberton wrote:
>>>>>>> On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
>>>>>>>> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
>>>>>>>> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
>>>>>>>> that requires a major version change.
>>>>>>> The plan was to release it as 2.0 - but IMO its not a requirement.
>>>>>>>
>>>>>>>
>>>>>>>> Does that make sense?
>>>>>>>> If so, then the maven id can also be fixed (see IO-125).
>>>>>>> -1 - see comments on JIRA ticket
>>>>>> We need to make this switch sooner rather than later. Currently every
>>>>>> release with a groupId och commons-* requires manual work from the
>>>>>> people who manage Maven central repository. We're just about the only
>>>>>> Apache project left not using a groupId of org.apache.*.
>>>>> I thought it was only when we did the first m2 release for a component
>>>>> and not for subsequent m2 releases for the group. Is that not the
>>>>> case?
>>>> It used to be that way, but it has changed. The repo maintainers want to
>>>> remove all manual stuff, including anything from Apache that is not
>>>> under groupId org.apache.*. We (the ASF) don't want anything pushed to
>>>> the central repository that is from under groupId other than org.apache.*.
>>>>
>>>> It is only a matter of time before our current way (groupid commons-*)
>>>> will be shut down completely. If people have opinions about this I
>>>> suggest that you take them to repository@a.o for discussion.
>>> OK
>>
>> I think we need to have that discussion. We (Commons) are happy to
>> contribute to and subsequently follow ASF policy on how we publish
>> maven artifacts. Unless I missed it on repository@, though, we have
>> not as ASF agreed on a policy to retire the "legacy" groupIds. We
>> also seem to be lacking consensus / clarity on how exactly we can
>> accomplish "relocation" without potentially serious implications for
>> the users of heavily-depended-on components.
>
> Does retiring legacy groupIds imply removing them from repository ? I
> don't think so, but would like to be sure. One of the important features
> in maven is to be able to reproduce builds long after the release. In my
> field, we sometimes need to maintain software for a very long time
> (think more than 20 years). Of course in our case we also use our own
> repositories, but I think other people may need a few years later to
> rebuild something despite they did not backup anything.
>
>>
>> Therefore here in commons, I think we have agreed that we will move
>> to org.apache.commons groupId when we make incompatible changes in a
>> new release.  That *must* coincide with a major release and it *may*
>> coincide with a change in package name.  It is possible, as in the
>> present case with [io], that a major release will not introduce
>> incompatible API changes, in which case we will not change the
>> groupId. I see us cutting patch releases using "legacy" IDs for some
>> time to come.
>
> I would prefer to adopt the new groupIds as fast as possible, perhaps at
> major releases even if they don't break API, but this is not a strong
> statement from me.

This may be the end what we decide eventually but you understand that
this is going cause users pain when they get two copies of a component
in their classpath and they waste hours trying to work out why their
app no longer works. With redirects the answer will be simple - to
remove older versions from their local repository - but it is going to
cause pain.

Niall

> Luc
>
>>
>> Please commons ppl respond if you disagree with the statements
>> above.  Assuming we are in agreement, we can continue the discussion
>> on repository@
>>
>> Phil
>>
>>
>>>>>> We have previously said that we should make the switch to a groupId of
>>>>>> org.apache.commons when we do a major release. IMO we need to stick by
>>>>>> that decision.
>>>>> I don't remember that decision, do you have a link to the thread? Even
>>>>> if we did - this is going to cause problems for users who change their
>>>>> dependency to the latest - but also depend on other artifacts that
>>>>> have an older dependency on commons-io. Is this user pain worth it?
>>>> I found this thread, which touches the issue:
>>>>
>>>> http://markmail.org/message/l3oezqvhehscm67l
>>>>
>>>> For such a change to be totally transparent we cannot rely on the
>>>> relocation feature of Maven, which has been discussed before. We would
>>>> have to change the package name, which I think was done in lang, from
>>>> org.apache.commons.io to org.apache.commons.io2.
>>> I'm sorry but having the build-tool/repository force a package rename is nuts.
>>>
>>> Niall
>>>
>>>>> Niall
>>>>>
>>>>>>> Niall

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


Re: [all] Changing maven groupIDs [WAS: [IO] Next version of IO - should this be 2.0?]

Posted by Luc Maisonobe <Lu...@free.fr>.
Phil Steitz a écrit :
> Niall Pemberton wrote:
>> On Sun, Mar 7, 2010 at 5:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>>> On 2010-03-07 16:45, Niall Pemberton wrote:
>>>> On Sun, Mar 7, 2010 at 3:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>>>>> On 2010-03-07 12:41, Niall Pemberton wrote:
>>>>>> On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
>>>>>>> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
>>>>>>> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
>>>>>>> that requires a major version change.
>>>>>> The plan was to release it as 2.0 - but IMO its not a requirement.
>>>>>>
>>>>>>
>>>>>>> Does that make sense?
>>>>>>> If so, then the maven id can also be fixed (see IO-125).
>>>>>> -1 - see comments on JIRA ticket
>>>>> We need to make this switch sooner rather than later. Currently every
>>>>> release with a groupId och commons-* requires manual work from the
>>>>> people who manage Maven central repository. We're just about the only
>>>>> Apache project left not using a groupId of org.apache.*.
>>>> I thought it was only when we did the first m2 release for a component
>>>> and not for subsequent m2 releases for the group. Is that not the
>>>> case?
>>> It used to be that way, but it has changed. The repo maintainers want to
>>> remove all manual stuff, including anything from Apache that is not
>>> under groupId org.apache.*. We (the ASF) don't want anything pushed to
>>> the central repository that is from under groupId other than org.apache.*.
>>>
>>> It is only a matter of time before our current way (groupid commons-*)
>>> will be shut down completely. If people have opinions about this I
>>> suggest that you take them to repository@a.o for discussion.
>> OK
> 
> I think we need to have that discussion. We (Commons) are happy to
> contribute to and subsequently follow ASF policy on how we publish
> maven artifacts. Unless I missed it on repository@, though, we have
> not as ASF agreed on a policy to retire the "legacy" groupIds. We
> also seem to be lacking consensus / clarity on how exactly we can
> accomplish "relocation" without potentially serious implications for
> the users of heavily-depended-on components.

Does retiring legacy groupIds imply removing them from repository ? I
don't think so, but would like to be sure. One of the important features
in maven is to be able to reproduce builds long after the release. In my
field, we sometimes need to maintain software for a very long time
(think more than 20 years). Of course in our case we also use our own
repositories, but I think other people may need a few years later to
rebuild something despite they did not backup anything.

> 
> Therefore here in commons, I think we have agreed that we will move
> to org.apache.commons groupId when we make incompatible changes in a
> new release.  That *must* coincide with a major release and it *may*
> coincide with a change in package name.  It is possible, as in the
> present case with [io], that a major release will not introduce
> incompatible API changes, in which case we will not change the
> groupId. I see us cutting patch releases using "legacy" IDs for some
> time to come.

I would prefer to adopt the new groupIds as fast as possible, perhaps at
major releases even if they don't break API, but this is not a strong
statement from me.

Luc

> 
> Please commons ppl respond if you disagree with the statements
> above.  Assuming we are in agreement, we can continue the discussion
> on repository@
> 
> Phil
> 
> 
>>>>> We have previously said that we should make the switch to a groupId of
>>>>> org.apache.commons when we do a major release. IMO we need to stick by
>>>>> that decision.
>>>> I don't remember that decision, do you have a link to the thread? Even
>>>> if we did - this is going to cause problems for users who change their
>>>> dependency to the latest - but also depend on other artifacts that
>>>> have an older dependency on commons-io. Is this user pain worth it?
>>> I found this thread, which touches the issue:
>>>
>>> http://markmail.org/message/l3oezqvhehscm67l
>>>
>>> For such a change to be totally transparent we cannot rely on the
>>> relocation feature of Maven, which has been discussed before. We would
>>> have to change the package name, which I think was done in lang, from
>>> org.apache.commons.io to org.apache.commons.io2.
>> I'm sorry but having the build-tool/repository force a package rename is nuts.
>>
>> Niall
>>
>>>> Niall
>>>>
>>>>>> Niall
>> ---------------------------------------------------------------------
>> 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
> 


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


[all] Changing maven groupIDs [WAS: [IO] Next version of IO - should this be 2.0?]

Posted by Phil Steitz <ph...@gmail.com>.
Niall Pemberton wrote:
> On Sun, Mar 7, 2010 at 5:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>> On 2010-03-07 16:45, Niall Pemberton wrote:
>>> On Sun, Mar 7, 2010 at 3:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>>>> On 2010-03-07 12:41, Niall Pemberton wrote:
>>>>> On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
>>>>>> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
>>>>>> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
>>>>>> that requires a major version change.
>>>>> The plan was to release it as 2.0 - but IMO its not a requirement.
>>>>>
>>>>>
>>>>>> Does that make sense?
>>>>>> If so, then the maven id can also be fixed (see IO-125).
>>>>> -1 - see comments on JIRA ticket
>>>> We need to make this switch sooner rather than later. Currently every
>>>> release with a groupId och commons-* requires manual work from the
>>>> people who manage Maven central repository. We're just about the only
>>>> Apache project left not using a groupId of org.apache.*.
>>> I thought it was only when we did the first m2 release for a component
>>> and not for subsequent m2 releases for the group. Is that not the
>>> case?
>> It used to be that way, but it has changed. The repo maintainers want to
>> remove all manual stuff, including anything from Apache that is not
>> under groupId org.apache.*. We (the ASF) don't want anything pushed to
>> the central repository that is from under groupId other than org.apache.*.
>>
>> It is only a matter of time before our current way (groupid commons-*)
>> will be shut down completely. If people have opinions about this I
>> suggest that you take them to repository@a.o for discussion.
> 
> OK

I think we need to have that discussion. We (Commons) are happy to
contribute to and subsequently follow ASF policy on how we publish
maven artifacts. Unless I missed it on repository@, though, we have
not as ASF agreed on a policy to retire the "legacy" groupIds. We
also seem to be lacking consensus / clarity on how exactly we can
accomplish "relocation" without potentially serious implications for
the users of heavily-depended-on components.

Therefore here in commons, I think we have agreed that we will move
to org.apache.commons groupId when we make incompatible changes in a
new release.  That *must* coincide with a major release and it *may*
coincide with a change in package name.  It is possible, as in the
present case with [io], that a major release will not introduce
incompatible API changes, in which case we will not change the
groupId. I see us cutting patch releases using "legacy" IDs for some
time to come.

Please commons ppl respond if you disagree with the statements
above.  Assuming we are in agreement, we can continue the discussion
on repository@

Phil


> 
>>>> We have previously said that we should make the switch to a groupId of
>>>> org.apache.commons when we do a major release. IMO we need to stick by
>>>> that decision.
>>> I don't remember that decision, do you have a link to the thread? Even
>>> if we did - this is going to cause problems for users who change their
>>> dependency to the latest - but also depend on other artifacts that
>>> have an older dependency on commons-io. Is this user pain worth it?
>> I found this thread, which touches the issue:
>>
>> http://markmail.org/message/l3oezqvhehscm67l
>>
>> For such a change to be totally transparent we cannot rely on the
>> relocation feature of Maven, which has been discussed before. We would
>> have to change the package name, which I think was done in lang, from
>> org.apache.commons.io to org.apache.commons.io2.
> 
> I'm sorry but having the build-tool/repository force a package rename is nuts.
> 
> Niall
> 
>>> Niall
>>>
>>>>> Niall
> 
> ---------------------------------------------------------------------
> 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: [IO] Next version of IO - should this be 2.0?

Posted by Niall Pemberton <ni...@gmail.com>.
On Sun, Mar 7, 2010 at 5:28 PM, Dennis Lundberg <de...@apache.org> wrote:
> On 2010-03-07 16:45, Niall Pemberton wrote:
>> On Sun, Mar 7, 2010 at 3:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>>> On 2010-03-07 12:41, Niall Pemberton wrote:
>>>> On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
>>>>> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
>>>>> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
>>>>> that requires a major version change.
>>>>
>>>> The plan was to release it as 2.0 - but IMO its not a requirement.
>>>>
>>>>
>>>>> Does that make sense?
>>>>> If so, then the maven id can also be fixed (see IO-125).
>>>>
>>>> -1 - see comments on JIRA ticket
>>>
>>> We need to make this switch sooner rather than later. Currently every
>>> release with a groupId och commons-* requires manual work from the
>>> people who manage Maven central repository. We're just about the only
>>> Apache project left not using a groupId of org.apache.*.
>>
>> I thought it was only when we did the first m2 release for a component
>> and not for subsequent m2 releases for the group. Is that not the
>> case?
>
> It used to be that way, but it has changed. The repo maintainers want to
> remove all manual stuff, including anything from Apache that is not
> under groupId org.apache.*. We (the ASF) don't want anything pushed to
> the central repository that is from under groupId other than org.apache.*.
>
> It is only a matter of time before our current way (groupid commons-*)
> will be shut down completely. If people have opinions about this I
> suggest that you take them to repository@a.o for discussion.

OK

>>> We have previously said that we should make the switch to a groupId of
>>> org.apache.commons when we do a major release. IMO we need to stick by
>>> that decision.
>>
>> I don't remember that decision, do you have a link to the thread? Even
>> if we did - this is going to cause problems for users who change their
>> dependency to the latest - but also depend on other artifacts that
>> have an older dependency on commons-io. Is this user pain worth it?
>
> I found this thread, which touches the issue:
>
> http://markmail.org/message/l3oezqvhehscm67l
>
> For such a change to be totally transparent we cannot rely on the
> relocation feature of Maven, which has been discussed before. We would
> have to change the package name, which I think was done in lang, from
> org.apache.commons.io to org.apache.commons.io2.

I'm sorry but having the build-tool/repository force a package rename is nuts.

Niall

>>
>> Niall
>>
>>>> Niall

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


Re: [IO] Next version of IO - should this be 2.0?

Posted by Dennis Lundberg <de...@apache.org>.
On 2010-03-07 16:45, Niall Pemberton wrote:
> On Sun, Mar 7, 2010 at 3:28 PM, Dennis Lundberg <de...@apache.org> wrote:
>> On 2010-03-07 12:41, Niall Pemberton wrote:
>>> On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
>>>> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
>>>> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
>>>> that requires a major version change.
>>>
>>> The plan was to release it as 2.0 - but IMO its not a requirement.
>>>
>>>
>>>> Does that make sense?
>>>> If so, then the maven id can also be fixed (see IO-125).
>>>
>>> -1 - see comments on JIRA ticket
>>
>> We need to make this switch sooner rather than later. Currently every
>> release with a groupId och commons-* requires manual work from the
>> people who manage Maven central repository. We're just about the only
>> Apache project left not using a groupId of org.apache.*.
> 
> I thought it was only when we did the first m2 release for a component
> and not for subsequent m2 releases for the group. Is that not the
> case?

It used to be that way, but it has changed. The repo maintainers want to
remove all manual stuff, including anything from Apache that is not
under groupId org.apache.*. We (the ASF) don't want anything pushed to
the central repository that is from under groupId other than org.apache.*.

It is only a matter of time before our current way (groupid commons-*)
will be shut down completely. If people have opinions about this I
suggest that you take them to repository@a.o for discussion.

>> We have previously said that we should make the switch to a groupId of
>> org.apache.commons when we do a major release. IMO we need to stick by
>> that decision.
> 
> I don't remember that decision, do you have a link to the thread? Even
> if we did - this is going to cause problems for users who change their
> dependency to the latest - but also depend on other artifacts that
> have an older dependency on commons-io. Is this user pain worth it?

I found this thread, which touches the issue:

http://markmail.org/message/l3oezqvhehscm67l

For such a change to be totally transparent we cannot rely on the
relocation feature of Maven, which has been discussed before. We would
have to change the package name, which I think was done in lang, from
org.apache.commons.io to org.apache.commons.io2.

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


-- 
Dennis Lundberg

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


Re: [IO] Next version of IO - should this be 2.0?

Posted by Niall Pemberton <ni...@gmail.com>.
On Sun, Mar 7, 2010 at 3:28 PM, Dennis Lundberg <de...@apache.org> wrote:
> On 2010-03-07 12:41, Niall Pemberton wrote:
>> On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
>>> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
>>> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
>>> that requires a major version change.
>>
>> The plan was to release it as 2.0 - but IMO its not a requirement.
>>
>>
>>> Does that make sense?
>>> If so, then the maven id can also be fixed (see IO-125).
>>
>> -1 - see comments on JIRA ticket
>
> We need to make this switch sooner rather than later. Currently every
> release with a groupId och commons-* requires manual work from the
> people who manage Maven central repository. We're just about the only
> Apache project left not using a groupId of org.apache.*.

I thought it was only when we did the first m2 release for a component
and not for subsequent m2 releases for the group. Is that not the
case?

> We have previously said that we should make the switch to a groupId of
> org.apache.commons when we do a major release. IMO we need to stick by
> that decision.

I don't remember that decision, do you have a link to the thread? Even
if we did - this is going to cause problems for users who change their
dependency to the latest - but also depend on other artifacts that
have an older dependency on commons-io. Is this user pain worth it?

Niall

>> Niall

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


Re: [IO] Next version of IO - should this be 2.0?

Posted by Dennis Lundberg <de...@apache.org>.
On 2010-03-07 12:41, Niall Pemberton wrote:
> On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
>> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
>> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
>> that requires a major version change.
> 
> The plan was to release it as 2.0 - but IMO its not a requirement.
> 
> 
>> Does that make sense?
>> If so, then the maven id can also be fixed (see IO-125).
> 
> -1 - see comments on JIRA ticket

We need to make this switch sooner rather than later. Currently every
release with a groupId och commons-* requires manual work from the
people who manage Maven central repository. We're just about the only
Apache project left not using a groupId of org.apache.*.

We have previously said that we should make the switch to a groupId of
org.apache.commons when we do a major release. IMO we need to stick by
that decision.

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


-- 
Dennis Lundberg

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


Re: [IO] Next version of IO - should this be 2.0?

Posted by Niall Pemberton <ni...@gmail.com>.
On Sat, Mar 6, 2010 at 12:15 AM, sebb <se...@gmail.com> wrote:
> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
> that requires a major version change.

The plan was to release it as 2.0 - but IMO its not a requirement.


> Does that make sense?
> If so, then the maven id can also be fixed (see IO-125).

-1 - see comments on JIRA ticket

Niall

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


Re: [IO] Next version of IO - should this be 2.0?

Posted by Dennis Lundberg <de...@apache.org>.
On 2010-03-06 01:15, sebb wrote:
> The trunk pom.xml refers to 1.5-SNAPSHOT, but it seems to me that the
> next release should be 2.0 rather 1.5, as IO now requires Java 1.5,
> that requires a major version change.

+1

> Does that make sense?
> If so, then the maven id can also be fixed (see IO-125).

+1

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


-- 
Dennis Lundberg

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