Discussion:
How to get list of build files that will be executed for Ant build
nitin reddy
2015-11-18 06:46:44 UTC
Permalink
Hi,

I am writing some plugin/hack which needs all the build files that will be
used by Ant for the project [Multi-module project].

Something similar to this

My Project----- build.xml|----- Module 1
|
----- build.xml|----- Module 2
|
----- build.xml

and the build.xml is like this

<project name="test">
<property name="project.name" value="test"/>

<ant antfile="module1/build.xml" />
<ant antfile="module2/build.xml" />
</project>

There's echoproperties task which can list out some useful information.

But it doesn't list out anything regarding `antfile` which can call
another build.xml



Any help is appreciated.
Jan Matèrne (jhm)
2015-11-18 07:31:37 UTC
Permalink
Hacking is always ... surprising ;) as you use APIs in way they weren't intended for.
But it makes fun :O

I am not sure if you can get these information during runtime.
But collecting during a build and analyzing afterwards could be possible using a custom BuildListener.
With that you get all meessages and could filter ...

How could a build be invoked? <ant>, <subant>, <exec>, <java>, <script>, <macrodef> wrapping these, custom tasks ...
Many possibilities.


Jan
-----Ursprüngliche Nachricht-----
Gesendet: Mittwoch, 18. November 2015 07:47
Betreff: How to get list of build files that will be executed for Ant
build
Hi,
I am writing some plugin/hack which needs all the build files that will
be used by Ant for the project [Multi-module project].
Something similar to this
My Project----- build.xml|----- Module 1
|
----- build.xml|----- Module 2
|
----- build.xml
and the build.xml is like this
<project name="test">
<property name="project.name" value="test"/>
<ant antfile="module1/build.xml" />
<ant antfile="module2/build.xml" />
</project>
There's echoproperties task which can list out some useful information.
But it doesn't list out anything regarding `antfile` which can call
another build.xml
Any help is appreciated.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-***@ant.apache.org
For additional commands, e-mail: user-***@ant.apache.org
nitin reddy
2015-11-18 11:03:34 UTC
Permalink
yes. that's the easy way. the biggest challenge is now you have to hack the
build.
So if the build is already done, the ship might have already left the shore
:D

I expected some task in ant to analyze the build files instead of running
build, which might give the enough information of my requirement :-/
Post by Jan Matèrne (jhm)
Hacking is always ... surprising ;) as you use APIs in way they weren't intended for.
But it makes fun :O
I am not sure if you can get these information during runtime.
But collecting during a build and analyzing afterwards could be possible
using a custom BuildListener.
With that you get all meessages and could filter ...
How could a build be invoked? <ant>, <subant>, <exec>, <java>, <script>,
<macrodef> wrapping these, custom tasks ...
Many possibilities.
Jan
-----UrsprÃŒngliche Nachricht-----
Gesendet: Mittwoch, 18. November 2015 07:47
Betreff: How to get list of build files that will be executed for Ant
build
Hi,
I am writing some plugin/hack which needs all the build files that will
be used by Ant for the project [Multi-module project].
Something similar to this
My Project----- build.xml|----- Module 1
|
----- build.xml|----- Module 2
|
----- build.xml
and the build.xml is like this
<project name="test">
<property name="project.name" value="test"/>
<ant antfile="module1/build.xml" />
<ant antfile="module2/build.xml" />
</project>
There's echoproperties task which can list out some useful information.
But it doesn't list out anything regarding `antfile` which can call
another build.xml
Any help is appreciated.
---------------------------------------------------------------------
Jan Matèrne (jhm)
2015-11-18 11:31:24 UTC
Permalink
Analyzing would be quite hard as you can include sub-builds dynamically:
<import file="${systemproperty}"/> override the name from the command line or otherwise imported property value.
<subant> add an additional subdirectory ...

Especially if you think of using properties, their value can come from outside ...

So analyzing in a general way would not really practical.

But if you want to rely on some conditions (all buildfiles are named as "build.xml", no use of dynamically imported files) much more should be possible.
But you have to hack deep into the Ant core ...


Jan
-----Ursprüngliche Nachricht-----
Gesendet: Mittwoch, 18. November 2015 12:04
An: Ant Users List
Betreff: Re: How to get list of build files that will be executed for
Ant build
yes. that's the easy way. the biggest challenge is now you have to hack
the build.
So if the build is already done, the ship might have already left the
shore :D
I expected some task in ant to analyze the build files instead of
running build, which might give the enough information of my
requirement :-/
Post by Jan Matèrne (jhm)
Hacking is always ... surprising ;) as you use APIs in way they weren't intended for.
But it makes fun :O
I am not sure if you can get these information during runtime.
But collecting during a build and analyzing afterwards could be
possible using a custom BuildListener.
With that you get all meessages and could filter ...
How could a build be invoked? <ant>, <subant>, <exec>, <java>,
<script>, <macrodef> wrapping these, custom tasks ...
Many possibilities.
Jan
-----Ursprüngliche Nachricht-----
Gesendet: Mittwoch, 18. November 2015 07:47
Betreff: How to get list of build files that will be executed for
Ant build
Hi,
I am writing some plugin/hack which needs all the build files that
will be used by Ant for the project [Multi-module project].
Something similar to this
My Project----- build.xml|----- Module 1
|
----- build.xml|----- Module 2
|
----- build.xml
and the build.xml is like this
<project name="test">
<property name="project.name" value="test"/>
<ant antfile="module1/build.xml" /> <ant
antfile="module2/build.xml" /> </project>
There's echoproperties task which can list out some useful
information.
Post by Jan Matèrne (jhm)
But it doesn't list out anything regarding `antfile` which can call
another build.xml
Any help is appreciated.
---------------------------------------------------------------------
additional
---------------------------------------------------------------------
To unsubscribe, e-mail: user-***@ant.apache.org
For additional commands, e-mail: user-***@ant.apache.org

Loading...