How to bootstrap Maven
Daniel Schepler
dschepler at gmail.com
Mon Jan 9 16:22:32 UTC 2012
On Sunday, January 08, 2012 03:37:23 PM Ludovic Claude wrote:
> Hello Daniel,
>
> You have done an excellent job here to bootstrap the build of Maven 3. I
Umm, I was working with the source packages from unstable, which afaict still
has Maven 2.
> cannot think of anothwe way of doing it. It's a pity that Maven 3
OK. At least I didn't need to resort to the brute force of "dump all the
sources into one directory and compile it all together, then build a single
sumo jar file". Which wouldn't even really work in this case given the
necessity for Plexus component and Maven plugin descriptors in individual jar
files.
> requires so much bootstrapping, I have packaged Maven 2.2.2 and was very
> careful to avoid such bootstrapping. But it's a long exercise to convert
> a Maven build into an Ant build, even with the help of maven-ant-helper.
>
> I have started to remove the need to use Maven for building some of
> those packages (currently plexus-compiler builds without Maven in the
> latest commit in Git). I'm also improving mh_make --ant (from
> maven-debian-helper) to assist the generation of all packaging files
> required to build and package a Maven project with Ant. It should be
> ready in a few days, then we can run this tool on the packages that you
> have bootstrapped and remove this circular build dependency on Maven.
Good to hear.
> Your problem with maven-scm should also be fixed by fully converting the
> build of maven-scm to Ant, as there seem to be some internal build
> dependency that is not met by your simple build script.
I'm not really sure about that. As it turned out, if I installed all the jars
that did build (which was everything except for the Maven plugin), and then
reran the build, then it succeeded. So, it would be interesting to try this
experiment: in a vanilla pbuilder chroot, install all the build dependencies
of maven-scm, then force the removal of libmaven-scm-java (the wagon-scm
provider shouldn't be needed or used for Debian package builds anyway) and see
if one can reproduce the error.
So anyway, I've about finished this phase of the bootstrapping, and pbuildd is
doing yet another rebuild of all the packages. Next, I need to figure out how
to bootstrap the osgi-compendium -> geronimo-jpa-2.0-spec -> geronimo-osgi-
support -> osgi-compendium and bnd <-> bindex circular dependencies, and
spring-build's self-build-depends, to get a full libxbean-java build. And the
whole jbossas4 / hibernate tangle, to get a full excalibur-logger build. And
aspectj's self-build-depends (that one looks like it might be a self-hosting
compiler type of thing, for which I can have pbuildd download a prebuilt
libaspectj-java, if necessary).
--
Daniel Schepler
More information about the pkg-java-maintainers
mailing list