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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to