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







                                                                 
    





                                                                                  



                                                                   









                              

                             














                                        
                                                         



                       
                                                                     



                           




                          
                                               


























































































                                                                                   

                                             


























































                                                                         
                                                         



                      
<?xml version="1.0" encoding="UTF-8"?>
<project
  name="delta pack build"
  default="assembler"
  basedir=".">
  <!--
    This script is a starting point for creating a traditional
    "delta pack" for anyone who does not what to use p2 directly.
    
    The ant task has to be invoked via the antRunner application. Something 
    similar to 
      ./eclipse -application org.eclipse.ant.core.antRunner -f createdeltapack.xml
    
    Be sure to adjust, or pass in, the appropriate buildLabel and buildRepo.
    
    Note: the resulting delta pack has not been tested. 
    
    Please comment in bug 470913 with imrovements that can be made.
    https://bugs.eclipse.org/bugs/show_bug.cgi?id=470913
  -->


  <target
    name="init"
    unless="buildInitialized">
    <property
      name="projectDir"
      value="${basedir}" />
    <property
      name="buildLabel"
      value="latestIBuild" />
    <property
      name="resultsDir"
      value="${projectDir}/results" />
    <property
      name="buildlogs"
      value="${resultsDir}/buildlogs" />
    <property
      name="checksum"
      value="${resultsDir}/checksum" />
    <delete
      verbose="true"
      dir="${buildlogs}" />
    <mkdir dir="${buildlogs}" />

    <record
      name="${buildlogs}/deltaPack-${buildLabel}-log.txt"
      action="start" />

    <property
      name="buildRepo"
      value="http://download.eclipse.org/eclipse/updates/I-builds" />
    <property
      name="projectDir"
      value="${basedir}" />
    <property
      name="archivePrefix"
      value="eclipse" />

    <property
      name="archiveRoot"
      value="${archivePrefix}-${buildLabel}" />
    <property
      name="archiveName"
      value="${archiveRoot}-delta-pack.zip" />

    <property
      name="featureTempRoot"
      value="${projectDir}/rcp.deltapack" />
    <property
      name="featureTempDir"
      value="featureTemp" />
    <property
      name="featureTemp"
      value="${featureTempRoot}/${featureTempDir}" />
    <property
      name="featureTemp2"
      value="${featureTempRoot}/featureTemp2" />
    <delete
      verbose="true"
      dir="${featureTemp}" />
    <mkdir dir="${featureTemp}" />
    <delete
      verbose="true"
      dir="${featureTemp2}" />
    <mkdir dir="${featureTemp2}" />

    <property
      name="archivePathAndName"
      value="${resultsDir}/${archiveName}" />

    <property
      name="buildInitialized"
      value="true" />

  </target>

  <target
    name="build"
    depends="init">
    <echo message="DEBUG: echoproperties at beginning of deltapack (after init)" />
    <echoproperties />

    <!--need to change slicing options to only include platform specific bits -->
    <p2.mirror
      source="${buildRepo}"
      log="${buildlogs}/deltapackmirrorlog.txt"
      verbose="true"
      ignoreerrors="true">
      <destination
        kind="metadata"
        location="file://${featureTemp}"
        name="RCP Delta Pack Repo"
        format="${buildRepo}" />
      <destination
        kind="artifact"
        location="file://${featureTemp}"
        name="RCP Delta Pack Repo"
        format="${buildRepo}" />
      <iu
        id="org.eclipse.equinox.executable.feature.group"
        version="" />
      <iu
        id="org.eclipse.rcp.configuration.feature.group"
        version="" />
      <iu
        id="org.eclipse.platform.feature.group"
        version="" />
      <iu
        id="org.eclipse.platform.source.feature.group"
        version="" />
      <iu
        id="org.eclipse.rcp.feature.group"
        version="" />
      <iu
        id="org.eclipse.rcp.source.feature.group"
        version="" />
      <iu
        id="org.eclipse.jdt.feature.group"
        version="" />
      <iu
        id="org.eclipse.jdt.source.feature.group"
        version="" />
      <iu
        id="org.eclipse.e4.rcp.feature.group"
        version="" />
      <iu
        id="org.eclipse.e4.rcp.source.feature.group"
        version="" />
      <slicingOptions
        includeOptional="false"
        includeNonGreedy="false"
        followStrict="true"
        followOnlyFilteredRequirements="true"
        latestVersionOnly="true"/>
    </p2.mirror>
    <p2.remove.iu>
      <repository location="file://${featureTemp}" />
      <iu id="org.eclipse.jdt.feature.jar" />
      <iu id="org.eclipse.jdt.source.feature.jar" />
      <iu id="org.eclipse.platform.feature.jar" />
      <iu id="org.eclipse.platform.source.feature.jar" />
      <iu id="org.eclipse.rcp.feature.jar" />
      <iu id="org.eclipse.rcp.source.feature.jar" />
      <iu id="org.eclipse.e4.rcp.feature.jar" />
      <iu id="org.eclipse.e4.rcp.source.feature.jar" />
    </p2.remove.iu>
    <p2.repo2runnable
      destination="${featureTemp2}/eclipse"
      failonerror="true">
      <source
        dir="${featureTempRoot}"
        includes="${featureTempDir}" />
    </p2.repo2runnable>
    <delete verbose="true">
      <fileset
        dir="${featureTemp2}/eclipse"
        includes="*.jar" />
      <fileset
        dir="${featureTemp2}/eclipse"
        includes="*.xml" />
    </delete>

  </target>

  <target
    name="assembler"
    depends="init, build">
    <delete
      verbose="true"
      file="${archivePathAndName}"
      failonerror="false" />
    <exec
      executable="zip"
      dir="${featureTemp2}">
      <arg line="${archivePathAndName} -r ." />
    </exec>

    <delete
      verbose="true"
      dir="${checksum}" />
    <mkdir dir="${checksum}" />
    <checksum
      file="${archivePathAndName}"
      algorithm="sha256"
      todir="${checksum}"
      pattern="{0} *{1}" />

    <!--
      If desired, this would be a good place to remove ${featureTempRoot}
      since no longer needed ... but, but might assist with debugging?
    -->

    <record
      name="${buildlogs}/deltaPack-${buildLabel}-log.txt"
      action="stop" />

  </target>
</project>

Back to the top