Skip to main content
summaryrefslogblamecommitdiffstats
blob: 306efb9fb2cf40c4d6ce907e953d3ac0746a60b4 (plain) (tree)






















                                                                                                      


                                  
                                                                                                 



                            

                                      
                                                                              


                                                                         


                              

           


                   
                                                                  



                                                                                                         
                                                        


                                       


            
                                                                                                 
                                                                                                  


                                              
                                                                                        


                                                                                                        






                                                                                                                      


                                            
 

                           
                                                                   
 



                                   
 

                                                                   
         
                            
                                                   

                                                                     
 
 

                                                                                               
                                                             



                                                               
           
 
                                                                                                              






                                                                                                             




                                                                                                  

                                                  
                                                             
           











                                                                                          





                                                                   
 
                                               
 


                                                                                                                   






                                                                                                
                                                                                    
                                                     
                                             

                                                                                           
                                                                       
 
                                                                         


           


                              
                                                  
                                         


                                          

                                         


                                              

                                         


                                                 

                                         


                                             

                                         


                                            

                                         


                                               
              
 
                                         


                                             
              
 
                                         


                                               

                                         


                                                

                                         


                                   

                                         


                                        

                                         


                                            

                                         


                                               

                                         


                                                  

                                         


                                             

                                         


                                         

                                         


                                         

                                         


                                           

                                         


                                                 

                                         


                                         

                                         


                                         

                                         


                                                 

                                         


                                                          

                                         


                                                    

                                         


                                                   

                                         


                                                         

                                         


                                                    

                                         


                                                      

                                         


                                                      

                                         


                                           

                                         


                                                

                                         


                                

                                         


                                    

                                         


                           

                                         


                                             

                                         


                                                

                                         


                                                

                                         


                                              
              
 
                                         


                                                         

                                         


                                                 

                                         


                                                  

                                         


                                             

                                         


                                                 

                                         


                                             

                                         


                                         

                                         


                                         

                                         


                                         

                                         


                                           

                                         


                                       

                                         


                                            





                                                                                






                                                   






                                                            






















                                                    








                                                                                

          
<project
  name="Build specific targets and properties"
  default="noDefault"
  basedir=".">

  <target
    name="init"
    unless="helperInitialized">
    <fail
      unless="postingDirectory"
      message="Eclipse drop directory must be provided (yes, even for Equinox drop site creation)." />

    <fail
      unless="equinoxPostingDirectory"
      message="Root (or parent) of Equinox drop direcotry to be created must be provided." />

    <fail
      unless="eqpublishingContent"
      message="Root of Equinox template and static files must be provided." />

    <fail
      unless="EBuilderDir"
      message="Root of Eclipse Builder (or Tycho Eclipse Builder) must be provided." />

    <property environment="env" />

    <!-- we typically expect TMP_DIR to be set in environnment. But, if not, /tmp might work. -->
    <condition
      property="TMP"
      value="${env.TMP_DIR}"
      else="/tmp">
      <isset property="env.TMP_DIR" />
    </condition>
        <!-- make dir, in case we are first to use it, unlikely as that is -->
    <mkdir dir="$TMP" />
    <echo message="DEBUG: echo properties at start of equinox publish" />
    <echoproperties />
    <property
      name="helperInitialized"
      value="true" />

  </target>
  <target
    name="publish"
    depends="init">
    <echo message="[DEBUG] Equinox helper.xml publish starting" />
        <!-- there are three "buildproperties.* files, each with same variables defined/used
             during the build, such as BUILD_ID, etc. One for PHP, one for Ant, and one for BASH scripts.
             The one for PHP is most likely to be useful on download site.
        -->
    <copy todir="${equinoxPostingDirectory}/${buildId}">
      <fileset
        dir="${postingDirectory}"
        includes="buildproperties.*" />
    </copy>

        <!--
          These two steps were "blindly" copied from previosly eclipsebuilder, buildAll.xml file.
          They were the only two things done for equininox before "publish" was called, so we call
          them as the first step of "publish".
        -->

        <!-- <ant antfile="${EBuilderDir}/equinox/buildConfigs/equinox/build.xml" /> -->
    <ant antfile="${EBuilderDir}/equinox/buildConfigs/equinox-launchers/build.xml" />

    <!-- copy orbit files to equinox download directory (I'm not sure this is necessary any longer?) -->
    <copy
      todir="${equinoxPostingDirectory}/${buildDir}"
      overwrite="true">
      <fileset
        dir="${buildRepo}/plugins"
        includes="org.apache.felix.gogo.*,javax.servlet_*,javax.servlet.jsp_*,org.apache.commons.logging_*,javax.el_*"
        excludes="*.source_*, *.jar.pack.gz" />
    </copy>

    <antcall target="updateTestManifests" />

    <property
      name="generatorClass"
      value="org.eclipse.releng.generators.TestResultsGenerator" />

    <available
      classname="${generatorClass}"
      property="class"
      value="${generatorClass}" />

    <!-- generate md5s and sha1s for bundles -->
    <mkdir dir="${equinoxPostingDirectory}/${buildDir}/checksum" />
    <exec
      executable="/bin/bash"
      dir="${equinoxPostingDirectory}/${buildDir}">
      <arg line="${EBuilderDir}/eclipse/extras/produceChecksum.sh" />
    </exec>


    <!--post clickThroughs. Removed 03/26/2013. There are no clickthroughs for current equinox.
        if ever added back, will have to be re-worked.
        <copy todir="${equinoxPostingDirectory}/${buildDir}">
            <fileset
                dir="${buildDirectory}/maps/org.eclipse.releng"
                includes="clickThroughs/" />
        </copy>
        -->

    <!--copy compile logs to this posting directory. Not sure needed. Is this where API reports come from? -->
    <copy
      todir="${equinoxPostingDirectory}/${buildDir}"
      overwrite="true">
      <fileset
        dir="${postingDirectory}"
        includes="compilelogs/**/plugins/org.eclipse.osgi*/**,compilelogs/**/plugins/org.eclipse.equinox*/**"
        excludes="compilelogs/**/plugins/org.eclipse.osgi.test*/**" />
    </copy>


        <!--post directory.txt.  Removed 03/26/2013. I don't think ever displayed on Equinox page.
        and current directory.txt has limited usefulness.
        <copy
            file="${buildDirectory}/directory.txt"
            todir="${equinoxPostingDirectory}/${buildDir}" />
        -->
    <copy todir="${equinoxPostingDirectory}/${buildDir}">
      <fileset dir="${eqpublishingContent}/staticDropFiles" />
    </copy>

    <!-- regenerate the index page with links to test results.
         Removed 3/26/20113. There are no test results, at this point on initial promote,
         and for at least past year and a half we have never "reran" this to pick up
         test results. I do not see any test results links on DL page .... though,
         probably could be in icons.
         Turns out we still need to run the "indexer" to update DL page, even though
         there are no test results. That's how it fills in the symbols in drop token list.
    -->
    <property
      name="class"
      value="org.eclipse.releng.generators.TestResultsGenerator" />
    <taskdef
      name="indexResults"
      classname="${class}" />

        <!-- equinox uses same test results -->

        <!-- provisioning removed per bug 368488
          dropTokenList="%equinox%,%framework%,%extrabundles%,%other%,%provisioning%,%launchers%,%osgistarterkits%"
          -->
    <indexResults
      isBuildTested="false"
      buildType="${buildType}"
      dropTokenList="%equinox%,%framework%,%extrabundles%,%other%,%launchers%,%osgistarterkits%"
      dropHtmlFileName="index.php"
      xmlDirectoryName="${postingDirectory}/testresults/xml"
      dropDirectoryName="${equinoxPostingDirectory}/${buildDir}"
      dropTemplateFileName="${eqpublishingContent}/templateFiles/index.template.php"
      testResultsHtmlFileName="testResultsTable.html"
      hrefTestResultsTargetPath="testresults"
      hrefCompileLogsTargetPath="compilelogs/plugins/"
      compileLogsDirectoryName="${equinoxPostingDirectory}/${buildDir}/compilelogs/plugins"
      testManifestFileName="${eqpublishingContent}/testManifest.xml" />

    <echo message="[DEBUG] Equinox helper.xml publish ending normally" />
  </target>


  <target
    name="updateTestManifests"
    depends="init">
    <echo message="Starting updateTestManifest" />
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.app" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.console" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.supplement" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.device" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.event" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.launcher" />
    </antcall>

    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.region" />
    </antcall>

    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.metatype" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.useradmin" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.osgi" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.osgi.util" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.osgi.services" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.registry" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.preferences" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.common" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.cm" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.ds" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.http" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.http.jetty" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.io" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.ip" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.jsp.jasper" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.jsp.jasper.registry" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.http.registry" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.http.servlet" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.http.servletbridge" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.servletbridge" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.transforms.hook" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.transforms.xslt" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.util" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.wireadmin" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="javax.servlet" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="javax.servlet.jsp" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="javax.el" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.apache.commons.logging" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.apache.felix.gogo.command" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.apache.felix.gogo.runtime" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.apache.felix.gogo.shell" />
    </antcall>

    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.simpleconfigurator" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.concurrent" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.coordinator" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.equinox.region" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.jetty.continuation" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.jetty.security" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.jetty.util" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.jetty.http" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.jetty.http" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.jetty.server" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.jetty.io" />
    </antcall>
    <antcall target="updateTestManifest">
      <param
        name="bundle.id"
        value="org.eclipse.jetty.servlet" />
    </antcall>
  </target>

  <!-- ===================================================================== -->
  <!-- Helper targets -->
  <!-- ===================================================================== -->
  <target
    name="updateTestManifest"
    depends="init">
    <apply
      executable="ls"
      output="${TMP}/${bundle.id}.txt"
      dir="${equinoxPostingDirectory}/${buildDir}">
      <fileset dir="${equinoxPostingDirectory}/${buildDir}">
        <patternset>
          <include name="${bundle.id}*.jar" />
        </patternset>
      </fileset>
    </apply>

    <replaceregexp
      file="${TMP}/${bundle.id}.txt"
      match="/.+/"
      replace="" />
    <replaceregexp
      file="${TMP}/${bundle.id}.txt"
      match="\.jar"
      replace="" />
    <replaceregexp
      file="${TMP}/${bundle.id}.txt"
      match="\n"
      replace="" />
    <loadfile
      property="bundle.jar"
      srcFile="${TMP}/${bundle.id}.txt"
      failonerror="off" />
    <delete
      file="${TMP}/${bundle.id}.txt"
      failonerror="false" />
    <replace
      file="${eqpublishingContent}/testManifest.xml"
      token="@${bundle.id}@"
      value="${bundle.jar}" />
  </target>


  <!-- ===================================================================== -->
  <!-- Default target                                                        -->
  <!-- ===================================================================== -->
  <target name="noDefault">
    <echo message="You must specify a target when invoking this file" />
  </target>

</project>

Back to the top