| <!-- | |
| Copyright (c) 2010, 2011 IBM Corporation and others. | |
| All rights reserved. This program and the accompanying materials | |
| are made available under the terms of the Eclipse Public License v1.0 | |
| which accompanies this distribution, and is available at | |
| http://www.eclipse.org/legal/epl-v10.html | |
| Contributors: | |
| IBM Corporation - initial API and implementation | |
| --> | |
| <project name="Build specific targets and properties" default="noDefault" basedir="."> | |
| <property name="archiveName" value="gmf-notation-junit-tests-${buildAlias}.zip" /> | |
| <!-- ===================================================================== --> | |
| <!-- Run a given ${target} on all elements being built --> | |
| <!-- ===================================================================== --> | |
| <target name="allElements"> | |
| <ant antfile="${genericTargets}" target="${target}"> | |
| <property name="type" value="feature" /> | |
| <property name="id" value="org.eclipse.gmf.tests.runtime.notation" /> | |
| </ant> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Targets to assemble the built elements for particular configurations --> | |
| <!-- These generally call the generated assemble scripts (named in --> | |
| <!-- ${assembleScriptName}) but may also add pre and post processing --> | |
| <!-- Add one target for each root element and each configuration --> | |
| <!-- ===================================================================== --> | |
| <target name="assemble.org.eclipse.gmf.tests.runtime.notation"> | |
| <ant antfile="${assembleScriptName}" /> | |
| <!-- ADD POST STEPS --> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Check out map files from correct repository --> | |
| <!-- Replace values for cvsRoot, package and mapVersionTag as desired. --> | |
| <!-- ===================================================================== --> | |
| <target name="checkLocal"> | |
| <available property="mapsLocal" file="${buildDirectory}/maps" /> | |
| </target> | |
| <target name="getMapFiles" depends="checkLocal" unless="mapsLocal"> | |
| <!-- *** change the repo info --> | |
| <property name="mapCvsRoot" value=":${cvsReadProtocol}:${cvsReadUser}@${cvsHost}:${cvsRep}" /> | |
| <property name="mapVersionTag" value="HEAD" /> | |
| <property name="packagePath" value="org.eclipse.${projectName}/org.eclipse.${subprojectName2}.releng/maps"/> | |
| <cvs cvsRsh="ssh" cvsRoot="${mapCvsRoot}" tag="${mapVersionTag}" package="${packagePath}" dest="${buildDirectory}/maps" /> | |
| <copy todir="${buildDirectory}/maps/CVS" overwrite="true"> | |
| <fileset dir="${buildDirectory}/maps/${packagePath}/CVS" /> | |
| </copy> | |
| <copy todir="${buildDirectory}/maps" overwrite="true"> | |
| <fileset dir="${buildDirectory}/maps/${packagePath}" /> | |
| </copy> | |
| <delete dir="${buildDirectory}/maps/org.eclipse.${projectName}" /> | |
| <!--tag the map files project--> | |
| <antcall target="tagMapFiles" /> | |
| </target> | |
| <target name="tagMapFiles" if="tagMaps"> | |
| <cvs cvsRsh="ssh" dest="${buildDirectory}/maps" command="tag v${timestamp}" /> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do before setup --> | |
| <!-- ===================================================================== --> | |
| <target name="preSetup"> | |
| <mkdir dir="${buildDirectory}/${buildLabel}" /> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do after setup but before starting the build proper --> | |
| <!-- ===================================================================== --> | |
| <target name="postSetup"> | |
| <!-- TODO: if your project requires more dependencies, add them here; if it does not require all of these, remove those not required --> | |
| <echo message="Download, then unpack: Eclipse and EMF" /> | |
| <ant target="getDependency" antfile="${buildDirectory}/../org.eclipse.modeling.common.releng/scripts/getDependencies.xml"> | |
| <property name="url" value="${eclipseURL}" /> | |
| <property name="file" value="${eclipseFile}" /> | |
| <property name="isUnpackedFile" value="${buildDirectory}/plugins/org.eclipse.platform.doc.isv/plugin.xml" /> | |
| </ant> | |
| <ant target="getDependency" antfile="${buildDirectory}/../org.eclipse.modeling.common.releng/scripts/getDependencies.xml"> | |
| <property name="url" value="${emfURL}" /> | |
| <property name="file" value="${emfFile}" /> | |
| <property name="isUnpackedFile" value="${buildDirectory}/plugins/org.eclipse.emf.ecore/plugin.xml" /> | |
| </ant> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do before fetching the build elements --> | |
| <!-- ===================================================================== --> | |
| <target name="preFetch"> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do after the fetch --> | |
| <!-- ===================================================================== --> | |
| <target name="postFetch"> | |
| <replace dir="${buildDirectory}/plugins" value="${timestamp}" token="@buildId@"> | |
| <include name="**/about.mappings" /> | |
| </replace> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do before generating build scripts --> | |
| <!-- ===================================================================== --> | |
| <target name="preGenerate"> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do after generating the build scripts --> | |
| <!-- ===================================================================== --> | |
| <target name="postGenerate"> | |
| <antcall target="clean" /> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do before assembling --> | |
| <!-- ===================================================================== --> | |
| <target name="preAssemble"> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do after assembling--> | |
| <!-- ===================================================================== --> | |
| <target name="postAssemble"> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do before running package. --> | |
| <!-- ===================================================================== --> | |
| <target name="prePackage"> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do after running package. --> | |
| <!-- ===================================================================== --> | |
| <target name="postPackage"> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do before running the build.xmls for the elements being built. --> | |
| <!-- ===================================================================== --> | |
| <target name="preProcess"> | |
| <replace dir="${buildDirectory}/plugins" value="${timestamp}" token="@build@"> | |
| <include name="**/about.mappings" /> | |
| </replace> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do after running the build.xmls for the elements being built. --> | |
| <!-- ===================================================================== --> | |
| <target name="postProcess"> | |
| <condition property="logsAvailable"> | |
| <istrue value="${javacVerbose}"/> | |
| </condition> | |
| <antcall target="gatherLogs" /> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Steps to do after everything is built and assembled --> | |
| <!-- (e.g., testing, posting, emailing, ...) --> | |
| <!-- ===================================================================== --> | |
| <target name="postBuild"> | |
| <!-- contributing jars for the update site --> | |
| <zip destfile="${buildDirectory}/${buildLabel}/${masterZip}" update="true"> | |
| <zipfileset src="${buildDirectory}/${buildLabel}/${archiveName}" dirmode="775" filemode="664" | |
| includes="**/plugins/*.jar, **/plugins/*.jar.pack.gz, **/features/*.jar, **/features/*.jar.pack.gz" /> | |
| </zip> | |
| <!-- Unpacking jars to produce downloadable zips --> | |
| <ant target="unpackUpdateJarsAndRepack" antfile="${helper}"/> | |
| <antcall target="packageTestFramework" /> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Helper targets --> | |
| <!-- ===================================================================== --> | |
| <target name="gatherLogs"> | |
| <mkdir dir="${buildDirectory}/${buildLabel}/compilelogs" /> | |
| <antcall target="allElements"> | |
| <param name="target" value="gatherLogs" /> | |
| </antcall> | |
| <unzip dest="${buildDirectory}/${buildLabel}/compilelogs" overwrite="true"> | |
| <fileset dir="${buildDirectory}/features"> | |
| <include name="**/org.eclipse.gmf.tests.runtime.notation*/*.log.zip" /> | |
| </fileset> | |
| <patternset> | |
| <exclude name="**/org.eclipse.test*/**"/> | |
| </patternset> | |
| </unzip> | |
| </target> | |
| <target name="clean" unless="noclean"> | |
| <antcall target="allElements"> | |
| <param name="target" value="cleanElement" /> | |
| </antcall> | |
| </target> | |
| <target name="packageTestFramework"> | |
| <!--package automated test framework used in gmf builds--> | |
| <property name="workingDirectory" value="${buildDirectory}/test.assembly" /> | |
| <echo message="workingDirectory: ${workingDirectory}"/> | |
| <!--unzip the junit tests--> | |
| <mkdir dir="${workingDirectory}/eclipse/dropins/eclipse" /> | |
| <unzip dest="${workingDirectory}/eclipse/dropins/" overwrite="true"> | |
| <fileset dir="${buildDirectory}/${buildLabel}"> | |
| <include name="**/gmf-notation-junit-tests*.zip"/> | |
| </fileset> | |
| </unzip> | |
| <!-- create top level testing directory--> | |
| <delete dir="${workingDirectory}/testing"/> | |
| <mkdir dir="${workingDirectory}/testing" /> | |
| <!--compile the tool used to generate the test.properties file, then run it.--> | |
| <!--test.properties maps test plugin id's to the name of the plugin directory--> | |
| <!--eclipse.home is relative to the scripts directory in the org.eclipse.pde.build plugin. Assume the plugins used in the classpath are in the same directory as org.eclipse.pde.build--> | |
| <property name="eclipse.home" value="../../.." /> | |
| <generateTestProperties | |
| buildDirectory="${buildDirectory}" | |
| featureId="org.eclipse.gmf.tests.runtime.notation" | |
| outputFile="${workingDirectory}/testing/test.properties" | |
| /> | |
| <!--load the property file created with the directory names for all test plugins--> | |
| <property file="${workingDirectory}/testing/test.properties" /> | |
| <!-- Remove the plugin version number appended to the org.eclipse.test plugin directory. | |
| This is so that contributors of test.xml's do not have to update their paths to | |
| library.xml in org.eclipse.test whenever its version is updated. | |
| --> | |
| <move todir="${workingDirectory}/eclipse/dropins/eclipse/plugins/org.eclipse.test"> | |
| <fileset dir="${workingDirectory}/eclipse/dropins/eclipse/plugins/${org.eclipse.test}" /> | |
| </move> | |
| <!--the Ant move task leaves behind an empty directory--> | |
| <delete dir="${workingDirectory}/eclipse/dropins/eclipse/plugins/${org.eclipse.test}" includeEmptyDirs="true" /> | |
| <!-- rezip the JUnit plugin tests --> | |
| <zip destfile="${workingDirectory}/testing/gmf-notation-junit-tests-${buildAlias}.zip"> | |
| <zipfileset dir="${workingDirectory}/eclipse/dropins/eclipse" prefix="eclipse" /> | |
| </zip> | |
| <!--Copy scripts and doc used in the automated testing to the testing directory--> | |
| <copy todir="${workingDirectory}/testing"> | |
| <fileset dir="${buildDirectory}/plugins/org.eclipse.test" includes="testframework.html,JUNIT.XSL" /> | |
| </copy> | |
| <copy todir="${workingDirectory}/testing"> | |
| <fileset dir="${builderDirectory}/scripts" /> | |
| </copy> | |
| <!--copy in the file containing the URL of the Eclipse build used for testing--> | |
| <copy todir="${workingDirectory}/testing" file="${buildDirectory}/../build.cfg" /> | |
| <!--create zip file of the automated testing framework--> | |
| <zip destfile="${buildDirectory}/${buildLabel}/gmf-tests-notation-${buildAlias}.zip"> | |
| <zipfileset dir="${workingDirectory}/testing" prefix="testing"/> | |
| </zip> | |
| <delete file="${buildDirectory}/${buildLabel}/gmf-notation-junit-tests-${buildAlias}.zip" /> | |
| </target> | |
| <!-- ===================================================================== --> | |
| <!-- Default target --> | |
| <!-- ===================================================================== --> | |
| <target name="noDefault"> | |
| <echo message="You must specify a target when invoking this file" /> | |
| </target> | |
| </project> |