[armedbear-devel] Maven & ABCL

Alessio Stalla alessiostalla at gmail.com
Thu Feb 10 21:57:29 UTC 2011

On Thu, Feb 10, 2011 at 9:57 PM, Erik Huelsmann <ehuels at gmail.com> wrote:
>>> I know that Maven can use Ant tasks, so the easiest way forward might be
>>> to have Ant continue to build while Maven packages it.   Maven has the
>>> reputation of strong—i.e. inflexible–ideas about directory layouts that
>>> may prove to make this task difficult.
>> Wait - Maven (by default) requires a certain directory structure if
>> you use it to build your project; but I'm not proposing that, it would
>> be a daunting task with no foreseeable benefits. I'm just proposing to
>> use Maven to "deploy" (i.e. copy to the repository) our already-made
>> releases. You can do it with Ant + Maven tasks too, but imho it's
>> simpler with Maven alone (which amounts to something like mvn
>> gpg:sign-and-deploy-file /path/to/abcl.jar /path/to/pom.xml repo-url,
>> same for sources and javadoc jars).
> From the start I was assuming that using Maven was indeed to deploy
> ABCL and using Maven as a distribution mechanism. However, I'm now
> wondering if deployment-only is too restrictive. What happens when a
> deployed ABCL is downloaded from the Maven repository? The user gets
> access to it, but may want the option to rebuild the ABCL jar for
> whatever reason. With the deployment-only option, the user won't be
> able to do it from his integrated Maven-management environment,
> correct? If that's true, will 'deployment-only' be a limiting factor
> for deployment of ABCL through Maven, or is it a step forward and
> should we just see what comes next?

Maven-deployed sources are not buildable in general, they're just
meant as an aid to IDEs (to show the source of the Maven-imported
libraries). So, a user wanting to build his/her own ABCL and integrate
into his/her Maven-based project won't be able to do it from the
abcl-sources.jar, and that's not specific to ABCL. Such a user will
have to build ABCL and install it into his/her local Maven repository.
If ABCL were buildable by Maven, that would amount to a single command
(mvn install from ABCL's project directory). It will, instead, require
two commands: ant abcl.jar and mvn install:install-file
-Dfile=dist/abcl.jar -DpomFile=pom.xml. Or a single one: ant -f
maven.build.xml abcl.maven.install provided a suitable Maven-enabled
maven.build.xml exists. I still need to understand clearly what
installing Maven support for Ant amounts to.

I hope this mail sheds a little more light on these dark matters :D


> Bye,
> Erik.

More information about the armedbear-devel mailing list