| <project name="Pdebuild bootstrap" default="cleanBuild" basedir="."> |
| <property file="pdebuild.properties" /> |
| <property name="sdkSource" value="build/eclipse-${label}-src" /> |
| <target name="cleanBuild" depends="clean,removeGeneratedBuildXMLs" /> |
| <macrodef name="generateBuildScripts"> |
| <attribute name="buildDirs" /> |
| <attribute name="rootDir" /> |
| <sequential> |
| <pathconvert pathsep=", " property="plugins"> |
| <filelist refid="@{buildDirs}" /> |
| <mapper> |
| <chainedmapper> |
| <flattenmapper /> |
| <globmapper from="*" to="plugin@*" /> |
| </chainedmapper> |
| </mapper> |
| </pathconvert> |
| <eclipse.buildScript elements="${plugins}" |
| builddirectory="@{rootDir}" /> |
| </sequential> |
| </macrodef> |
| |
| |
| <!-- Order in this filelist is critical for building !!! --> |
| <property name="depsDirsProperty" |
| value="org.eclipse.osgi |
| org.eclipse.equinox.common |
| org.eclipse.core.jobs |
| org.eclipse.equinox.registry |
| org.eclipse.equinox.preferences |
| org.eclipse.core.runtime.compatibility.auth |
| org.eclipse.core.contenttype |
| org.eclipse.equinox.app |
| org.eclipse.core.runtime |
| org.eclipse.core.variables |
| org.eclipse.ant.core |
| org.eclipse.equinox.p2.core |
| org.eclipse.equinox.p2.metadata |
| org.eclipse.equinox.frameworkadmin |
| org.eclipse.equinox.frameworkadmin.equinox |
| org.eclipse.equinox.p2.jarprocessor |
| org.eclipse.equinox.security |
| org.eclipse.core.net |
| org.eclipse.equinox.concurrent |
| org.eclipse.ecf.ssl |
| org.eclipse.ecf.identity |
| org.eclipse.ecf |
| org.eclipse.ecf.filetransfer |
| org.eclipse.ecf.provider.filetransfer |
| org.eclipse.ecf.provider.filetransfer.ssl |
| org.eclipse.ecf.provider.filetransfer.httpclient |
| org.eclipse.ecf.provider.filetransfer.httpclient.ssl |
| org.eclipse.equinox.p2.repository |
| org.eclipse.equinox.p2.artifact.repository |
| org.eclipse.equinox.p2.metadata.repository |
| org.eclipse.equinox.simpleconfigurator |
| org.eclipse.equinox.simpleconfigurator.manipulator |
| org.eclipse.equinox.p2.publisher |
| org.eclipse.update.configurator |
| org.eclipse.core.runtime.compatibility |
| org.eclipse.equinox.p2.engine |
| org.eclipse.equinox.p2.director |
| org.eclipse.equinox.p2.publisher.eclipse |
| org.eclipse.equinox.p2.repository.tools |
| org.eclipse.equinox.p2.updatesite |
| org.eclipse.pde.build |
| org.eclipse.equinox.launcher |
| org.eclipse.osgi.services |
| org.eclipse.equinox.p2.console |
| org.eclipse.equinox.p2.director.app |
| org.eclipse.update.core |
| org.eclipse.equinox.p2.garbagecollector |
| org.eclipse.core.expressions |
| org.eclipse.equinox.http.servlet |
| org.eclipse.equinox.p2.touchpoint.eclipse |
| org.eclipse.equinox.p2.touchpoint.natives" /> |
| <!-- |
| <file name="org.eclipse.help" /> |
| <file name="org.eclipse.help.base" /> |
| --> |
| <filelist id="depsDirs" dir="${sdkSource}/plugins" files="${depsDirsProperty}"/> |
| |
| <property name="helpDirsProperty" |
| value="org.eclipse.equinox.http.jetty_2.0.0 |
| org.eclipse.help |
| org.eclipse.help.base" /> |
| <filelist id="helpDirs" dir="${sdkSource}/plugins" files="${helpDirsProperty}"/> |
| |
| <property name="depsDirs2Property" |
| value="org.eclipse.swt.gtk.linux.${buildArch} |
| org.eclipse.core.filesystem |
| org.eclipse.core.resources |
| org.eclipse.core.commands |
| org.eclipse.jface |
| org.eclipse.text |
| org.eclipse.jface.text |
| org.eclipse.team.core |
| org.eclipse.core.filebuffers |
| org.eclipse.debug.core |
| org.eclipse.jdt.core |
| org.eclipse.jdt.debug |
| org.eclipse.jdt.launching |
| org.eclipse.pde.core |
| org.eclipse.pde.api.tools |
| org.eclipse.equinox.event |
| org.eclipse.equinox.util |
| org.eclipse.equinox.ds"/> |
| <filelist id="depsDirs2" dir="${sdkSource}/plugins" files="${depsDirs2Property}"/> |
| |
| <fileset dir="${sdkSource}/plugins" id="orbitDeps"> |
| <include name="org.junit_*/" /> |
| <include name="com.ibm.icu_*" /> |
| <include name="org.apache.ant_*/**" /> |
| <include name="org.mortbay.jetty*" /> |
| <include name="org.apache.lucene*" /> |
| <include name="org.apache.commons*" /> |
| <include name="org.sat4j*" /> |
| <include name="org.hamcrest.core*" /> |
| <include name="javax.servlet*" /> |
| <include name="org.objectweb.asm*" /> |
| </fileset> |
| <path id="pdebuildClasspath"> |
| <pathelement location="${sdkSource}/plugins/org.eclipse.pde.build/lib/pdebuild-ant.jar" /> |
| <pathelement location="${sdkSource}/plugins/org.eclipse.pde.build/pdebuild.jar" /> |
| <pathelement path="${sdkSource}/plugins/org.eclipse.equinox.common/@dot" /> |
| <pathelement path="${sdkSource}/plugins/org.eclipse.core.runtime/@dot" /> |
| <pathelement location="${sdkSource}/plugins/org.eclipse.osgi/osgi/osgi.core.jar" /> |
| <pathelement path="${sdkSource}/plugins/org.eclipse.osgi/@dot" /> |
| <pathelement path="${sdkSource}/plugins/org.eclipse.equinox.launcher/@dot" /> |
| <pathelement path="${sdkSource}/plugins/org.eclipse.equinox.simpleconfigurator.manipulator/@dot" /> |
| <pathelement path="${sdkSource}/plugins/org.eclipse.equinox.p2.updatesite/@dot" /> |
| </path> |
| <fileset id="depsZips" dir="${sdkSource}/plugins" includes="**/*_*.zip" /> |
| <target name="generateScripts"> |
| <generateBuildScripts builddirs="depsDirs" rootdir="${sdkSource}" /> |
| <eclipse.buildScript elements="plugin@org.eclipse.equinox.http.jetty" |
| significantVersionDigits="2.0.0" |
| builddirectory="${sdkSource}" /> |
| <eclipse.buildScript elements="plugin@org.eclipse.help.base" |
| builddirectory="${sdkSource}" /> |
| <eclipse.buildScript elements="plugin@org.eclipse.help" |
| builddirectory="${sdkSource}" /> |
| <mkdir dir="generatedScripts" /> |
| <pathconvert pathsep=" " property="generatedBuildXmls"> |
| <filelist refid="depsDirs" /> |
| <filelist refid="helpDirs" /> |
| <mapper> |
| <chainedmapper> |
| <flattenmapper /> |
| <globmapper from="*" to="*/build.xml" /> |
| </chainedmapper> |
| </mapper> |
| </pathconvert> |
| <copy todir="generatedScripts/plugins"> |
| <fileset dir="${sdkSource}/plugins/" |
| includes="${generatedBuildXmls}" /> |
| </copy> |
| <replace dir="generatedScripts" token="../../../../../../../../../usr/lib/eclipse/plugins/" /> |
| <replace dir="generatedScripts" token="../../../../../../../../../usr/lib64/eclipse/plugins/" /> |
| <replace dir="generatedScripts" token="../../../../../../../../../usr/share/eclipse/plugins/" /> |
| <replace dir="generatedScripts" token="../../../../../../../../../.." /> |
| <tar destfile="eclipse-build-generatedScripts.tar.bz2" |
| compression="bzip2" |
| basedir="generatedScripts" |
| includes="**/*" /> |
| </target> |
| <target name="generateScripts2"> |
| <generateBuildScripts builddirs="depsDirs2" rootdir="../${sdkSource}" /> |
| </target> |
| |
| <!-- Java 7 changed the jsr14 javac target so bootstrap to 1.5 --> |
| <target name="jsr14To15ForBootstrap"> |
| <!-- Set up a fileset for depsDirs build.xml files --> |
| <pathconvert pathsep="/**/*," refid="depsDirs" property="depsDirsFiles"> |
| <filtermapper> |
| <replacestring from="${sdkSource}/plugins" to="" /> |
| </filtermapper> |
| </pathconvert> |
| <fileset dir="${sdkSource}/plugins" id="depsDirsBuildXMLs" includes="${depsDirsFiles}/**/*"> |
| <include name="**/build.xml" /> |
| </fileset> |
| |
| <!-- Set up a fileset for helpDirs build.xml files --> |
| <pathconvert pathsep="/**/*," refid="helpDirs" property="helpDirsFiles"> |
| <filtermapper> |
| <replacestring from="${sdkSource}/plugins" to="" /> |
| </filtermapper> |
| </pathconvert> |
| <fileset dir="${sdkSource}/plugins" id="helpDirsBuildXMLs" includes="${helpDirsFiles}/**/*"> |
| <include name="**/build.xml" /> |
| </fileset> |
| |
| <!-- Set up a fileset for depsDirs2 build.xml files --> |
| <pathconvert pathsep="/**/*," refid="depsDirs2" property="depsDirs2Files"> |
| <filtermapper> |
| <replacestring from="${sdkSource}/plugins" to="" /> |
| </filtermapper> |
| </pathconvert> |
| <fileset dir="${sdkSource}/plugins" id="depsDirs2BuildXMLs" includes="${depsDirs2Files}/**/*"> |
| <include name="**/build.xml" /> |
| </fileset> |
| |
| <replace token="name="bundleJavacTarget" value="jsr14"" |
| value="name="bundleJavacTarget" value="1.5"" |
| summary="true"> |
| <fileset refid="depsDirsBuildXMLs"/> |
| <fileset refid="helpDirsBuildXMLs"/> |
| <fileset refid="depsDirs2BuildXMLs"/> |
| </replace> |
| </target> |
| <target name="bootstrap" depends="jsr14To15ForBootstrap"> |
| <echo message="bootclasspath=${CDC-1.1/Foundation-1.1}" /> |
| <subant> |
| <property name="buildId" value="${buildId}" /> |
| <property name="buildArch" value="${buildArch}" /> |
| <property file="pdebuild.properties" /> |
| <filelist refid="depsDirs" /> |
| </subant> |
| <subant> |
| <property name="buildId" value="${buildId}" /> |
| <property name="buildArch" value="${buildArch}" /> |
| <property file="pdebuild.properties" /> |
| <filelist refid="helpDirs" /> |
| </subant> |
| </target> |
| <target name="bootstrap-clean"> |
| <subant target="clean"> |
| <filelist refid="depsDirs" /> |
| </subant> |
| <subant target="clean"> |
| <filelist refid="helpDirs" /> |
| </subant> |
| </target> |
| <target name="bootstrap2" depends="zipPlugins"> |
| <antcall target="collectBootstrapPlugins" /> |
| <java classname="org.eclipse.equinox.launcher.Main" |
| fork="true" |
| dir="bootstrap" |
| failonerror="true"> |
| <classpath> |
| <pathelement path="bootstrap/plugins/org.eclipse.equinox.launcher.jar" /> |
| </classpath> |
| <arg line="-configuration configuration " /> |
| <arg line="-application org.eclipse.ant.core.antRunner " /> |
| <arg line="-buildfile ../pdebuild.xml generateScripts2" /> |
| <arg line="-DbuildArch=${buildArch} " /> |
| <arg line="-DbuildId=${buildId} " /> |
| <arg line="-debug -consolelog" /> |
| </java> |
| <taskdef name="eclipse.versionReplacer" |
| classname="org.eclipse.pde.internal.build.tasks.GenericVersionReplacer" |
| classpathref="pdebuildClasspath" /> |
| <subant> |
| <filelist refid="depsDirs2" /> |
| </subant> |
| </target> |
| <target name="cleanBuilded"> |
| <subant target="clean"> |
| <filelist refid="depsDirs2" /> |
| </subant> |
| </target> |
| <target name="zipPlugins" depends="bootstrap"> |
| <taskdef name="eclipse.versionReplacer" |
| classname="org.eclipse.pde.internal.build.tasks.GenericVersionReplacer" |
| classpathref="pdebuildClasspath" /> |
| <subant target="zip.plugin"> |
| <filelist refid="depsDirs" /> |
| </subant> |
| <subant target="zip.plugin"> |
| <filelist refid="helpDirs" /> |
| </subant> |
| </target> |
| <target name="zipPlugins2" depends="bootstrap2"> |
| <taskdef name="eclipse.versionReplacer" |
| classname="org.eclipse.pde.internal.build.tasks.GenericVersionReplacer" |
| classpathref="pdebuildClasspath" /> |
| <subant target="zip.plugin"> |
| <filelist refid="depsDirs2" /> |
| </subant> |
| <antcall target="collectBootstrapPlugins" /> |
| </target> |
| |
| <target name="removeGeneratedBuildXMLs" depends="zipPlugins2"> |
| <fileset id="buildXMLsToKeep" dir="${sdkSource}/plugins" |
| excludes="**/org.eclipse.swt.gtk.*/*, |
| **/org.eclipse.update.core.linux/**/*, |
| **/org.eclipse.pde.build/scripts/*, |
| **/org.eclipse.jdt.core/scripts/*, |
| **/org.eclipse.update.core.linux/src/*, |
| **/org.eclipse.jdt.doc.isv/*, |
| **/org.eclipse.swt/*, |
| **/org.eclipse.jdt.doc.user/*" |
| /> |
| |
| <delete> |
| <intersect> |
| <fileset refid="depsDirsBuildXMLs"/> |
| <fileset refid="helpDirsBuildXMLs"/> |
| <fileset refid="depsDirs2BuildXMLs"/> |
| <fileset refid="buildXMLsToKeep" /> |
| </intersect> |
| </delete> |
| </target> |
| |
| <target name="collectBootstrapPlugins"> |
| <mkdir dir="bootstrap/plugins" /> |
| <copy todir="bootstrap/plugins" flatten="true"> |
| <fileset refid="depsZips" /> |
| </copy> |
| <copy todir="bootstrap/plugins/org.eclipse.swt"> |
| <fileset dir="${sdkSource}/plugins/org.eclipse.swt" /> |
| </copy> |
| <unzip dest="bootstrap/plugins"> |
| <fileset dir="bootstrap/plugins"> |
| <include name="**/*.zip" /> |
| </fileset> |
| </unzip> |
| <delete> |
| <fileset dir="bootstrap/plugins"> |
| <include name="**/*.zip" /> |
| </fileset> |
| </delete> |
| <copy todir="bootstrap/plugins" flatten="false"> |
| <fileset refid="orbitDeps" /> |
| </copy> |
| <!-- symlink o.e.osgi to o.e.osgi_<VERSION> --> |
| <dirset dir="bootstrap/plugins" |
| includes="org.eclipse.osgi_*" |
| id="osgitest" /> |
| |
| <property name="osgiplugin" refid="osgitest" /> |
| <echo message="${osgiplugin}" /> |
| |
| <symlink link="bootstrap/plugins/org.eclipse.osgi" |
| resource="${osgiplugin}" |
| overwrite="true" /> |
| <!-- symlink o.e.equinox.launcher to o.e.equinox.launcher_<VERSION> --> |
| <dirset dir="bootstrap/plugins" |
| includes="org.eclipse.equinox.launcher_*" |
| id="launcher" /> |
| |
| <property name="launcherplugin" refid="launcher" /> |
| <echo message="${launcherplugin}" /> |
| |
| <symlink link="bootstrap/plugins/org.eclipse.equinox.launcher" |
| resource="${launcherplugin}" |
| overwrite="true" /> |
| <!-- symlink o.e.update.configurator to o.e.update.configurator_<VERSION> --> |
| <dirset dir="bootstrap/plugins" |
| includes="org.eclipse.update.configurator_*" |
| id="updatetest" /> |
| |
| <property name="updateconfiguratorplugin" refid="updatetest" /> |
| <echo message="${updateconfiguratorplugin}" /> |
| |
| <symlink link="bootstrap/plugins/org.eclipse.update.configurator" |
| resource="${updateconfiguratorplugin}" |
| overwrite="true" /> |
| <!-- symlink o.e.e.common to o.e.e.common_<VERSION> --> |
| <dirset dir="bootstrap/plugins" |
| includes="org.eclipse.equinox.common_*" |
| id="equinoxcommontest" /> |
| |
| <property name="equinoxcommonplugin" refid="equinoxcommontest" /> |
| <echo message="${equinoxcommonplugin}" /> |
| |
| <symlink link="bootstrap/plugins/org.eclipse.equinox.common" |
| resource="${equinoxcommonplugin}" |
| overwrite="true" /> |
| |
| <!-- symlink o.e.p.build to o.e.p.build_<VERSION> --> |
| <dirset dir="bootstrap/plugins" |
| includes="org.eclipse.pde.build_*" |
| id="pdebuildtest" /> |
| |
| <property name="pdebuildplugin" refid="pdebuildtest" /> |
| <echo message="${pdebuildplugin}" /> |
| |
| <symlink link="bootstrap/plugins/org.eclipse.pde.build" |
| resource="${pdebuildplugin}" |
| overwrite="true" /> |
| |
| <!-- jar up base equinox bundles --> |
| <jar destfile="bootstrap/plugins/org.eclipse.equinox.launcher.jar" |
| basedir="bootstrap/plugins/org.eclipse.equinox.launcher" |
| includes="**" |
| manifest="bootstrap/plugins/org.eclipse.equinox.launcher/META-INF/MANIFEST.MF"> |
| </jar> |
| <jar destfile="bootstrap/plugins/org.eclipse.equinox.common.jar" |
| basedir="bootstrap/plugins/org.eclipse.equinox.common" |
| includes="**" |
| manifest="bootstrap/plugins/org.eclipse.equinox.common/META-INF/MANIFEST.MF"> |
| </jar> |
| <jar destfile="bootstrap/plugins/org.eclipse.osgi.jar" |
| basedir="bootstrap/plugins/org.eclipse.osgi" |
| includes="**" |
| manifest="bootstrap/plugins/org.eclipse.osgi/META-INF/MANIFEST.MF"> |
| </jar> |
| <jar destfile="bootstrap/plugins/org.eclipse.update.configurator.jar" |
| basedir="bootstrap/plugins/org.eclipse.update.configurator" |
| includes="**" |
| manifest="bootstrap/plugins/org.eclipse.update.configurator/META-INF/MANIFEST.MF"> |
| </jar> |
| <!-- directory of o.e.osgi seems to get picked up before jar; remove it --> |
| <symlink action="delete" link="bootstrap/plugins/org.eclipse.osgi" /> |
| <symlink action="delete" |
| link="bootstrap/plugins/org.eclipse.equinox.common" /> |
| <symlink action="delete" |
| link="bootstrap/plugins/org.eclipse.update.configurator" /> |
| <symlink action="delete" |
| link="bootstrap/plugins/org.eclipse.equinox.launcher" /> |
| <!--<delete file="bootstrap/plugins/${equinoxcommonplugin}"/>--> |
| <delete dir="bootstrap/plugins/${equinoxcommonplugin}" /> |
| <delete dir="bootstrap/plugins/${launcherplugin}" /> |
| <delete dir="bootstrap/plugins/${updateconfiguratorplugin}" /> |
| <delete dir="bootstrap/plugins/${osgiplugin}" /> |
| <!-- also remove symlink --> |
| <delete verbose="true" followsymlinks="true"> |
| <fileset dir="bootstrap/plugins"> |
| <include name="org.eclipse.osgi" /> |
| </fileset> |
| </delete> |
| <!-- osgi can only be found if _ is in name --> |
| <symlink action="delete" |
| link="bootstrap/plugins/org.eclipse.osgi_${label}.jar" |
| failonerror="false" /> |
| <symlink link="bootstrap/plugins/org.eclipse.osgi_${label}.jar" |
| resource="org.eclipse.osgi.jar" |
| overwrite="true" /> |
| </target> |
| |
| <target name="clean"> |
| <delete dir="bootstrap/plugins" /> |
| <delete dir="bootstrap/configuration/org.eclipse.core.runtime" /> |
| <delete dir="bootstrap/configuration/org.eclipse.equinox.app" /> |
| <delete dir="bootstrap/configuration/org.eclipse.osgi" /> |
| <delete dir="bootstrap/configuration/org.eclipse.update" /> |
| <delete dir="bootstrap/workspace" /> |
| <delete dir="bootstrap/p2" /> |
| </target> |
| </project> |