ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Louis Tribble <louis.trib...@oracle.com>
Subject Re: [DISCUSS] EasyAnt: Ant based pre packaged build system for java projects
Date Tue, 15 Jan 2008 18:39:53 GMT
We have a scheme like some that have been mentioned,
in which the system is broken into modules and building the
system means looping through the modules applying the
same build script to each. The build of each module is
broken down into phases, e.g., assemble, compile,
create-jar, test, etc (that aspect is fairly Mavenish, I think).

Each phase has at least 4 targets: the composite public one, the
mandatory default implementation, and the empty, but overridable
by each module, before and after hooks, e.g.:

<target name="compile" 
depends="assemble,compile-before,compile-default,compile-after"/>

We are pushing 500 modules now, with a hundredish developers,
many of them determined (it sometimes seems) to abuse any and all
provided customization points.

Consequently, my main comment (apologies if I missed it in the thread)
is that any magic target overriding feature needs to balanced by
a target locking feature, for at least two reasons: (1) the integrity of 
the
build depends on certain chunks of script (typically in the xxx-default
targets) always being invoked and (2) nobody can understand and
manage a build of 500 modules if modules do their own thing even for
basic tasks like compiling and creating jars.

A corollary is that if I were to base this system on the hypothesized
Ant-supplied system, I expect I would need to customize quite a bit,
but I would not want to expose most of that customizability to the
modules. (Perhaps that is something like what Gilles was thinking
when he mentioned two levels of customization?)

Regards,
Louis Tribble

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message