| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <project name="Shared build targets"> |
| <!-- the following properties must be set from the calling script |
| <property name="eclipse.installation.dir" value="${buildDirectory}"/> |
| <property name="eclipse.local.tar.non.server" value="${test.eclipse.zip}"/> |
| eclipse.download.cache,pluginbuilder.eclipse.url |
| optional: |
| <property name="pluginbuilder.additional.feature.urls" value="featureurl1,featureurl2"/> |
| --> |
| |
| <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpath="${buildHome}/build-files/ant-contrib.jar" /> |
| |
| <target name="unpack.eclipse"> |
| <condition property="unpack.eclipse"> |
| <not> |
| <available type="dir" file="${eclipse.installation.dir}"/> |
| </not> |
| </condition> |
| <antcall target="-unpack.eclipse.ifnecessary"/> |
| </target> |
| |
| <!-- call either with or feature.url or pluginbuilder.eclipse.url |
| sets property archive.location to the archive path in download cache. |
| --> |
| <target name="-set.archive.location" if="pluginbuilder.is.server"> |
| <!-- set default, useful for server where pluginbuilder.eclipse.url.default can be specified in build_local.properties --> |
| <property name="pluginbuilder.eclipse.url" value="${pluginbuilder.eclipse.url.default}"/> |
| <condition property="archive.url" value="${feature.url}" else="${pluginbuilder.eclipse.url}"> |
| <isset property="feature.url"/> |
| </condition> |
| <mkdir dir="${eclipse.download.cache}"/> |
| <tempfile destdir="${eclipse.download.cache}" property="tmp.file" suffix=".txt" prefix="downloadurl"/> |
| <echo file="${tmp.file}" message="${archive.url}"/> |
| <checksum file="${tmp.file}" property="pluginbuilder.eclipse.url.checksum"/> |
| <delete file="${tmp.file}"/> |
| <property name="archive.location" value="${eclipse.download.cache}/${pluginbuilder.eclipse.url.checksum}"/> |
| <!-- <echo message="${archive.location} is archive location for ${archive.url}"/> --> |
| </target> |
| |
| <target name="-set.eclipse.local.tar.server" if="pluginbuilder.is.server" depends="-set.archive.location"> |
| <property name="eclipse.local.tar" value="${archive.location}"/> |
| </target> |
| |
| <target name="-set.eclipse.local.tar.non.server" unless="pluginbuilder.is.server"> |
| <property name="eclipse.local.tar" value="${eclipse.local.tar.non.server}"/> |
| </target> |
| |
| <target name="-get.archive.ifnecessary" unless="eclipse.is.downloaded"> |
| <condition property="archive.url" value="${feature.url}" else="${pluginbuilder.eclipse.url}"> |
| <isset property="feature.url"/> |
| </condition> |
| <get src="${archive.url}" dest="${archive.location}" /> |
| </target> |
| |
| <target name="-get.archive" depends="-set.archive.location" if="pluginbuilder.is.server"> |
| <condition property="eclipse.is.downloaded"> |
| <available file="${archive.location}" property="${eclipse.is.downloaded}"/> |
| </condition> |
| <antcall target="-get.archive.ifnecessary"/> |
| </target> |
| |
| <target name="-get.features" if="pluginbuilder.is.server" > |
| <property name="pluginbuilder.feature.urls" value="${pluginbuilder.feature.urls.default}"/> |
| <foreach list="${pluginbuilder.feature.urls}" param="feature.url" delimiter="," target="-get.archive" inheritall="true"/> |
| </target> |
| |
| <target name="-unpack.features" if="pluginbuilder.is.server"> |
| <property name="pluginbuilder.feature.urls" value="${pluginbuilder.feature.urls.default}"/> |
| <foreach list="${pluginbuilder.feature.urls}" param="feature.url" delimiter="," target="-unpack.feature" inheritall="true"/> |
| </target> |
| |
| <target name="-unpack.feature" depends="-set.archive.location"> |
| <property name="tempunziplocation" value="${buildDirectory}/tmpunzip"/> |
| <delete dir="${tempunziplocation}" failonerror="false"/> |
| <mkdir dir="${tempunziplocation}"/> |
| <unzip src="${archive.location}" overwrite="true" dest="${tempunziplocation}"/> |
| <condition property="moveroot" value="${tempunziplocation}/eclipse" else="${tempunziplocation}"> |
| <available file="${tempunziplocation}/eclipse" type="dir"/> |
| </condition> |
| <move todir="${eclipse.installation.dir}" includeemptydirs="true"> |
| <fileset dir="${moveroot}" includes="**"/> |
| </move> |
| </target> |
| |
| <target name="-unpack.eclipse.ifnecessary" if="unpack.eclipse"> |
| <antcall target="-get.archive"/> |
| <condition property="is.windows"> |
| <os family="windows"/> |
| </condition> |
| <antcall target="-unpack.eclipse.windows"/> |
| <antcall target="-unpack.eclipse.linux"/> |
| <antcall target="-get.features"/> |
| <antcall target="-unpack.features"/> |
| </target> |
| |
| <target name="-unpack.eclipse.windows" if="is.windows" depends="-set.eclipse.local.tar.server,-set.eclipse.local.tar.non.server"> |
| <unzip src="${eclipse.local.tar}" overwrite="true" dest="${eclipse.installation.dir}/.."/> |
| </target> |
| |
| <target name="-unpack.eclipse.linux" unless="is.windows" depends="-set.eclipse.local.tar.server,-set.eclipse.local.tar.non.server"> |
| <untar src="${eclipse.local.tar}" overwrite="true" dest="${eclipse.installation.dir}/.." compression="gzip"/> |
| </target> |
| |
| <target name="test"> |
| <property name="buildDirectory" value="C:/Temp/tst"/> |
| <mkdir dir="${buildDirectory}"/> |
| <property name="eclipse.download.cache" value="C:/Temp/downloadcache"/> |
| <property name="pluginbuilder.is.server" value="true"/> |
| <property name="pluginbuilder.eclipse.url" value="http://mirror.yoxos-eclipse-distribution.de/eclipse.org/eclipse/downloads/drops/R-3.2.2-200702121330/eclipse-PDE-3.2.2.zip"/> |
| |
| <property name="eclipse.installation.dir" value="C:/Temp/eclipse_root/eclipse"/> |
| <delete dir="${eclipse.installation.dir}" failonerror="false"/> |
| <property name="pluginbuilder.feature.urls" value="http://self.pluginbuilder.org/0.2.0/org.pluginbuilder.feature-0.2.0.20070218PRD.zip,http://mirror.yoxos-eclipse-distribution.de/eclipse.org/eclipse/downloads/drops/R-3.2.2-200702121330/eclipse-examples-3.2.2.zip"/> |
| <antcall target="unpack.eclipse"/> |
| </target> |
| |
| </project> |