Hi Geoffry,
Geoffrey De Smet wrote:
> I agree that a global relocations.xml would not scale.
> You can't change the old (5.1.0) pom,
> so the most obvious place is simply adding this meta-data in the new pom
> (5.2.0):
>
> <groupId>org.drools.guvnor</groupId>
> <artifactId>guvnor-repository</artifactId>
> <version>5.2.0</version>
>
> <legacy-identifications>
> <legacy-identification>
> <groupId>org.drools</groupId>
> <artifactId>drools-repository</artifactId>
> <legacy-identification>
> </legacy-identifications>
>
> Then maven knows that guvnor-repository conflicts with drools-repository.
>
> Exclusions are a mess, in my opinion they are evil (even though I use
> them myself).
> Here's why: you add an exclusion today (after getting hurt because you
> didn't)
> - because of dependency bar forget to declare X as optional
> - because you don't want the transitive dependency drools-repository,
> because you got the newer guvnor-repository
> but tomorrow, when you upgrade to the next version of bar,
> you don't touch the exclusions because if you remove one and the build
> succeeds, it might still be luck (because the classpath order puts
> guvnor-repository 5.2.0 first on your machine).
> So you leave the exclusions in there... even though they might not be
> needed any more.
>
> A couple of years down the line and you get a build pom.xml like ours :)
Actually I'd like to have a replacements section in the depMgmt to define
something like:
<depMgmt>
<replacements>
<replacement>
<replace>
<groupId>org.ow2.spec.ee</groupId>
<artifactId>ow2-atinject-1.0-spec</artifactId>
<!-- possible classifier -->
</replace>
<with>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<!-- possible classifier -->
</with>
</replacement>
<replacement>
<replace>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
</replace>
<with /> <!-- part of JDK now -->
</replacement>
</replacements>
</depMgmt>
Like the dependency definitions, the replacements would also be applied for
transitive deps. Especially for someone developing with JSF this would be a
life saver looking at the dependency mess in this area.
- Jörg
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]