gump-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <bode...@apache.org>
Subject <noclasspath/>
Date Wed, 09 Apr 2003 12:21:09 GMT
Hi,

I've been tracking down why xdoclet-examples had all Ant jars in its
pre-req check but only ant.jar ended up in the CLASSPATH.  This is
partly fixed with my last commit, it won't have the optionals during
the pre-req check now either.

Simplyfied xdoclet-example's definition looks like this

    <ant target="samples">
      <property name="ant.home" project="ant" reference="home"/>
    </ant>
    <depend project="xdoclet" inherit="all"/>

and here is the trick.

(1) <property> gets turned into a <depend> element with a nested
<noclasspath/> element in Project#genDepends.  I can get around this
by adding the not-documented classpath attribute to <property>, but
I'm not looking for a work-around right now.

(2) If xdoclet-example had an explicit dependency on Ant, this explicit
dependency would replace the one created by <property>.

(3) As the dependency is inherited, Project#inheritDependencies gets
into the game and this will not replace existing dependencies.

Given the behavior of (2), I think (3) should check whether the
existing dependency is of the <noclasspath/> type and replace such
dependencies.  Maybe it shouldn't check at all but replace it
unconditionally?

I'd go ahead and make the changes if only I completely understood what
<depend><noclasspath/></depend> has been invented for in the first
place.

I think it is really just there for the nested <property>s so that
they create links in the dependency list but "no classpath", but I'm
not sure.  There is a single <noclasspath/> occurrence in jrefactory's
project definition.

Stefan

Mime
View raw message