On Wed, 1 May 2002, Christian Willy Asmussen wrote:
> Maybe, if the logic for the maven.war.xxxBuildFile and
> maven.war.xxxBuildTarget is implemented abstractly, it could become
> maven.yyy.xxxBuildFile and maven.yyy.xxxBuildTarget and with yyy beeing
> maven targets (doc,site,etc) solving my previously posted question about
> calling project targets from maven:* targets.
I think Jason has a grand scheme for a generic extension mechanism, but
I'm not sure what it is. I simply patterned the hooks after what he had
done for preparing source in the build-maven.xml file.
That being said, its worth looking at. Maybe I'll see what I can do to
abstract this out.
> One thing that seems very important to me is to "forward" some kind of
> reference to the project classpath build from the set of <depencency> jars
> to the target called. This would avoid having to set the classpath by hand
> on several diferent files.
Good point. Currently, Ant does not inherit references (which is why we
have to go through parsing the project.xml file for EVERY build-*.xml
file) when using <ant> or <antcall>. We do have a local copy of the Ant
classes in maven, I believe expressly for the purposes of allowing
references to be passed, but I don't think we are currently using them.
A workaround would be to create a property that has the value of the
maven classpath reference and pass it during the ant call. All of the
other properties set by maven (and previously by your delegating build
file) are already being passed.
<ant file="${maven.war.prepareBuildFile}"
target="${maven.war.prepareBuildTarget}">
<property name="maven.classpath" refid="classpath" />
</ant>
You could then use it in your own targets as
<some_task_using_a_classpath>
<classpath path="${maven.classpath}" />
</some_task_using_a_classpath>
Would that satisfy your needs?
Glenn McAllister
SOMA Networks, Inc.