You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ant.apache.org by Rishi Gogia <ri...@hotmail.com> on 2007/10/24 12:40:53 UTC

Creating Patch builds

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
 

AW: Creating Patch builds

Posted by Knuplesch, Jürgen <Ju...@icongmbh.de>.
We set a Label for every .java File to show which files should get into the Patch. Then we checkout using this Label.

The advantage is, that classes that should not go into the patch are not checkouted. The problem is, that the programmer sometimes forgets to set the Label.


-- 
Jürgen Knuplesch                    www.icongmbh.de
icon Systemhaus GmbH                Tel. +49 711 806098-275
Sophienstraße 40                    
D-70178 Stuttgart                   Fax. +49 711 806098-299

Geschäftsführer: Uwe Seltmann
HRB Stuttgart 17655
USt-IdNr.: DE 811944121 
-----Ursprüngliche Nachricht-----
Von: Cyriaque Dupoirieux [mailto:cyriaque.dupoirieux@pcotech.fr] 
Gesendet: Mittwoch, 24. Oktober 2007 15:15
An: Ant Users List
Betreff: Re: Creating Patch builds

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 ?
    An Idea ?

Salutations,
Cyriaque,
>
>
>


--
Salutations,
Cyriaque,

Logo PCO
Cyriaque DUPOIRIEUX
Burolines - 2 TER, MARCEL DORET - 31700 BLAGNAC Tél. : 05.34.60.44.13 - Fax : 05.34.60.44.10 Mobile : 06.30.29.17.07 www.pcotech.fr <http://www.pcotech.fr>
-----------------------------------
Ce message et toutes les pièces jointes (ci-après le "message") sont confidentiels et établis à l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisée est interdite.
Tout message électronique est susceptible d'altération.
La société PCO Technologies et ses filiales déclinent toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié.

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


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


Re: Creating Patch builds

Posted by Steve Loughran <st...@apache.org>.
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


Re: Creating Patch builds

Posted by Cyriaque Dupoirieux <cy...@pcotech.fr>.
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 ?
    An Idea ?

Salutations,
Cyriaque,
>
>
>


-- 
Salutations,
Cyriaque,

Logo PCO
Cyriaque DUPOIRIEUX
Burolines - 2 TER, MARCEL DORET - 31700 BLAGNAC
Tél. : 05.34.60.44.13 - Fax : 05.34.60.44.10
Mobile : 06.30.29.17.07
www.pcotech.fr <http://www.pcotech.fr>
-----------------------------------
Ce message et toutes les pièces jointes (ci-après le "message") sont 
confidentiels et établis à l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisée est interdite.
Tout message électronique est susceptible d'altération.
La société PCO Technologies et ses filiales déclinent toute 
responsabilité au titre de ce message s'il a été altéré, déformé ou 
falsifié.

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


Re: Creating Patch builds

Posted by Steve Loughran <st...@apache.org>.
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.



-- 
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


AW: Creating Patch builds

Posted by Knuplesch, Jürgen <Ju...@icongmbh.de>.
Hello,

We use to solve this by creating a jar file out of the old build and put it in the classpath, so that you are able to translate the new files.

The problem occurs when the changes of the new files leads to changes in the .class files of files where teh .java code did not change.

But for test purposes this is ok. 


-- 
Jürgen Knuplesch                    www.icongmbh.de
icon Systemhaus GmbH                Tel. +49 711 806098-275
Sophienstraße 40                    
D-70178 Stuttgart                   Fax. +49 711 806098-299

Geschäftsführer: Uwe Seltmann
HRB Stuttgart 17655
USt-IdNr.: DE 811944121 
-----Ursprüngliche Nachricht-----
Von: Rishi Gogia [mailto:rishi_gogia@hotmail.com] 
Gesendet: Mittwoch, 24. Oktober 2007 12:41
An: user@ant.apache.org
Betreff: Creating Patch builds

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
 

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