ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Goodnough" <Andrew.Goodno...@wicourts.gov>
Subject Re: Building from a list...
Date Wed, 26 Apr 2006 13:22:23 GMT
>>> On Wed, Apr 26, 2006 at  8:06 am, in message
<d8be87680604260606m4d033b32u643f4259aeb29027@mail.gmail.com>, "Andrew Close"
<aclose@gmail.com> wrote: 
> On 4/25/06, Andrew Goodnough <Andrew.Goodnough@wicourts.gov> wrote:
> 
>> Yeah, I forgot that part of what you were looking for.  The closest
>> I've come is this, using a separate "branch- build" file located at the
>> root of your local workspace (same level with the projects):
>>
>> ===branch- build.xml===
>>   <fileset dir="${branch.dir}">
>>     <patternset id="project.files">
>>       <include name="Biz- Cal/build.xml"/>
>>       <include name="CCAP- FOP/build.xml"/>
>>       <include name="CCAP- Util/build.xml"/>
>>       <include name="Jade- Common- Client/build.xml"/>
>>       <include name="Jade- Common- Queries/build.xml"/>
>>       <include name="Jade- Datasource/build.xml"/>
>>       <include name="Jade- Global/build.xml"/>
>>       <include name="Jade- Global- Queries/build.xml"/>
>>       <include name="Jade- GUI/build.xml"/>
>>       <include name="Jade- JMS/build.xml"/>
>>       <include name="Jade- JMX/build.xml"/>
>>       <include name="Jade- JMX- JavaScript/build.xml"/>
>>       <include name="Jade- PDF- Services/build.xml"/>
>>       <include name="Jade- Plugin- Sybase/build.xml"/>
>>       <include name="Jade- Protocols/build.xml"/>
>>       <include name="Jade- Scanner/build.xml"/>
>>       <include name="Jade- Security/build.xml"/>
>>       <include name="Jade- Server/build.xml"/>
>>       <include name="Jade- Software- Bootstrap/build.xml"/>
>> ....etc....
>>     </patternset>
>>   </fileset>
>>
>>   <target name="compile" depends="version" description="Compiles the
>> source files for the whole branch">
>>     <echo message="Compiling ${cvs.tag} projects..."/>
>>     <subant target="compile">
>>           <fileset dir="${branch.dir}">
>>                 <patternset refid="project.files"/>
>>           </fileset>
>>     </subant>
>>   </target>
>>
>>   <target name="jar" depends="version" description="Assembles the
>> current build into a deployable jar files for the whole branch">
>>     <echo message="Jaring ${cvs.tag} projects..."/>
>>     <subant target="jar">
>>           <fileset dir="${branch.dir}">
>>                 <patternset refid="project.files"/>
>>           </fileset>
>>     </subant>
>>   </target>
>>
>>    ..etc..
>> ==================================
>>
>> now I can issue the command:
>>
>> ant - f branch- build.xml compile jar
>>
>>
>> You only have to maintain one main list of projects.  You might be able
>> to get this into an external file, too.  So, if you set up the
>> dependencies on a per project basis (from previous email) all
>> dependencies will be satisfied.  Because this branch- build.xml file
>> calls project builds in order, many popular dependent projects will get
>> called multiple times.  This is not horrible (unless you call clean on
>> every project) because each project will only have to compile once.
> 
> Andy,
> 
> thanks again.  that helps quite a bit.  i'll give your solution a try
> and post back if i have questions. ;)
> 
> ac

Incidentally, I did find a 'includesfile' attribute on the 'patternset' element, so you could
put your list of project build files in an external file so you wouldn't have to modify with
the branch-build.xml every time you wanted to add a new project.

Andy

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message