it can yes. Actually you could make a script to automate the re-packing
of all our depencies, without having to point to springsource ones. The
main thing to remember is the main jar you are wrapping must be
unzipped, but just look at the jxls, smooks and mvel examples I did to
see what i mean. PaxConstruct attempts to help with this automation: http://wiki.ops4j.org/display/paxconstruct/Pax+Construct
Geoffrey feels we should differentiate the repackaged bundles by a
classifier and not by an artifactid prefix.
I don't understand why the groupIds had to
change - I
assume it is to pick up the osgi-ified versions - but why do the names
have to change so dramatically? (and I don't think it should break
things - that seems a mistake).
I can revert trunk back to the origianl deps, and maintain a module by
hand that has all the osgi versions. We just need to remember to keep
them in sync.
1) It uses different groupId:artifactId's!
The ramifications of this are big & very backward incompatible:
Lets say project X depends on drools:
- X excludes commons-lang:commons-lang from the drools dependency, now
he'll get it anyway, because
org.apache.commons:com.springsource.org.apache.commons.lang is something
else
- X depends on commons-lang:commons-lang, now he'll get it twice
- X depends on commons-lang:commons-lang in a different version, now
he'll get it twice and maven will not get a change to do version
conflict resolution (picking the highest), now he'll get it twice
and drools might end up being run with a too low commons-lang version!
Remember: most users don't use OSGi and don't like a "com.springsource"
in their artifactId's.
2) Build problems too apparently:
<nheron> Project ID: org.drools.planner:drools-planner-core
<nheron> POM Location:
/home/nheron/workspace-IntellJ-planner/drools-planner-core/pom.xml
<nheron> Validation Messages:
<nheron> [0] 'dependencies.dependency.version' is missing for
org.apache.commons:com.springsource.org.apache.commons.lang
<nheron> [1] 'dependencies.dependency.version' is missing for
org.apache.commons:com.springsource.org.apache.commons.io
<nheron> [2] 'dependencies.dependency.version' is missing for
com.thoughtworks.xstream:com.springsource.com.thoughtworks.xstream
Because it is backward incompatible, I propose to shelve the OSGi ready
changes till drools 6.0?