-----Original Message-----
From: Marc Lijour [mailto:marc@lijour.net]
Sent: mercredi 3 janvier 2007 06:02
To: xwiki-dev(a)objectweb.org
Subject: Re: [xwiki-dev] Maven/build help
On Tuesday 02 January 2007 17:41, Vincent Massol wrote:
When I
checked out xwiki/trunk as a project in eclipse and I enable
the
maven2 plugin, it starts downloading a bunch of stuff and it
complains about 2 items (see log below). Is that normal? Did I
checked out everything I need?
That's because I haven't published these artifacts in the xwiki
remote
repo, so you have to build them before they can
be used by a module
requiring them.
The full build is available when you check xwiki/trunks-dev but this
will only work for xwiki committers as it required svn+ssh access.
I'll create a trunks-users for you if you want to try it out.
Curiously I could check something out. But my version only contains
pom.xml and a soft link to a pom folder.
Part of the confusion comes from the many directories under
svnroot/xwiki. I
see:
- pom
- trunk-devs
- trunk-users (thank you)
- vendor
- xwiki
- xwiki-{apps,client,plugins,sandbox,tools}
Which one(s) do I need? Only trunk-users?
Could we document briefly what each folder is holding and what to check
out?
Yes we need to do that. I've started on
http://www.xwiki.org/xwiki/bin/view/Community/Building
Short answer: you can check out whatever you want to build. So you need to
know what each is.
Is everybody using maven2 or ant or something else?
I am but it's not finished. That said it's building fine. It's just
that tests have not all been moved yet, some modules have no maven2
build and I haven't fully tested the generated WAR yet so it may be
missing some runtime dependencies.
A few pointers would be nice. Thanks.
Sure. We can start workong on this together if you want and document
it as we progress.
I can do that from the point of view of the perfect maven2 newbie :)
Cool... Feel free to continue the documentation on
http://www.xwiki.org/xwiki/bin/view/Community/Building
(I still wonder why it has to download stuff since
everything is
available in the svn repository.
Well that's how maven works... :-) Each module has binary
dependencies
and each module produces artifacts which are
depended upon by other
modules.
When you build with mvn install generated
artifacts are put in your
local repo (mvn deploy deploys them in the remote repo). They are
then
available to other modules.
You can of course build everything from sources if you cd to the top
level of the source tree (trunks-dev for now, see above).
To better understand this see
http://blogs.codehaus.org/people/vmassol/archives/think_tank.html#0009 5
3_bi
n ary_dependency_builds
Yes, very interesting.
When dealing with dependencies in the past I used the ant svn task to
update the subproject local image as a prerequisite for the build. But
I see that using a continuous build to generate working libraries once
and making them available on a server is much more efficient (if you
trust the binaries that is ; but then you already trust the source so
that nullifies the security argument anyway).
The only thing missing right now to have a good m2 build is a CI for Maven2.
We need to find a machine 1) that can run it and discover when it breaks so
that it can be fixed immediately and 2) that publishes the generated
artifacts to the remote repo.
Actually it would be a good idea to
keep the libraries aside, in another folder, if they have to be
re-used in different places but then why keeping them in the
repository as
well?)
Jars in libs/ will be removed when we remove the Ant build as Maven2
handles this with the notion of repositories (local and remote).
Now I understand. Thanks.
-Vincent
___________________________________________________________________________
D�couvrez une nouvelle fa�on d'obtenir des r�ponses � toutes vos questions !
Profitez des connaissances, des opinions et des exp�riences des internautes sur Yahoo!
Questions/R�ponses
http://fr.answers.yahoo.com