You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@groovy.apache.org by Paul King <pa...@asert.com.au> on 2017/04/07 02:46:06 UTC

Re: Maven coordinates going forward

Thanks everyone for the feedback. I was mostly interested in feedback on
the maven coordinates rather than package names, but it was good to get
views on both. We have already started creating new classes using the
org.apache package prefix rather than org.codehaus and I presume that we
can continue doing that for now. But we haven't reached the point where we
have parallel Groovy2/3 versions (or whatever version numbers it ends up
being) of the same functionality. We might need to do an early spike to see
how things start to pan out. For the time being I'll leave the maven
coordinates using org.codehaus.groovy (so that's what snapshot versions
will have for now) and when it gets closer to a release of the version we
believe to have the envisaged significant breaking changes we can call for
a vote on a coordinate change. By that stage it will also hopefully be
clearer on what changes might need to be adopted wrt package names.

Cheers, Paul.

On Sat, Apr 1, 2017 at 1:24 AM, Jeff <pr...@gmail.com> wrote:

> Is this not the whole point of releasing versioned binaries?  It just
>>> means a couple of extra steps when I upgrade.  First, change the
>>> coordinates (group + version instead of just the version) and a quick
>>> refactor of my imports.  Every modern IDE makes this easy.
>>>
>>>
>>> This is not much about direct dependencies, but about transitive
>> dependencies. Exclusions in Maven are horrible. You never want to exclude a
>> dependency. What you really want is to substitute it, so that it can belong
>> to the dependency resolution process.
>>
>
> I believe it is about transitive dependencies.  By changing both the
> coordinates *and package names* accordingly, you now can have packages
> from older codehaus dependencies (both transitive or direct) that will not
> clash with packages from the newly named apache (direct or transitive)
> dependencies.
>
> I may be missing something but I believe it eliminates the specific
> transitive inclusion issue since old and new can coexist.
>
> On Fri, Mar 31, 2017 at 1:32 AM, Cédric Champeau <
> cedric.champeau@gmail.com> wrote:
>
>>
>>>
>>>
>>> Is this not the whole point of releasing versioned binaries?  It just
>>> means a couple of extra steps when I upgrade.  First, change the
>>> coordinates (group + version instead of just the version) and a quick
>>> refactor of my imports.  Every modern IDE makes this easy.
>>>
>>>
>>> This is not much about direct dependencies, but about transitive
>> dependencies. Exclusions in Maven are horrible. You never want to exclude a
>> dependency. What you really want is to substitute it, so that it can belong
>> to the dependency resolution process.
>>
>
>