ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <ste...@apache.org>
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                  http://www.1060.org/blogxter/publish/5
Author: Ant in Action           http://antbook.org/

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


Mime
View raw message