Issue Details (XML | Word | Printable)

Key: SPR-5385
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Critical Critical
Assignee: Mark Pollack
Reporter: Olivier Lamy
Votes: 12
Watchers: 13
Operations

If you were logged in you would be able to see more operations.
Spring Framework

All maven2 artifactIds change (will break a lot of builds for maven users)

Created: 02/Jan/09 04:10 AM   Updated: 08/Apr/09 10:00 AM   Resolved: 08/Apr/09 10:00 AM
Component/s: None
Affects Version/s: 3.0 M1
Fix Version/s: 3.0 M3

Time Tracking:
Not Specified

Issue Links:
Depends
 


 Description  « Hide

All artifactIds has changed in 3.0M1.
It will be a REAL NIGTHMARE for maven users when upgrading due to all artifactIds change !!
This will break a lot of builds for people who wants to upgrade !!
Please any chance to revert to this non backward compatible change ????
-
Olivier
Maven PMC



Stephane Nicoll added a comment - 02/Jan/09 05:57 AM

See also today's comment at http://blog.springsource.com/2008/12/05/spring-framework-30-m1-released/

Can someone explain why you changed the name of the maven artifacts?

What does this means? (from the readme.txt file) "Furthermore, the jar file names follow bundle repository conventions now."

If you look at the huge majority of Maven projects out there, everybody is using the same convention somehow (which is the one used in Spring 2.x artifacts).

Are you planning to setup a relocation so that users can safely upgrade from spring-beans 2.5.6 to 3.0.0 for instance?

I've seen many projects where stable modules use an old version of Spring. If you do this, the maven dependencies mechanism won't be able to resolve the version conflicts and users will get two version of Spring in their application

Stéphane
Maven PMC


Baptiste MATHUS added a comment - 02/Jan/09 02:06 PM

Yes, I hope you'll at least handle the relocation, but I fear this won't be enough to be able not to have a 2.x and a 3.x spring jar in the same classpath. This is not a problem with OSGi, which seems to be why you changed your bundles naming, but you perfectly know it will be a big problem with "classical" classpath management.

If there's a change path to manage well, I guess this is one of the best to watch out .

Thanks


Arnaud HERITIER added a comment - 03/Jan/09 05:20 PM

If you want to keep new artifact Ids, another idea is to propose a script to convert spring 2.X dependencies in 3.X. But it won't be easy.


Stephane Nicoll added a comment - 04/Jan/09 04:01 AM

Well, you will have to release a new version of your stable modules if you do that. I tend to think about the contrary (providing a script to generate artifactIDs 2.X with Spring 3.x artifacts)


Arjen Poutsma made changes - 13/Jan/09 05:07 AM
Field Original Value New Value
Link This issue depends on SPR-5301 [ SPR-5301 ]
Ben Hale added a comment - 13/Jan/09 05:19 AM

I'd like to give a little background on exactly why the ID's have changed.

The biggest issue is that the primary distribution point for Spring 3.0 and beyond is the SpringSource Enterprise Bundle Repository http://www.springsource.com/repository. The ID's for this repository are based on the OSGi Bundle-SymbolicName as a rule. Therefore the ID's that you're running into now won't be changing.

As a side-effect of this, you cannot use the Enterprise Bundle Repository in combination with Maven Central; it's one or the other. Otherwise you may get duplicate copies of dependencies because Maven sees two different id's for the same JAR.

For the 3.0.0.RC1 release, we'll be providing Maven Central compatible POMs in addition to the standard Enterprise Bundle Repository POMs.


Olivier Lamy added a comment - 13/Jan/09 07:24 AM

Hi,
Thanks for clarification.

Olivier


Arjen Poutsma made changes - 13/Jan/09 08:13 AM
Fix Version/s 3.0 RC1 [ 10956 ]
Arjen Poutsma made changes - 13/Jan/09 08:13 AM
Assignee Arjen Poutsma [ arjen.poutsma ]
Juergen Hoeller made changes - 26/Jan/09 03:52 AM
Priority Blocker [ 1 ] Critical [ 2 ]
Juergen Hoeller made changes - 18/Mar/09 10:44 AM
Fix Version/s 3.0 M3 [ 11136 ]
Fix Version/s 3.0 RC1 [ 10956 ]
Arjen Poutsma made changes - 23/Mar/09 07:42 AM
Assignee Arjen Poutsma [ arjen.poutsma ] Mark Pollack [ mark.pollack ]
816 by  mpollack (16 files)
25/Mar/09 03:06 AM (10 months, 11 days ago)
Mark Pollack added a comment - 08/Apr/09 10:00 AM

The POMs for individual modules, i.e orm, oxm, web.servlet, can be used for building a maven based spring project using the traditional names.

The top level all inclusive 'spring' POM can not be used, as modules in a pom are not treated as dependencies. This will be addressed in a future release if there is demand for it.

Note, the POMs can not yet be used to build and run unit tests, they are only sufficient for resolving dependencies.


Mark Pollack made changes - 08/Apr/09 10:00 AM
Resolution Fixed [ 1 ]
Status Open [ 1 ] Resolved [ 5 ]
Create crucible review for all 2 changesets in