ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <>
Subject Re: Creating Patch builds
Date Wed, 24 Oct 2007 14:15:54 GMT
Cyriaque Dupoirieux wrote:
> Steve Loughran a écrit :
>> Rishi Gogia wrote:
>>> Hi
>>> I am using SVN as a repository and Weblogic Integration as my 
>>> application server. I have more than 10 programmers working on the 
>>> same project. I wanted to know if I want to do a patch build, how 
>>> would I be able to do it?
>>> By Patch build I mean compiling only those files which are changed. I 
>>> was able to get the files from the revision. But since the complete 
>>> build takes more than 20 minutes, I need to build only the changed 
>>> files and put them in their corresponding location in the ear.
>>> The files which are changed can be java files as well as WSDL, 
>>> Processes etc. these need to be compiled and the class file needs to 
>>> be put in the ear.
>>> Please suggest me a way how to do this.
>>> Thanks in advance
>>> Regards
>>> Rishi
>> This is normally called an incremental build. By default, Ant builds 
>> incrementally, if all the existing .class files are there.
>> Where you may have problems is that WSDL to Java may create new files 
>> with new timestamps, that exactly match the previous source -your app 
>> server's wsdl2java tool probably isnt dependency aware. If this is the 
>> case
>> 1. generate the wsdl2java output in one directory (say, build/wsdl/src )
>> 2. use a <copy> with the <different> selector.
>> <copy todir="build/wsdl/src2" preservelastmodified="true">
>>  <fileset dir="build/wsdl/src" includes="**/*>
>>   <different targetdir="build/wsdl/src2"
>>         ignoreFileTimes="false"/>
>>  </fileset>
>> </copy>
>> 3. compile the copied source
>> This ensures that only generated java source files that are different 
>> from the previous set are copied, and hence compiled.
> Hi,
>    I nearly have the same problem :
>    Sometimes we go and work in a customer site to make some bug fixing.
>    We need to include in a jar all the classes that have changed since 
> the last CVS update - and we don't have the access to CVS since we are 
> not at home...
>     The CVS client we use displays in red the changed files, but I don't 
> know how to find them with Ant ?
>    The idea to use the <copy> with the <different> selector is not to 
> bad if we have a copy of the sources corresponding to the CVS 
> repository. But maybe there is a better solution ?

Putting the "process police" hat on, dont do this. You run a risk of 
mixing things, such as outdated class files.

when you get a support call "x doesnt work" and you say "what version 
are you running", they will say "I dont know" -and you wont be able to 
recreate it.

Give them a JAR of a clean build of a specific labelled repository version.

Steve Loughran        
Author: Ant in Action 

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message