summaryrefslogtreecommitdiff
path: root/makefile/customTargets.xml
diff options
context:
space:
mode:
Diffstat (limited to 'makefile/customTargets.xml')
-rw-r--r--makefile/customTargets.xml282
1 files changed, 282 insertions, 0 deletions
diff --git a/makefile/customTargets.xml b/makefile/customTargets.xml
new file mode 100644
index 0000000..552af30
--- /dev/null
+++ b/makefile/customTargets.xml
@@ -0,0 +1,282 @@
+<project name="Build specific targets and properties" default="noDefault">
+ <target name="createSiteXML">
+ <echoxml file="${buildDirectory}/site.xml">
+ <site>
+ <feature url="features/${studioFeatureName}.${studioFeatureVersion}.jar" id="${studioFeatureName}" version="${studioFeatureVersion}">
+ <category name="MOTODEVStudioforAndroid" />
+ </feature>
+ <category-def name="MOTODEVStudioforAndroid" label="MOTODEV Studio for Android" />
+ </site>
+ </echoxml>
+ </target>
+
+ <target name="init">
+ <copy todir="${buildDirectory}">
+ <fileset dir="${SOURCE_DIR}/" includes="**/**" />
+ </copy>
+ <move file="${buildDirectory}/features/feature" tofile="${buildDirectory}/features/com.motorola.studio.android.feature" />
+ <move file="${buildDirectory}/features/basic" tofile="${buildDirectory}/features/basic.feature" />
+ </target>
+
+ <target name="setTimeStamp">
+ <echo message="1=${timestamp}" file="${buildDirectory}/plugins/product/about.mappings" append="true" />
+ <replace file="${buildDirectory}/plugins/product/about.mappings" token="@studioversion@" value="${studioVersion}" />
+ <echo message="1=${timestamp}" file="${buildDirectory}/plugins/common/about.mappings" append="true" />
+ <replace file="${buildDirectory}/plugins/common/about.mappings" token="@studioversion@" value="${studioVersion}" />
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Run a given ${target} on all elements being built -->
+ <!-- Add on <ant> task for each top level element being built. -->
+ <!-- ===================================================================== -->
+ <available property="allElementsFile" file="${builder}/allElements.xml" value="${builder}/allElements.xml" />
+ <property name="allElementsFile" location="${eclipse.pdebuild.templates}/headless-build/allElements.xml" />
+
+ <import file="${allElementsFile}" />
+ <target name="allElements">
+ <antcall target="allElementsDelegator" />
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- ===================================================================== -->
+ <target name="getBaseComponents" depends="checkLocalBase" unless="skipBase">
+ <get src="${eclipseBaseURL}" dest="${buildDirectory}/../temp-base.zip" />
+ <unzip dest="${base}" overwrite="true" src="${buildDirectory}/../temp-base.zip" />
+ </target>
+
+ <target name="checkLocalBase">
+ <available file="${base}" property="skipBase" />
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Check out map files from correct repository -->
+ <!-- Replace values for mapsCheckoutTag as desired. -->
+ <!-- ===================================================================== -->
+ <target name="getMapFiles" depends="checkLocalMaps" unless="skipMaps">
+ <property name="mapsCheckoutTag" value="HEAD" />
+ <cvs cvsRoot="${mapsRepo}" package="${mapsRoot}" dest="${buildDirectory}/maps" tag="${mapsCheckoutTag}" />
+ </target>
+
+ <target name="checkLocalMaps">
+ <available property="skipMaps" file="${buildDirectory}/maps" />
+ </target>
+
+ <target name="tagMapFiles" if="tagMaps">
+ <cvs dest="${buildDirectory}/maps/${mapsRoot}" command="tag ${mapsTagTag}" />
+ </target>
+
+ <!-- ===================================================================== -->
+
+ <target name="clean" unless="noclean">
+ <antcall target="allElements">
+ <param name="target" value="cleanElement" />
+ </antcall>
+ </target>
+
+ <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="**/*.log.zip" />
+ </fileset>
+ </unzip>
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do before setup -->
+ <!-- ===================================================================== -->
+ <target name="preSetup">
+ <antcall target="init" />
+ <!-- Copy studio_android.product and plugin.properties to the build folder -->
+ <antcall target="setTimeStamp" />
+ <antcall target="createSiteXML" />
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do after setup but before starting the build proper -->
+ <!-- ===================================================================== -->
+ <target name="postSetup">
+ <antcall target="getBaseComponents" />
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do before fetching the build elements -->
+ <!-- ===================================================================== -->
+ <target name="preFetch">
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do after fetching the build elements -->
+ <!-- ===================================================================== -->
+ <target name="postFetch">
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do before the repositories are being processed -->
+ <!-- ===================================================================== -->
+ <target name="preProcessRepos">
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do after the repositories have been processed -->
+ <!-- ===================================================================== -->
+ <target name="postProcessRepos">
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do before generating the build scripts. -->
+ <!-- ===================================================================== -->
+ <target name="preGenerate">
+ <mkdir dir="${buildDirectory}/tmp/plugins" />
+ <copy todir="${buildDirectory}/tmp/plugins">
+ <fileset dir="${GIT_REPOSITORY_PATH}/android/docs/manuals/" includes="*.jar" />
+ </copy>
+ <p2.generator append="true" source="${buildDirectory}/tmp/" artifactrepository="file:${transformedRepoLocation}" metadatarepository="file:${transformedRepoLocation}" publishartifacts="true" />
+
+ <delete dir="${transformedRepoLocation}/plugins/${ADT_JAR_FILENAME}/" />
+ <copy overwrite="true" file="${BASE_REPOSITORIES_DIR}/REPO_ADT/plugins/${ADT_JAR_FILENAME}.jar" todir="${transformedRepoLocation}/plugins/" />
+ <unzip src="${transformedRepoLocation}/plugins/${ADT_JAR_FILENAME}.jar" dest="${transformedRepoLocation}/plugins/${ADT_JAR_FILENAME}/" />
+ <delete file="${transformedRepoLocation}/plugins/${ADT_JAR_FILENAME}.jar" />
+
+ <delete dir="${transformedRepoLocation}/plugins/${DDMS_JAR_FILENAME}/" />
+ <copy overwrite="true" file="${BASE_REPOSITORIES_DIR}/REPO_ADT/plugins/${DDMS_JAR_FILENAME}.jar" todir="${transformedRepoLocation}/plugins/" />
+ <unzip src="${transformedRepoLocation}/plugins/${DDMS_JAR_FILENAME}.jar" dest="${transformedRepoLocation}/plugins/${DDMS_JAR_FILENAME}/" />
+ <delete file="${transformedRepoLocation}/plugins/${DDMS_JAR_FILENAME}.jar" />
+
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do after generating the build scripts. -->
+ <!-- ===================================================================== -->
+ <target name="postGenerate">
+ <antcall target="clean" />
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do before running the build.xmls for the elements being built. -->
+ <!-- ===================================================================== -->
+ <target name="preProcess">
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do after running the build.xmls for the elements being built. -->
+ <!-- ===================================================================== -->
+ <target name="postProcess">
+ <jar basedir="${transformedRepoLocation}/plugins/${ADT_JAR_FILENAME}/" destfile="${transformedRepoLocation}/plugins/${ADT_JAR_FILENAME}.jar" />
+ <delete dir="${transformedRepoLocation}/plugins/${ADT_JAR_FILENAME}/" />
+ <jar basedir="${transformedRepoLocation}/plugins/${DDMS_JAR_FILENAME}/" destfile="${transformedRepoLocation}/plugins/${DDMS_JAR_FILENAME}.jar" />
+ <delete dir="${transformedRepoLocation}/plugins/${DDMS_JAR_FILENAME}/" />
+ </target>
+
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do before running assemble. -->
+ <!-- ===================================================================== -->
+ <target name="preAssemble">
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do after running assemble. -->
+ <!-- ===================================================================== -->
+ <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 after the build is done. -->
+ <!-- ===================================================================== -->
+ <target name="postBuild">
+ <antcall target="gatherLogs" />
+ <!-- =================================
+ Mirror the build repo to the repository output folder (excluding exceeding packages)
+ ================================= -->
+ <mkdir dir="${p2.repo.dir}"/>
+ <copy todir="${p2.repo.dir}" file="${MAKEFILE}/repository_skel/content.xml"/>
+
+ <!-- p2.mirror source="${p2.build.dir}" destination="${p2.artifact.repo}" raw="false">
+ <iu id="com.motorola.studio.android.feature.feature.group" />
+ <slicingoptions followstrict="true" includeoptional="false" includenongreedy="false" followonlyfilteredrequirements="true" includefeatures="true" />
+ </p2.mirror -->
+
+ <eclipse.publish.featuresAndBundles append="true" artifactrepository="${p2.artifact.repo}"
+ artifactrepositoryname="${p2.artifact.repo.name}" metadatarepository="${p2.metadata.repo}"
+ metadatarepositoryname="${p2.metadata.repo.name}" site="${p2.category.site}">
+ <features dir="${p2.build.dir}" includes="features/com.motorola.studio.android.*" />
+ <bundles dir="${p2.build.dir}" includes="plugins/com.motorola.studio.android*" />
+ <bundles dir="${p2.build.dir}" includes="plugins/com.motorolamobility.studio.android*" />
+ </eclipse.publish.featuresAndBundles>
+
+ <!-- Remove equinox launcher artifacts from our repository -->
+ <p2.remove.iu>
+ <repository location="${p2.artifact.repo}"/>
+ <iu id="org.eclipse.equinox.launcher.gtk.linux.x86_64"/>
+ <iu id="org.eclipse.equinox.launcher.gtk.linux.x86"/>
+ <iu id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
+ <iu id="org.eclipse.equinox.launcher.win32.win32.x86"/>
+ <iu id="org.eclipse.equinox.launcher.cocoa.macosx"/>
+ <iu id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"/>
+ </p2.remove.iu>
+
+
+ <!-- categorize the repository -->
+ <java failonerror="true" jar="${eclipse.builder.path}/plugins/${eclipse.builder.launcher}" fork="true">
+ <arg value="-application" />
+ <arg value="org.eclipse.equinox.p2.publisher.CategoryPublisher" />
+ <arg value="-metadataRepository" />
+ <arg value="${p2.artifact.repo}" />
+ <arg value="-categoryDefinition" />
+ <arg value="file:/${buildDirectory}/site.xml" />
+ </java>
+
+ <!-- antcall target="signStudio" / -->
+
+ <copy todir="${outputDirectory}">
+ <fileset dir="${p2.repo.dir}" includes="**/**" />
+ </copy>
+
+ </target>
+
+ <!-- target name="signStudio" if="motodev.keypass">
+ <p2.process.artifacts repositorypath="${p2.artifact.repo}">
+ <sign keystore="${motodev.keystore}" alias="motodev" keypass="${motodev.keypass}" storepass="${motodev.storepass}" />
+ </p2.process.artifacts>
+ </target -->
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do to test the build results -->
+ <!-- ===================================================================== -->
+ <target name="test">
+ <echo level="info" message="Studio Build Custom Targets Test"/>
+ <!-- exec executable="autotest.sh" output="/android/tests/autotest_output.log"/ -->
+ </target>
+
+ <!-- ===================================================================== -->
+ <!-- Steps to do to publish the build results -->
+ <!-- ===================================================================== -->
+ <target name="publish">
+ </target>
+
+
+ <!-- ===================================================================== -->
+ <!-- Default target -->
+ <!-- ===================================================================== -->
+ <target name="noDefault">
+ <echo message="You must specify a target when invoking this file" />
+ </target>
+
+</project>