On Thu, Apr 18, 2002 at 01:29:18PM +0900, Leif Mortenson wrote:
> Currently, if you run 'ant clean' followed by 'ant'. You get lots of
> depchecker failures.  (At least I do).

Could you paste them here? It all works for me.

> Looking at the root build.xml file, I do not see how this could have
> been working for anyone as the subprojects are not being built in the
> correct order. (jar task) See the mega-jar task for the correct order.
> Also can't these be combined?

The order shouldn't matter. Each project will first build it's
dependencies. Eg, the first project built in the 'jar' target is:

<ant dir="datasource" target="jar"/>

datasource depends on pool, and pool depends on collections and
instrument. So after that <ant> has finished, collections, instrument,
pool and datasource will be built.

Of course, if you're going to build all the projects anyway, and you
know the order, then it's fastest to just specify the correct order, and
switch off depchecking (-Dskip.dependencies=true).

> Running 'ant mega-jar' kind of works, but it still has several
> depchecker problems. I have attempted to get these cleaned up.
> 
> Currently when the depchecker fails to find a file, it prints a message
> and then continues with the build.

I think you're referring to messages like this:

update_dependency:
         [echo] Couldn't find
         
/home/jeff/apache/jakarta/jakarta-avalon-excalibur/component/../util/dist/excalibur-util-1.0.jar
 

Updating files from dependency
     /home/jeff/apache/jakarta/jakarta-avalon-excalibur/component/../util


That is just a diagnostic message. It means that to build "component" we
needed the util jar, so now we're going to invoke ../util/build.xml,
after which the util jar should be present.

> This results in the root build succeeding when there were several
> projects that were not actually build. It seems like the build should
> fail when a jar is missing.

I think you're seeing the effects of the extremely buggy <jlink> task.
The mega-jar task *never* correctly creates a jar containing contents of
all subproject jars. Even the avalon-excalibur.jar file sometimes misses
some stuff. If you run 'ant -v', you'll see that all the subproject jars
are built, and passed to the jlink task.

> In the default.properties file in the root, all of the subproject home
> directories are pointing to the dist subdirectories. This causes the
> build to look for the jars there by default. The problem is that the
> jars are not being placed in those directories by the individual
> builds. Rather they are being placed in the build/lib directories.

They'll be in both. build/lib is an intermediate directory. Those
targets should probably be 'dist.lite', which builds just the jars (no
javadocs), so is faster.


--Jeff

> I set the properties in my home/.ant.properties file, but the
> defaults, or the subproject builds should probably be updated.
> 
> Cheers,
> Leif

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to