Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: f5be799da22ebd34cd65f95a257cac096e612296 (plain) (tree)
1
2
3
4
5
6
7
8
9
                           
 



                                                 
                                                  
                                                                                                         
                                                                                
                                                                           
                                                                
                                                                                    





                                                                                        

                            
                                                      
                         

                                                                                                                                                                              
                                                              
                                                                        
                                                                             
                                                            

                                                                               
                                                                                 
                                                                                        

                                                                   

                                                                           
                                                                                            
                                                                                                
                                                                                                    
                                                                                             
                                                                               
                                                                 
                                                                    
                                                                                                          


                                                                

                                                                

                                                                             
                                                                                           


                                                
                                                
                                             
                 
        






                                                                                      
                                                                                      
                                                                             
                      
                                                                                      
                                                                              

                                                                                      


                                                                                      


                                                                                      


                                                                                      

                                                                         


                                                                                      


                                                                                      
                    


                                                                                      
                   


                                                                                      





                                                                                   
                                                                                   
                                                                             
                      
                                                                                   
                                                                              

                                                                                   


                                                                                   


                                                                                   


                                                                                   

                                                                         


                                                                                   


                                                                                   
                    


                                                                                   
                   


                                                                                   


                                                                                   


                                                               
                                                                                         
                                                                  

                 
                                                 

                                                                             
                      
                                                             
                                                                                          
                         
                                                                                     
                                                
                                                                              
                            




                                                                                         

                                                                                            
                    

                                                                                                                               


                                                                                                

                                                                                             

                                                                                        
                          
                                                                                     
                                                                                
                                                                                                                 
                                                                        
                
                                                                       
                                                                                                        
                



                                                                  
                      
                                                                                                                   


                                                                                                                                    
                                                                                                                                   




                                                                             
                                                                                 
               




                                                                                         

                 
                                                                              
                                                     



                                                                               
                
                                             


                                                               
                
                                               


                                              
                 
        
                                             
                                               
                                                       
                                                                                                                                    
                                                                                                                                   
                                                                                                  


                                                                
                                                                     
                                                                






                                                                   




                                                                                                                                    
                                                                                                   
                                                                                            
                                               
                                                                

                                                                            

                 
 
                                                              
                                                                                              
                                                                                        
                                                                                
                                                                                  
                                                         
                                                                            


                                                                                

                                                                         

                                                                       
                                                                        
                                                                                        
                                                                                                         


                                                                   
                      
                                                  
                                                                                 
                                                      
                                                                                 
                                                                       
                                         
                                                                          
                 
        
                                                              
                                        
                                                                                              
                                             
                                                               

                                                           
                                                                                  
                          
                                                                                        

                 





















                                                                                                                  
                                                                           
                                                                                                                            

                                                                                    


                                                                    




                                                                                 

                                                                  


                                                              
                                                                                                                            

                                                                   
                                                                                  
                       


                                                     


                                                                             
                                                       
                                                                                         
                                                                                                                      
 

                 





                                                   
                                                                                   




                                                                                         
                                                                    
                                                    


                       
                                               
                                                                            
                                                                    
                                                       


                       

                                                            
                                                                                                      
                 
 
          
<project default="nightly">

	<target name="hi">
		<echo message="${eclipse.home}"/>
	</target>
	
	<target name="build" depends="zips,test"/>
	<target name="nightly" depends="tag,zips,sign,generate.p2.metadata,test,update.index.html,copy"/>
	<target name="testbuild" depends="zips,generate.p2.metadata,test,copy"/>
	<target name="buildcopy" depends="zips,generate.p2.metadata,copy"/>
	<target name="cdtbuild" depends="tag,zips,test,upload"/>
	<target name="testpack" depends="zips,sign,pack,generate.p2.metadata,copy"/>

	<target name="update-site" depends="zips,generate.p2.metadata">
		<unzip src="${zipsdir}/${masterFile}" dest="${updateSiteLocation}.tmp"/>
		<delete quiet="true" dir="${updateSiteLocation}"/>
		<move file="${updateSiteLocation}.tmp" tofile="${updateSiteLocation}"/>
	</target>
	
	<target name="init">
		<touch file="${user.home}/.cvspass" />
		<tstamp/>
		<property name="eclipseDist" value="/home/data/httpd/download.eclipse.org/eclipse/downloads/drops/S-3.7RC3-201105261708/eclipse-SDK-3.7RC3-linux-gtk.tar.gz"/>
		<property name="rseDist" value="/home/data/httpd/download.eclipse.org/tm/downloads/drops/S-3.3RC3-201106011145/RSE-SDK-3.3RC3.zip"/>
		<property name="branchVersion" value="8.0.0"/>
		<property name="timestamp" value="${DSTAMP}${TSTAMP}" />
		<property name="forceContextQualifier" value="${timestamp}"/>
		<property name="buildingOSGi" value="true"/>
		<property name="buildDirectory" value="${basedir}/results"/>
		<property name="testDirectory" value="${buildDirectory}/test"/>
		<property name="baseLocation" value="${buildDirectory}/eclipse"/>
		<property name="pde.build.scripts" value="${eclipse.pdebuild.scripts}"/>
		<property name="collectingFolder" value="eclipse"/>
		<property name="archivePrefix" value="eclipse"/>
		<property name="buildType" value="I" />
		<property name="buildId" value="${buildType}${timestamp}"/>
		<property name="zipsdir" value="${buildDirectory}/${buildType}.${buildId}"/>
		<property name="masterFile" value="cdt-master-${branchVersion}-${buildId}.zip"/>
		<property name="masterFeature" value="org.eclipse.cdt.master_${branchVersion}.jar"/>
		<property name="cdtTest" value="org.eclipse.cdt.testing_8.0.0.${timestamp}"/>
		<property name="eclipseTest" value="org.eclipse.test_3.3.100"/>
		<property name="messagefile" value="message.in"/>
		<property name="mailto" value="vivkong@ca.ibm.com"/>
		<property name="eclipseRoot" value=":pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse"/>
		<property name="baseos" value="${osgi.os}"/>
		<property name="basews" value="${osgi.ws}"/>
		<property name="basearch" value="${osgi.arch}"/>
		<property name="tagbranch" value=""/>
		<property name="tagname" value="v${timestamp}"/>
		<property name="testReports" value="${zipsdir}/testReports"/>
		<property name="junit-report-output" value="${testReports}"/>
		<property name="updateSiteLocation" value="${buildDirectory}/update-site"/>
		<condition property="onWindows">
			<os family="windows"/>
		</condition>
		<mkdir dir="${buildDirectory}"/>
		<mkdir dir="${testReports}"/>
	</target>
	
	<target name="fetch" depends="init">
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/platform"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/sdk"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/gdbjtag"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/lrparser"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/lrparser.sdk"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/upc"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/upc.sdk"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/xlc"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/xlc.sdk"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/util"/>
		</ant>
		<!--
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/dsfgdb"/>
		</ant>
		-->
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="preBuild">
			<property name="builder" value="${basedir}/memory"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/platform"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/sdk"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/gdbjtag"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/lrparser"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/lrparser.sdk"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/upc"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/upc.sdk"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/xlc"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/xlc.sdk"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/util"/>
		</ant>
		<!--
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/dsfgdb"/>
		</ant>
		-->
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/memory"/>
		</ant>
		<ant antfile="build.xml" dir="${pde.build.scripts}" target="fetch">
			<property name="builder" value="${basedir}/codan"/>
		</ant>
	</target>
	
	<target name="unzip" depends="init" unless="dontUnzip">
		<untar src="${eclipseDist}" dest="${buildDirectory}" compression="gzip"/>
		<unzip src="${rseDist}" dest="${buildDirectory}"/>
	</target>
	
	<target name="zips" depends="init,unzip">
		<ant antfile="build.xml" dir="${pde.build.scripts}">
			<property name="builder" value="${basedir}/master" />
		</ant>
		<concat destfile="${zipsdir}/compilelog.txt">
			<fileset dir="${buildDirectory}/plugins" includes="**/*@dot.log"/>
		</concat>
		<loadfile property="compileLog" srcFile="${zipsdir}/compilelog.txt"/>
		<condition property="hasErrors">
			<contains string="${compileLog}" substring=" ERROR "/>
		</condition>
		<copy file="buildindex.html" tofile="${zipsdir}/index.html"/>
		<replace file="${zipsdir}/index.html">
			<replacefilter token="@branchVersion@" value="${branchVersion}"/>
			<replacefilter token="@buildId@" value="${buildId}"/>
		</replace>
		<move file="${zipsdir}/${masterFile}" todir="${buildDirectory}"/>
		<unzip src="${buildDirectory}/${masterFile}" dest="${buildDirectory}/site"/>
		<!--
		<move file="${buildDirectory}/site/linux.gtk.x86/eclipse/epl-v10.html" todir="${buildDirectory}/site/eclipse"/>
		<move file="${buildDirectory}/site/linux.gtk.x86/eclipse/notice.html" todir="${buildDirectory}/site/eclipse"/>
		-->
		<copy file="epl-v10.html" tofile="${buildDirectory}/site/eclipse/epl-v10.html"/>
		<copy file="notice.html" tofile="${buildDirectory}/site/eclipse/notice.html"/>
		<copy file="buildsite.xml" tofile="${buildDirectory}/site/eclipse/site.xml"/>
		<replace file="${buildDirectory}/site/eclipse/site.xml">
			<replacefilter token="@buildVersion@" value="${branchVersion}"/>
			<replacefilter token="@timeStamp@" value="${timestamp}"/>
		</replace>
		<copy file="pack.properties" todir="${buildDirectory}/site/eclipse"/>
		<!-- for some reason LPG isn't getting picked up-->		
		<copy file="${buildDirectory}/plugins/net.sourceforge.lpg.lpgjavaruntime_1.1.0.v200803061910.jar"
			todir="${buildDirectory}/site/eclipse/plugins"/>
		
		<!-- remove the master feature from the update site -->
		<delete verbose="true" file="${buildDirectory}/site/eclipse/features/${masterFeature}"/>
		
		<zip destfile="${zipsdir}/${masterFile}"
			basedir="${buildDirectory}/site/eclipse"/>
	</target>
	
	<!--pack200-->
	<!-- this will pack the master zip using pack200 and generate p2 metadata based on the packed master zip-->
	<target name="pack" depends="init" unless="hasErrors">
    	<echo message="Pack200" />
    	<property name="launcher" value="${basedir}/tools/org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar"/>
        <java jar="${launcher}" fork="true" timeout="10800000" failonerror="true" maxmemory="768m" dir="${buildDirectory}/eclipse">
            <arg line="-application org.eclipse.update.core.siteOptimizer" />
            <arg line="-jarProcessor"/>
        	<arg line="-verbose"/>
        	<arg line="-processAll"/>
        	<arg line="-pack"/>
        	<arg line="-outputDir ${zipsdir}/pack ${zipsdir}/${masterFile}"/>
        </java>
		
		<antcall target="generate.p2.metadata">
			<param name="p2dir" value="${zipsdir}/pack/p2"/>
			<param name="destination" value="${zipsdir}/pack/${masterFile}"/>
		</antcall>
	</target>
	
	<target name="generate.p2.metadata" depends="init" unless="hasErrors">
		<!-- unzip the signed master site -->
		<property name="p2dir" value="${zipsdir}/p2"/>
		<property name="destination" value="${zipsdir}/${masterFile}"/>
		
		<unzip src="${destination}" dest="${p2dir}"/>
		
		<!-- generate p2 metadata -->
		<antcall target="p2.metadata.generator">
			<param name="p2site" value="${p2dir}"/>
		</antcall>
		
		<!-- zip everything back up -->
		<zip destfile="${destination}"
			basedir="${p2dir}"/>
		<delete dir="${p2dir}"/>
	</target>
	
    <target name="p2.metadata.generator_old">
    	<echo message="Generate p2 Metadata" />
    	<property name="p2site" value="${zipsdir}/p2"/>
    	<property name="launcher" value="${basedir}/tools/org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar"/>
    	<java jar="${launcher}" fork="true" timeout="10800000" failonerror="true" maxmemory="768m" dir="${buildDirectory}/eclipse">
            <arg line="-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator" />
            <arg line="-updateSite ${p2site}"/>
        	<arg line="-site file:${p2site}/site.xml"/>
        	<arg line="-metadataRepository file:${p2site}"/>
        	<arg line="-metadataRepositoryName CDT Update Site"/>
        	<arg line="-artifactRepository file:${p2site}"/>
        	<arg line="-artifactRepositoryName CDT Artifacts"/>
        	<arg line="-compress"/>
        	<arg line="-reusePack200Files"/>
        	<arg line="-noDefaultIUs"/>
        	<arg line="-vmargs -Xmx256M"/>
        </java>
	</target>
	
    <target name="p2.metadata.generator">
    	<echo message="Generate p2 Metadata" />
    	<property name="p2site" value="${zipsdir}/p2"/>
    	<property name="launcher" value="${basedir}/tools/org.eclipse.releng.basebuilder/plugins/org.eclipse.equinox.launcher.jar"/>
    	<java jar="${launcher}" fork="true" timeout="10800000" failonerror="true" maxmemory="768m">
            <arg line="-application org.eclipse.equinox.p2.publisher.UpdateSitePublisher" />
    		<arg line="-source ${p2site}"/>
        	<arg line="-metadataRepository file:${p2site}"/>
        	<arg line="-artifactRepository file:${p2site}"/>            
        	<arg line="-compress -publishArtifacts -reusePack200Files"/>
        </java>
	</target>

	<target name="test" depends="init" unless="hasErrors">
		<record name="${testReports}/testsLog.txt" action="start" loglevel="verbose"/>
		<untar src="${eclipseDist}" dest="${testDirectory}" compression="gzip"/>
		<!--unzip src="${mylynDist}" dest="${testDirectory}/eclipse"/-->
		<unzip src="${zipsdir}/cdt-master-${branchVersion}-${buildId}.zip"
			dest="${testDirectory}/eclipse"/>
		<unzip src="${testDirectory}/eclipse/plugins/${cdtTest}.jar"
			dest="${testDirectory}/test/cdt"/>
		<unzip src="${testDirectory}/eclipse/plugins/${eclipseTest}.jar"
			dest="${testDirectory}/test/eclipse"/>		
		<delete file="${testDirectory}/eclipse/site.xml"/>
		<delete file="${testDirectory}/eclipse/pack.properties"/>
		<delete file="${testDirectory}/eclipse/artifacts.jar"/>
		<delete file="${testDirectory}/eclipse/content.jar"/>
		<ant antfile="test.xml" dir="${testDirectory}/test/cdt">
			<property name="eclipse-home" value="${testDirectory}/eclipse"/>
			<property name="library-file" value="${testDirectory}/test/eclipse/library.xml"/>
			<property name="os" value="${baseos}"/>
			<property name="ws" value="${basews}"/>
			<property name="arch" value="${basearch}"/>
		</ant>
		<xslt style="${basedir}/JUNIT.XSL"
			in="${testDirectory}/eclipse/org.eclipse.cdt.testing.xml"
			out="${zipsdir}/junits.html"/>
		<copy file="${testDirectory}/eclipse/org.eclipse.cdt.testing.xml"
		    tofile="${testReports}/org.eclipse.cdt.testing.xml"
		    failonerror="false"/>
		<record name="${testReports}/testsLog.txt" action="stop"/>
	</target>
	
	<target name="sign" depends="init" unless="hasErrors">
		<exec executable="sign">
			<arg value="${buildDirectory}/${buildType}.${buildId}/${masterFile}"/>
			<arg value="nomail"/>
			<arg value="${buildDirectory}/signed"/>
		</exec>
		<waitfor maxwait="30" maxwaitunit="minute">
			<available file="${buildDirectory}/signed/${masterFile}"/>
		</waitfor>
		<move file="${buildDirectory}/signed/${masterFile}" todir="${zipsdir}"/>
	</target>

	<target name="upload" depends="init" unless="hasErrors">
		<property name="remotedir" value="dschaefer@dev.eclipse.org:cdt/builds/${branchVersion}"/>
		<exec dir="${buildDirectory}" executable="scp">
			<arg line="${remotedir}/index.html index.html"/>
		</exec>
		<replace file="${buildDirectory}/index.html">
			<replacetoken><![CDATA[  <!-- add here -->]]></replacetoken>
			<replacevalue><![CDATA[  <li><a href="@buildType@.@buildId@/index.html">@buildId@</a></li>
  <!-- add here -->]]></replacevalue>
		</replace>
		<replace file="${buildDirectory}/index.html">
			<replacefilter token="@buildType@" value="${buildType}"/>
			<replacefilter token="@buildId@" value="${buildId}"/>
		</replace>
		<exec dir="${buildDirectory}" executable="scp">
			<arg line="index.html ${remotedir}/index.html"/>
		</exec>
		<exec dir="${buildDirectory}" executable="scp">
			<arg line="-r ${buildType}.${buildId} ${remotedir}"/>
		</exec>
	</target>
	
	<target name="update.index.html" depends="init" unless="hasErrors">
		<property name="copyToDir" value="/home/data/httpd/download.eclipse.org/tools/cdt/builds/${branchVersion}"/>
		<replace file="${copyToDir}/index.html">
			<replacetoken><![CDATA[  <!-- add here -->]]></replacetoken>
			<replacevalue><![CDATA[  <!-- add here -->
<li><a href="@buildType@.@buildId@/index.html">@buildId@</a></li>]]>
			</replacevalue>
		</replace>
		<replace file="${copyToDir}/index.html">
			<replacefilter token="@buildType@" value="${buildType}"/>
			<replacefilter token="@buildId@" value="${buildId}"/>
		</replace>
		<chmod file="${copyToDir}/index.html" perm="664"/>

	</target>
	
	<target name="copy" depends="init" unless="hasErrors">
		<property name="copyToDir" value="/home/data/httpd/download.eclipse.org/tools/cdt/builds/${branchVersion}"/>
		<mkdir dir="${copyToDir}/${buildType}.${buildId}"/>
		<copy todir="${copyToDir}/${buildType}.${buildId}">
			<fileset dir="${buildDirectory}/${buildType}.${buildId}"/>
		</copy>
		<chmod perm="g+w" dir="${copyToDir}">
			<dirset dir="${copyToDir}"/>
		</chmod>
		<chmod perm="g+w" dir="${copyToDir}/${buildType}.${buildId}">
			<dirset dir="${copyToDir}/${buildType}.${buildId}"/>
		</chmod>
		<!-- Create symlink to latest build -->
		<symlink action="delete" link="${copyToDir}/latest" failonerror="false"/>
		<symlink link="${copyToDir}/latest" resource="${copyToDir}/${buildType}.${buildId}" overwrite="true"/>

	</target>

	<target name="mail" depends="init">
		<antcall target="mailPass"/>
		<antcall target="mailFail"/>
	</target>
	
	<target name="mailPass" unless="hasErrors">
		<copy file="${messagefile}" tofile="message.txt" overwrite="true"/>
		<replace file="message.txt">
			<replacefilter token="@branchVersion@" value="${branchVersion}"/>
			<replacefilter token="@buildId@" value="${buildId}"/>
		</replace>
		<mail subject="CDT ${branchVersion} Build ${buildId} completed"
 			tolist="${mailto}" from="dschaefer@qnx.com">
			<message src="message.txt"/>
		</mail>
	</target>

	<target name="mailFail" if="hasErrors">
		<mail subject="CDT ${branchVersion} Build ${buildId} failed"
			tolist="${mailto}" from="dschaefer@qnx.com">
			<message src="compilelog.txt"/>
		</mail>
	</target>

	<target name="tag" depends="init">
		<property name="cdtTag" value="${tagname}"/>
		<cvs cvsroot="/cvsroot/tools" command="rtag ${tagbranch} ${tagname} org.eclipse.cdt"/>
	</target>

</project>

Back to the top