| <project name="org.eclipse.swtbot.updatesite" default="all" basedir="."> |
| |
| <taskdef name="purge" classname="com.dallaway.ant.Purge" classpath="../org.eclipse.swtbot.releng/externals/libs/purge.jar" /> |
| |
| <taskdef resource="net/sf/antcontrib/antlib.xml" /> |
| <property name="num.previous.revisions" value="1" /> |
| <property name="target" value="${basedir}/target" /> |
| <taskdef resource="net/sf/antcontrib/antlib.xml" classpath="../org.eclipse.swtbot.releng/externals/libs/ant-contrib-1.0b3.jar" /> |
| |
| <condition property="should.generate.archives"> |
| <equals arg1="${has.archives}" arg2="true" /> |
| </condition> |
| |
| <echo>${should.generate.archives}: ${has.archives}</echo> |
| |
| <target name="purge_old_files"> |
| <echo>Purging feaures</echo> |
| <purge keep="${num.previous.revisions}"> |
| <fileset dir="${target}/features"> |
| <include name="org.eclipse.swtbot_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/features"> |
| <include name="org.eclipse.swtbot.eclipse_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/features"> |
| <include name="org.eclipse.swtbot.eclipse.gef_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/features"> |
| <include name="org.eclipse.swtbot.eclipse.test.junit3_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/features"> |
| <include name="org.eclipse.swtbot.eclipse.test.junit4_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/features"> |
| <include name="org.eclipse.swtbot.ide_*.jar" /> |
| </fileset> |
| </purge> |
| |
| <echo>Purging plugins</echo> |
| <purge keep="${num.previous.revisions}"> |
| |
| <!-- demo --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.swt.demo_*.jar" /> |
| </fileset> |
| |
| <!-- gef finder --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.eclipse.gef.finder_*.jar" /> |
| </fileset> |
| |
| <!-- eclipse finder --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.eclipse.finder_*.jar" /> |
| </fileset> |
| |
| <!-- finder --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.swt.finder_*.jar" /> |
| </fileset> |
| |
| <!-- eclipse ui and core--> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.eclipse.ui_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.eclipse.core_*.jar" /> |
| </fileset> |
| |
| <!-- spy --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.eclipse.spy_*.jar" /> |
| </fileset> |
| |
| <!-- recorder --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.swt.recorder_*.jar" /> |
| </fileset> |
| |
| <!-- recorder ui --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.swt.recorder.ui_*.jar" /> |
| </fileset> |
| |
| <!-- junit comptibility --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.junit4_x*.jar" /> |
| </fileset> |
| |
| <!-- apache jars --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.apache.log4j_*.jar" /> |
| </fileset> |
| |
| <!-- hamcrest jars --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.hamcrest_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.hamcrest.core_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.hamcrest.core.source*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.hamcrest.integration_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.hamcrest.integration.source_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.hamcrest.library_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.hamcrest.library.source_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.hamcrest.text_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.hamcrest.text.source_*.jar" /> |
| </fileset> |
| |
| <!-- swt examples --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swt.examples_*.jar" /> |
| </fileset> |
| |
| <!-- headless jars --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.ant.optional.junit4_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.ant.optional.junit3_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.eclipse.junit4.headless_*.jar" /> |
| </fileset> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.eclipse.junit3.headless_*.jar" /> |
| </fileset> |
| |
| <!-- convenience plugin --> |
| <fileset dir="${target}/plugins"> |
| <include name="org.eclipse.swtbot.go_*.jar" /> |
| </fileset> |
| </purge> |
| </target> |
| |
| <target name="-create.features.template"> |
| <basename file="${file}" property="file.name" /> |
| <propertyregex property="all.buildId" input="${file.name}" regexp="${featureId}_(.*).jar" select="\1" /> |
| <echo message="Adding ${featureId} version: ${all.buildId}" /> |
| <concat destfile="build/${destFile}" append="true"> |
| <path path="${srcFile}" /> |
| <filterchain> |
| <expandproperties /> |
| </filterchain> |
| </concat> |
| </target> |
| |
| <target name="create_features_list" depends="purge_old_files"> |
| <for param="file"> |
| <path> |
| <fileset dir="${target}/features" includes="org.eclipse.swtbot_*.jar" /> |
| </path> |
| <sequential> |
| <ant target="-create.features.template" inheritall="false"> |
| <property name="file" value="@{file}" /> |
| <property name="featureId" value="org.eclipse.swtbot" /> |
| <property name="destFile" value="org.eclipse.swtbot.featurelist.xml" /> |
| <property name="srcFile" value="site.template.org.eclipse.swtbot.featurelist.xml" /> |
| </ant> |
| </sequential> |
| </for> |
| </target> |
| |
| <target name="-create.plugins.template"> |
| <basename file="${plugin.file.name}" property="file" /> |
| <dirname file="${plugin.file.name}" property="file.dirname" /> |
| <basename file="${file.dirname}" property="file.basedir" /> |
| <echo>Adding feature/plugin: ${file} in ${file.basedir}</echo> |
| <concat destfile="build/${destFile}" append="true"> |
| <path path="${srcFile}" /> |
| <filterchain> |
| <expandproperties /> |
| </filterchain> |
| </concat> |
| </target> |
| |
| <target name="create_plugins_archive_list" if="should.generate.archives"> |
| <for param="plugin"> |
| <path> |
| <fileset dir="${target}/features" includes="*.jar" /> |
| <fileset dir="${target}/plugins" includes="*.jar" /> |
| </path> |
| <sequential> |
| <ant target="-create.plugins.template" inheritall="false"> |
| <property name="plugin.file.name" value="@{plugin}" /> |
| <property name="featureId" value="org.eclipse.swtbot" /> |
| <property name="destFile" value="org.eclipse.swtbot.pluginarchivelist.xml" /> |
| <property name="srcFile" value="site.template.org.eclipse.swtbot.pluginarchivelist.xml" /> |
| </ant> |
| </sequential> |
| </for> |
| </target> |
| |
| <target name="create_site_xml" depends="create_features_list"> |
| <concat destfile="${target}/site.xml.tokenize" fixlastline="true" eol="unix"> |
| <header file="site.template.header.xml" /> |
| <fileset file="build/org.eclipse.swtbot.featurelist.xml" /> |
| <fileset file="build/org.eclipse.swtbot.pluginarchivelist.xml" /> |
| <fileset file="site.template.categories.xml" /> |
| <footer file="site.template.footer.xml" /> |
| </concat> |
| |
| <move file="${target}/site.xml.tokenize" tofile="${target}/site.xml"> |
| <filterchain> |
| <expandproperties /> |
| </filterchain> |
| </move> |
| |
| </target> |
| |
| <target name="clean"> |
| <delete dir="build" /> |
| <delete dir="eclipse" /> |
| <mkdir dir="build" /> |
| <delete dir="${target}" includes="artifacts*.*, content*.*" /> |
| </target> |
| |
| <target name="-create.jars"> |
| <for param="file"> |
| <path> |
| <dirset dir="${target}/eclipse/features" includes="*" excludes="*.jar" /> |
| <dirset dir="${target}/eclipse/plugins" includes="*" excludes="*.jar" /> |
| </path> |
| <sequential> |
| <echo>Packaging feature @{file} as a jar</echo> |
| <zip destfile="@{file}.jar" basedir="@{file}" /> |
| <delete dir="@{file}" /> |
| </sequential> |
| </for> |
| </target> |
| |
| <target name="init"> |
| <mkdir dir="${target}" /> |
| |
| <unzip dest="${target}"> |
| <fileset dir="../org.eclipse.swtbot.releng/artifacts" includes="org.eclipse.swtbot.eclipse-*" /> |
| <fileset dir="../org.eclipse.swtbot.releng/artifacts" includes="org.eclipse.swtbot.eclipse.test.junit3-*" /> |
| <fileset dir="../org.eclipse.swtbot.releng/artifacts" includes="org.eclipse.swtbot.eclipse.test.junit4-*" /> |
| <fileset dir="../org.eclipse.swtbot.releng/artifacts" includes="org.eclipse.swtbot.eclipse.gef-*" /> |
| <fileset dir="../org.eclipse.swtbot.releng/artifacts" includes="org.eclipse.swtbot.ide-*" /> |
| </unzip> |
| |
| <antcall target="-create.jars" inheritall="false" /> |
| |
| <move todir="${target}"> |
| <fileset dir="${target}/eclipse" /> |
| </move> |
| </target> |
| |
| <target name="copy-to-update-site"> |
| <property name="update-site-location" value="update-site" /> |
| <copy todir="${update-site-location}"> |
| <fileset dir="."> |
| <include name="features/**.*" /> |
| <include name="plugins/**.*" /> |
| <include name="index.html" /> |
| <include name="site.xml" /> |
| <include name="web/**.*" /> |
| </fileset> |
| <fileset dir="target"> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="create-p2-site"> |
| |
| <java classname="org.eclipse.equinox.launcher.Main" fork="true" failonerror="true"> |
| <classpath> |
| <fileset dir="${eclipse.location}/plugins"> |
| <include name="org.eclipse.equinox.launcher_*.jar" /> |
| </fileset> |
| </classpath> |
| |
| <arg line="-application org.eclipse.equinox.p2.metadata.generator.EclipseGenerator" /> |
| <arg line="-updateSite ${target}" /> |
| <arg line="-site file:${target}/site.xml" /> |
| <arg line="-metadataRepository file:${target}" /> |
| <arg line="-metadataRepositoryName 'SWTBot Update Site'" /> |
| <arg line="-artifactRepository file:${target}" /> |
| <arg line="-artifactRepositoryName 'SWTBot Artifacts'" /> |
| <arg line="-compress -reusePack200Files -vmargs -Xmx128M" /> |
| </java> |
| </target> |
| |
| <target name="all" depends="clean, init, purge_old_files, create_features_list, create_plugins_archive_list, create_site_xml, create-p2-site, copy-to-update-site" /> |
| </project> |