[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Getting Maven Into Main - What Next?

Paul Cager wrote:
Now that we are making progress with packaging Maven's
Build-Dependencies, I'm beginning to wonder what happens next. I've
noticed from the JavaCC packaging that it seems to be all right to
include a "bootstrap jar" in the upstream source. Is this right? I guess
to be valid:

   * When building the package a new Jar must be built (from source)
that could replace the bootstrap Jar.

Makes sense

   * There must be no licensing issues around distributing the bootstrap

If so then should we create the Maven package by bootstrapping?

    * Maven build-depends on wagon, plexus, doxia etc.

    * Create a local repository for Maven, e.g. debian/.m2/repository.
For each build-dependency create the appropriate directory structure
(e.g. debian/.m2/repository/plexus/plexus-utils/1.0.2/).

Use the install:install-file goal to properly install a file into a repository.

    * Copy (or symlink) the build-depends jars from /usr/share/java to
our repository. This should ensure that maven does not try to download
any dependencies. (I imagine maven also has an option to inhibit
downloads; it would be safest to set this, and/or set http_proxy).

It will not download stuff, but to be sure run with the -o flag.

I wonder if it would be feasible to make a LD preload thing that would prevent all forms of external network communication that could be use to make sure that the build isn't fetching stuff from the internet?

    * Set "localRepository" to "debian/.m2/repository", and call maven's
bootstrap shell script. (this process is described in

Any comments?

I would just package all the binaries into a repository inside a tarball and the Maven 2 source code and built it with Ant. Once you have a Maven 2 package you can start building all it's build dependencies and then finally rebuild the Maven 2 "proper" again.

I will most likely be on IRC tonight if anyone want to chat on the practical parts of building Maven.


Reply to: