ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject imports (was RE: Did somebody say Shut up and Write? :))
Date Thu, 28 Dec 2000 01:32:46 GMT

I think we're on the same page here - Ant should read in all the project
files in one phase, create the DAG, then run the build in another phase. I
don't think this is how JDD's proposal works, however. Targets in
subprojects don't get included in the main DAG. Instead, there's an
"exec-target" task that runs after the build has started:

     <exec-target target="optional" module="optional/Module"/>

The idea I've been pushing works something like this. Using the Cons
examples, the main directory would have a file called "mysystem.ant" that
looked like:

     <project name="mysystem">
          <import name="drivers"/>
          <import name="parsers"/>
          <import name="utilities"/>

Once a subproject is imported using the "import" statement, you can
reference its targets in the "depends" attribute the way you would any
other target. You just need to prefix it with the subproject name:

     <project name="mysystem">
          <import name="drivers"/>
          <target name="foo" depends="drivers:compile"> <!-- This target
depends on the "compile" target in "drivers" -->

Since imports aren't tasks, but separate constructs, we can parse all of
the subprojects at the same time we parse the main project. And as a result
we can build the entire DAG before we start executing tasks...

Matt Foemmel
ThoughtWorks, Inc.

                    Peter Vogel                                                          
                    <pvogel@arsin        To:     "''" <>
                    .com>                cc:                                          
                                         Subject:     RE: Did somebody say Shut up and Write?
                    03:10 PM                                                             
                    respond to                                                           

I'd like to echo this, JDD's proposal "feels right" from my
12 years perspective doing configuration management/automated

To draw from a tool that I think deserves to have some ideas
stolen and incorporated into ant, the mergeing of targets from
multiple project files is handled by CONS in the following

View raw message