[Yanel-dev] dependency management

Josias Thöny josias.thoeny at wyona.com
Mon Jul 23 09:33:28 CEST 2007


Michael Wechner wrote:
> Hi
> 
> Josias has recently improved the reusability by introducing an 
> XMLBasicResource located within the yanel-impl lib
> 
> (also see http://bugzilla.wyona.com/cgi-bin/bugzilla/show_bug.cgi?id=5426)
> 
> which is great.
> 
> But the questions arises when shall we put this kind of stuff into the 
> "core" and when shall we use resource libs distributed by Maven as for 
> instance is already the case for
> 
> /home/michi/.m2/repository/wyona-org-yanel/yanel-resource-find-update:
> 1.0-dev-r25709  maven-metadata-local.xml
> 
> /home/michi/.m2/repository/wyona-org-yanel/yanel-resource-wiki:
> 1.0-dev-r25843  maven-metadata-local.xml
> 
> /home/michi/.m2/repository/wyona-org-yanel/yanel-resource-xml:
> 1.0-dev-r2536
> 
> 
> I think it's important that we have some guidelines, otherwise I am 
> afraid that we will start spread it all over the place without general 
> pattern.
> 
> WDYT?

I think it's a good idea to put that stuff into resources if possible, 
it's just a bit tedious to create and maintain the jar file.
After every change one has to update the version, create a new jar file, 
upload it to the server, create the checksum files, and update the 
dependencies. It's a lot of work...

I'm not sure how to simplify this process.
The maven ant lib provides the "deploy" task which should upload the jar 
file to the remote repository, but somehow I never got this to work.
Did anybody else try the deploy task?

> 
> Also we still have the problem that various versions of the same lib can 
> be referenced and can find its way into the build. For instance I have 
> just cleaned the dependency of the wyona-commons lib, but this will 
> always happen and it would be nice if the build process would output a 
> WARNING in such cases. Any ideas how this could be accomplised are very 
> welcome.

Actually if multiple versions of an artifact are referenced in a 
project, maven is supposed to use only one version (see also [1]).
I guess the problem with our build is that the resources have their own 
build process, so the core build process doesn't know the dependencies 
of the resources.
Maybe the build process of the resources should not copy the 
dependencies to the build dir, but provide a pom file with transitive 
dependencies which the core build process can use.
WDYT?

Josias

[1] 
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

> 
> Cheers
> 
> Michi
> 



More information about the Yanel-development mailing list