ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Bodewig <bode...@apache.org>
Subject Re: ProjectComponentHelper and adapters
Date Thu, 14 Mar 2002 14:01:49 GMT
On Wed, 13 Mar 2002, Jose Alberto Fernandez <j_a_fernandez@yahoo.com>
wrote:

> From: "Stefan Bodewig" <bodewig@apache.org>
>
>> This could be done (by returning a smart replacement for Hashtable
>> in project.getReferences in the first place) and you'd still have
>> to resolve all references when you encounter a script task, but it
>> would probably work.
> 
> I agree.

well, it's not that easy ...

<javac ...>
  <classpath id="compile.path">
    <pathelement .... />
  </path>
</javac>

to actually create the the path compile.path, you need to get hold of
the containing Javac instance as it is created via
Javac.createClasspath().

This means that whatever gets stored in the references table must know
how to instantiate everything leading up to the element it is a
reference to.

Doable, but not as easy as I first thought.

> If you look at <antlib> you will see that Top level tasks are
> treated as just being inside a special kind of Target which is
> evaluated inmediately. That means that all parsing code behaves as
> inside a Target.

That is, you defer executing of task until the build file has been
parsed completely.  This is different from what happens now, I don't
think this is a problem, but I wanted to point that out.

> Since in regular ANT each target is evaluated only once, I see no
> issue here (multiple execs via <antcall> use reparsing).

ant foo bar

with

<target name="foo" depends="baz" />
<target name="bar" depends="baz" />

will run baz twice - with all task instances that belong to tasks in
target baz being reused.

I know this is not related to the invalidation you are talking about.

> The only case in which multiple execs of a target are possible is
> via <script> and in that case I am not even clear if you really get
> tasks resolved every time.

I don't think they will be resolved a second time.

Stefan

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


Mime
View raw message