dev@glassfish.java.net

Re: Glassfish build process: can't it be easier?

From: Dinesh Patil <dinesh.patil_at_Sun.COM>
Date: Wed, 25 Jan 2006 11:17:56 -0800

>> m2 is entirely independent from maven 1x, it doesn't use any of maven
>> 1's configuration files. So we can migrate to m2 w/o scarifying our
>> working maven 1 build. I suggest following migration path to m2:
>>
>> * build all glassfish modules with m2
>> * then create a glassfish pom.xml to abstract all common
>> dependencies, etc., into a "base" project, letting the modules
>> inherit from that.
>>
>> Apache's J2EE implementation defines a m2 build structure, so it
>> should be possible for glassfish to do the same. Also: m2 is, of
>> course, build with m2.
>>
>> We'd loose all of maven's awesome dependency management building
>> entirely with ant.
>
> You can always download the Maven 2.0 Ant task, who are exactly doing
> the dependencies management:
>
> http://www.apache.org/dyn/closer.cgi/maven/binaries/maven-artifact-ant-2.0.2-dep.jar
>
>
> We need to evaluate if we want to use all/some of the Maven 2.0
> features, like install/docs/build/jars etc. If we plan to not use it,
> then Ant is an easier/cleaner solution, and can easily be driven by
> Netbeans/Eclipe without any plugin to download. If we plan to use
> Maven 2.0 goals, then I agree Maven is the solution

Currently we are not using any of install/docs/build/jars features of
Maven 1.x, we may use build, jars maven features which are done cleanly
in Ant also, which has added advantages of above IDE integration.
thanks
Dinesh

> maven's goal is to simplify the build structure.
>
>> Everybody knows, how complicated ant scripts can get... Many tasks,
>> which must be implemented in build.xml files are predefined in maven
>> and can be executed out of the box.
>
> Where you able to build the above module and get the Glassfish image
> updated using a single M2 goal? If yes, then this is good news :-)
> -- Jeanfrancois
>
>> Thanks,
>> -- markus.
>>
>>>> Yes, it its current form, we cannot move to Maven 2.0. The
>>>> transition we must follow is:
>>>>
>>>> 1- Split the big glassfish-xxx.zip file into smaller chunk
>>>> (jakarta-regex, appserv-webtier, etc.). See my original kind of
>>>> propoal in attachement)
>>>> 2- Remove all build.xml
>>>> 3- Write proper project.xml, **without** any usage of maven.xml
>>>> 4. Then we are ready to migrate to Maven 2.0 (a couple of things
>>>> has changed, like the way dependencies are named/hosted and
>>>> per-repository model)
>>>>
>>>> OR
>>>>
>>>> 1- Remove all maven file (project.*, maven.*)
>>>> 2- Use ANT with or without Maven 2.0 Ant task for managing
>>>> dependencies.
>>>>
>>>> The OS problem will be fixed by using Ant, and most probably the
>>>> CVSROOT as well.
>>>>
>>>> -- Jeanfrancois
>>>
>>> If we can get Maven 2.0 backword compatible to Maven 1.0.2 through
>>> plugin then we can do the following:
>>> 1. Move all build.xml to maven.xml for maven 1.0.2
>>> 2. use maven and remove ant dependency.
>>> 3. migrate to Maven 2.0
>>>
>>> thanks
>>> Dinesh
>>