summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Noël Rivasseau <elvanor@gentoo.org>2008-08-05 08:08:10 +0000
committerJean-Noël Rivasseau <elvanor@gentoo.org>2008-08-05 08:08:10 +0000
commitbd61a534f68b6afa7fa8026fb7a6f050daa30193 (patch)
treea3ae3f6c57ed8edb1d5e1220c9078802302bcb01 /dev-util/eclipse-sdk/files
parentEclipse-3.4 version bump (#229609) (diff)
downloadhistorical-bd61a534f68b6afa7fa8026fb7a6f050daa30193.tar.gz
historical-bd61a534f68b6afa7fa8026fb7a6f050daa30193.tar.bz2
historical-bd61a534f68b6afa7fa8026fb7a6f050daa30193.zip
Eclipse-3.4 version bump (#229609)
Package-Manager: portage-2.1.4.4
Diffstat (limited to 'dev-util/eclipse-sdk/files')
-rw-r--r--dev-util/eclipse-sdk/files/3.4/ant-osgi-manifest.mf30
-rw-r--r--dev-util/eclipse-sdk/files/3.4/eclipse-3.440
-rw-r--r--dev-util/eclipse-sdk/files/3.4/eclipse_String.compareTo.diff33
-rw-r--r--dev-util/eclipse-sdk/files/3.4/eclipse_build-libs.diff45
-rw-r--r--dev-util/eclipse-sdk/files/3.4/eclipse_buildfix-pde.diff11
-rw-r--r--dev-util/eclipse-sdk/files/3.4/eclipserc25
-rw-r--r--dev-util/eclipse-sdk/files/3.4/fedora/eclipse-libupdatebuild2.patch10
-rw-r--r--dev-util/eclipse-sdk/files/3.4/fedora/eclipse-pde.build-add-package-build.patch273
8 files changed, 467 insertions, 0 deletions
diff --git a/dev-util/eclipse-sdk/files/3.4/ant-osgi-manifest.mf b/dev-util/eclipse-sdk/files/3.4/ant-osgi-manifest.mf
new file mode 100644
index 000000000000..deb8a6aa87a8
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.4/ant-osgi-manifest.mf
@@ -0,0 +1,30 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Apache Ant
+Bundle-Vendor: Gentoo
+Bundle-SymbolicName: org.apache.ant
+Bundle-Version: 1.7.0
+Bundle-ClassPath: lib/ant.jar,lib/ant-launcher.jar,lib/ant-nodeps.jar
+Export-Package: images,org.apache.tools.ant,org.apache.tools.ant.dispatch,org.apache.tools.ant.filters,org.apache.tools.ant.filters.util,
+ org.apache.tools.ant.helper,org.apache.tools.ant.input,org.apache.tools.ant.listener,org.apache.tools.ant.loader,
+ org.apache.tools.ant.taskdefs,org.apache.tools.ant.taskdefs.compilers,org.apache.tools.ant.taskdefs.condition,
+ org.apache.tools.ant.taskdefs.cvslib,org.apache.tools.ant.taskdefs.email,org.apache.tools.ant.taskdefs.optional,
+ org.apache.tools.ant.taskdefs.optional.ccm,org.apache.tools.ant.taskdefs.optional.clearcase,org.apache.tools.ant.taskdefs.optional.depend,
+ org.apache.tools.ant.taskdefs.optional.depend.constantpool,org.apache.tools.ant.taskdefs.optional.dotnet,
+ org.apache.tools.ant.taskdefs.optional.ejb,org.apache.tools.ant.taskdefs.optional.extension,org.apache.tools.ant.launch,
+ org.apache.tools.ant.taskdefs.optional.extension.resolvers,org.apache.tools.ant.taskdefs.optional.i18n,
+ org.apache.tools.ant.taskdefs.optional.image,org.apache.tools.ant.taskdefs.optional.j2ee,org.apache.tools.ant.taskdefs.optional.javacc,
+ org.apache.tools.ant.taskdefs.optional.javah,org.apache.tools.ant.taskdefs.optional.jdepend,org.apache.tools.ant.taskdefs.optional.jlink,
+ org.apache.tools.ant.taskdefs.optional.jsp,org.apache.tools.ant.taskdefs.optional.jsp.compilers,org.apache.tools.ant.taskdefs.optional.junit,
+ org.apache.tools.ant.taskdefs.optional.junit.xsl,org.apache.tools.ant.taskdefs.optional.native2ascii,org.apache.tools.ant.taskdefs.optional.net,
+ org.apache.tools.ant.taskdefs.optional.perforce,org.apache.tools.ant.taskdefs.optional.pvcs,org.apache.tools.ant.taskdefs.optional.scm,
+ org.apache.tools.ant.taskdefs.optional.script,org.apache.tools.ant.taskdefs.optional.sos,org.apache.tools.ant.taskdefs.optional.sound,
+ org.apache.tools.ant.taskdefs.optional.splash,org.apache.tools.ant.taskdefs.optional.ssh,org.apache.tools.ant.taskdefs.optional.starteam,
+ org.apache.tools.ant.taskdefs.optional.unix,org.apache.tools.ant.taskdefs.optional.vss,org.apache.tools.ant.taskdefs.optional.windows,
+ org.apache.tools.ant.taskdefs.rmic,org.apache.tools.ant.types,org.apache.tools.ant.types.conditions,org.apache.tools.ant.types.mappers,
+ org.apache.tools.ant.types.optional,org.apache.tools.ant.types.optional.depend,org.apache.tools.ant.types.optional.image,
+ org.apache.tools.ant.types.resolver,org.apache.tools.ant.types.resources,org.apache.tools.ant.types.resources.comparators,
+ org.apache.tools.ant.types.resources.selectors,org.apache.tools.ant.types.selectors,org.apache.tools.ant.types.selectors.modifiedselector,
+ org.apache.tools.ant.types.spi,org.apache.tools.ant.util,org.apache.tools.ant.util.depend,org.apache.tools.ant.util.depend.bcel,
+ org.apache.tools.ant.util.facade,org.apache.tools.ant.util.java15,org.apache.tools.ant.util.optional,org.apache.tools.ant.util.regexp,
+ org.apache.tools.bzip2,org.apache.tools.mail,org.apache.tools.tar,org.apache.tools.zip \ No newline at end of file
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipse-3.4 b/dev-util/eclipse-sdk/files/3.4/eclipse-3.4
new file mode 100644
index 000000000000..30beb7736ecc
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.4/eclipse-3.4
@@ -0,0 +1,40 @@
+#! /bin/sh
+#
+# Tiny startup wrapper for Eclipse
+#
+# Copyright (c) 2004, Karl Trygve Kalleberg <karltk@gentoo.org>
+# Copyright (c) 2007-2008, Jean-Noël Rivasseau <elvanor@gentoo.org>
+# Copyright (c) 2004-2008, Gentoo Foundation
+#
+# Licensed under the GNU General Public License, version 2
+#
+
+SLOT="3.4"
+
+[ -f "/etc/eclipserc" ] && source "/etc/eclipserc"
+[ -f "$HOME/.gentoo/.eclipserc" ] && source "$HOME/.gentoo/.eclipserc"
+
+ECLIPSE_HOME=${ECLIPSE_HOME:="/usr/lib/eclipse-${SLOT}"}
+ECLIPSE_BIN="${ECLIPSE_HOME}/eclipse"
+
+if [ ! -x ${ECLIPSE_BIN} ] ; then
+ echo "Failed to find executable '${ECLIPSE_BIN}'" > /dev/stderr
+ exit -1
+fi
+
+if [ $(id -u) -eq 0 ] ; then
+ echo "Do not run eclipse as root user! Exiting ..."
+ exit -1
+fi
+
+[[ "$(java-config -f)" =~ "gcj" ]] \
+ && export JAVA_PKG_CLASSMAP="${ECLIPSE_HOME}/eclipse.gcjdb"
+
+eval $(gjl --package "swt-${SLOT}" --get-args)
+
+[ -n "${ECLIPSE_XMS}" ] && VM_ARGS="${VM_ARGS} -Xms${ECLIPSE_XMS}"
+[ -n "${ECLIPSE_XMX}" ] && VM_ARGS="${VM_ARGS} -Xmx${ECLIPSE_XMX}"
+[ -n "${ECLIPSE_PERMSIZE}" ] && VM_ARGS="${VM_ARGS} -XX:PermSize=${ECLIPSE_PERMSIZE}"
+[ -n "${ECLIPSE_MAX_PERMSIZE}" ] && VM_ARGS="${VM_ARGS} -XX:MaxPermSize=${ECLIPSE_MAX_PERMSIZE}"
+
+exec ${ECLIPSE_BIN} -vm $(java-config --java) "$@" "${ECLIPSE_USER_ARGS}" -vmargs ${VM_ARGS} \ No newline at end of file
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipse_String.compareTo.diff b/dev-util/eclipse-sdk/files/3.4/eclipse_String.compareTo.diff
new file mode 100644
index 000000000000..a39c23618d3c
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.4/eclipse_String.compareTo.diff
@@ -0,0 +1,33 @@
+--- plugins/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java.orig 2008-04-01 11:24:25.000000000 +0200
++++ plugins/org.eclipse.pde.api.tools.ui/src/org/eclipse/pde/api/tools/ui/internal/wizards/ApiProfileWizardPage.java 2008-04-01 11:25:43.000000000 +0200
+@@ -282,7 +282,7 @@
+ }
+ Collections.sort(items, new Comparator() {
+ public int compare(Object o1, Object o2) {
+- return ((String)o1).compareTo(o2);
++ return ((String)o1).compareTo((String)o2);
+ }
+ });
+
+--- plugins/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/DeltaReportConversionTask.java.orig 2008-05-05 21:35:49.000000000 +0200
++++ plugins/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/DeltaReportConversionTask.java 2008-05-05 21:36:16.000000000 +0200
+@@ -243,7 +243,7 @@
+ public int compare(Object o1, Object o2) {
+ Map.Entry entry1 = (Map.Entry) o1;
+ Map.Entry entry2 = (Map.Entry) o2;
+- return ((String) entry1.getKey()).compareTo(entry2.getKey());
++ return ((String)entry1.getKey()).compareTo((String)entry2.getKey());
+ }
+ });
+ for (Iterator iterator = allEntries.iterator(); iterator.hasNext(); ) {
+--- plugins/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIToolsVerificationTask.java.orig 2008-06-11 17:16:18.000000000 +0200
++++ plugins/org.eclipse.pde.api.tools/src_ant/org/eclipse/pde/api/tools/internal/tasks/APIToolsVerificationTask.java 2008-06-11 17:16:39.000000000 +0200
+@@ -656,7 +656,7 @@
+ public int compare(Object o1, Object o2) {
+ Map.Entry entry1 = (Map.Entry) o1;
+ Map.Entry entry2 = (Map.Entry) o2;
+- return ((String) entry1.getKey()).compareTo(entry2.getKey());
++ return ((String)entry1.getKey()).compareTo((String)entry2.getKey());
+ }
+ });
+ Summary[] summaries = new Summary[size];
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipse_build-libs.diff b/dev-util/eclipse-sdk/files/3.4/eclipse_build-libs.diff
new file mode 100644
index 000000000000..0f77f3634b72
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.4/eclipse_build-libs.diff
@@ -0,0 +1,45 @@
+--- build.xml 2008-06-11 17:43:11.000000000 +0200
++++ build.xml 2008-05-02 07:33:57.000000000 +0200
+@@ -1,7 +1,7 @@
+ <project name="Eclipse SDK Source Build" default="run" basedir=".">
+
+ <!-- default target that runs complete build -->
+- <target name="run" depends="fetch,insertBuildId,compile,install" />
++ <target name="run" depends="fetch,insertBuildId,compile,compilelibs,install" />
+
+ <!-- all features required to build eclipse sdk and javadoc -->
+ <target name="allElements">
+@@ -71,6 +71,33 @@
+ <record name="compilelog.txt" action="stop" />
+ </target>
+
++ <target name="compilelibs" depends="init,clean,compile" if="libsconfig">
++ <property name="launcherlibs" value="${buildDirectory}/features/org.eclipse.equinox.executable" />
++ <exec dir="${launcherlibs}/library/${installWs}/" executable="sh" failonerror="true">
++ <arg line="build.sh -java ${java5.home}" />
++ </exec>
++ <copy file="${launcherlibs}/library/${installWs}/eclipse" todir="${buildDirectory}/eclipse/" />
++
++ <property name="launcherfragment" value="org.eclipse.equinox.launcher.${installWs}.${installOs}.${installArch}" />
++
++ <copy file="${launcherlibs}/library/${installWs}/eclipse" todir="features/org.eclipse.equinox.executable/contributed/${installWs}/${installOs}/${installArch}/" />
++ <copy todir="${buildDirectory}/plugins/${launcherfragment}">
++ <fileset dir="${launcherlibs}/library/${installWs}">
++ <include name="**/*.so" />
++ </fileset>
++ </copy>
++
++ <!-- build liblocalfile -->
++ <exec dir="plugins/org.eclipse.core.filesystem/natives/unix/linux" executable="make" failonerror="true" />
++ <move file="plugins/org.eclipse.core.filesystem/natives/unix/linux/liblocalfile_1_0_0.so" todir="plugins/org.eclipse.core.filesystem.linux.${installArch}/os/linux/${installArch}">
++ </move>
++ <!-- build libupdate -->
++ <ant dir="plugins/org.eclipse.update.core.linux/src" antfile="build.xml" />
++
++ </target>
++
++
++
+ <!--create an installable eclipse runtime-->
+ <target name="install" depends="init">
+ <echo message="Assembling..." />
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipse_buildfix-pde.diff b/dev-util/eclipse-sdk/files/3.4/eclipse_buildfix-pde.diff
new file mode 100644
index 000000000000..129658735945
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.4/eclipse_buildfix-pde.diff
@@ -0,0 +1,11 @@
+--- features/org.eclipse.pde/build.xml.orig 2008-05-05 21:45:14.000000000 +0200
++++ features/org.eclipse.pde/build.xml 2008-05-05 21:45:31.000000000 +0200
+@@ -69,7 +69,7 @@
+ <target name="update.feature" depends="init">
+ </target>
+
+- <target name="all.children" depends="init,all.features,all.plugins,update.feature">
++ <target name="all.children" depends="init,all.plugins,all.features,update.feature">
+ </target>
+
+ <target name="children" if="include.children">
diff --git a/dev-util/eclipse-sdk/files/3.4/eclipserc b/dev-util/eclipse-sdk/files/3.4/eclipserc
new file mode 100644
index 000000000000..3e97c2b25b36
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.4/eclipserc
@@ -0,0 +1,25 @@
+# This file specifies some initial Eclipse settings, like memory allowed to Eclipse.
+# These settings only affect Eclipse startup and overall configuration.
+# Main Eclipse configuration should be done within Eclipse (with the GUI).
+
+# Following variables controls the minimal and maximum amounts of memory
+# allocated to Eclipse (respectively).
+# Increase those numbers if you get OutOfMemory errors or if you have lots of memory to
+# throw at Eclipse.
+
+ECLIPSE_XMS=128m
+ECLIPSE_XMX=256m
+
+# Following variables controls the minimal and maximum amounts of memory
+# allocated to the permanent generation space.
+# This space contains data related to all classes.
+# The default values should be enough for most people, but you can increase those amounts
+# if you get crashes related to OutOfMemory in PermGen exceptions.
+# If you lack memory, you can also try decrease those amounts.
+
+ECLIPSE_PERMSIZE=128m
+ECLIPSE_MAX_PERMSIZE=256m
+
+# Additional needed properties (see bug #219413)
+
+#ECLIPSE_USER_ARGS="" \ No newline at end of file
diff --git a/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-libupdatebuild2.patch b/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-libupdatebuild2.patch
new file mode 100644
index 000000000000..263adbbc516c
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-libupdatebuild2.patch
@@ -0,0 +1,10 @@
+--- plugins/org.eclipse.update.core.linux/src/build.xml.orig 2008-06-11 17:29:43.000000000 +0200
++++ plugins/org.eclipse.update.core.linux/src/build.xml 2008-06-11 17:30:03.000000000 +0200
+@@ -5,7 +5,6 @@
+ <!-- Set a meaningful default value for when it is not. -->
+ <property name="eclipse-home" value="${basedir}/../.."/>
+ <property name="jdk-path" value="${java.home}"/>
+- <property name="installArch" value="x86" />
+ <property name="destination" value="${eclipse-home}/org.eclipse.update.core.linux/os/linux/${installArch}/"/>
+ <property name="obj-path" value="${eclipse-home}/org.eclipse.update.core.linux/src/"/>
+ <property name="src-path" value="${eclipse-home}/org.eclipse.update.core.linux/src/"/>
diff --git a/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-pde.build-add-package-build.patch b/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-pde.build-add-package-build.patch
new file mode 100644
index 000000000000..77f347d6a73a
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.4/fedora/eclipse-pde.build-add-package-build.patch
@@ -0,0 +1,273 @@
+Index: templates/package-build/build.properties
+===================================================================
+RCS file: templates/package-build/build.properties
+diff -N templates/package-build/build.properties
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ templates/package-build/build.properties 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,12 @@
++buildDirectory=${sourceDirectory}/build
++buildLabel=rpmBuild
++archivePrefix=eclipse
++skipFetch=true
++javacFailOnError=true
++collectingFolder=eclipse
++archivesFormat=*,*,*-zip
++zipargs=-y
++javacDebugInfo=true
++archiveName=${id}.zip
++runPackager=false
++baseLocation=/usr/share/eclipse
+Index: templates/package-build/customTargets-assemble-target.xml
+===================================================================
+RCS file: templates/package-build/customTargets-assemble-target.xml
+diff -N templates/package-build/customTargets-assemble-target.xml
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ templates/package-build/customTargets-assemble-target.xml 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,12 @@
++<project>
++ <!-- ===================================================================== -->
++ <!-- 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.@id@">
++ <ant antfile="${assembleScriptName}" dir="${buildDirectory}"/>
++ </target>
++</project>
+Index: templates/package-build/customTargets.xml
+===================================================================
+RCS file: templates/package-build/customTargets.xml
+diff -N templates/package-build/customTargets.xml
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ templates/package-build/customTargets.xml 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,144 @@
++<project name="Build specific targets and properties" default="noDefault">
++
++ <fail unless="type" message="Please set the ${type} property to 'feature', 'plugin' or 'fragment'." />
++ <fail unless="id" message="Please set the ${id} property to the feature, plugin or fragment id of the plugin you are building." />
++ <fail unless="sourceDirectory" message="Please set the ${sourceDirectory} property to the directory that has the source plugins." />
++
++ <!-- we need to do this because you can't expand variables in target names -->
++ <copy file="${builder}/customTargets-assemble-target.xml" tofile="${buildDirectory}/customTargets-${id}-assemble-target.xml" />
++ <replace file="${buildDirectory}/customTargets-${id}-assemble-target.xml" token="@id@" value="${id}" />
++ <import file="${buildDirectory}/customTargets-${id}-assemble-target.xml" />
++
++ <!-- ===================================================================== -->
++ <!-- Run a given ${target} on all elements being built -->
++ <!-- Add on <ant> task for each top level element being built. -->
++ <!-- ===================================================================== -->
++ <target name="allElements">
++ <ant antfile="${genericTargets}" target="${target}">
++ <property name="type" value="${type}" />
++ <property name="id" value="${id}" />
++ </ant>
++ </target>
++
++
++ <!-- ===================================================================== -->
++ <!-- Check out map files from correct repository -->
++ <!-- ===================================================================== -->
++ <target name="getMapFiles">
++ </target>
++
++ <!-- ===================================================================== -->
++
++ <target name="clean" unless="noclean">
++ <antcall target="allElements">
++ <param name="target" value="cleanElement" />
++ </antcall>
++ </target>
++
++ <!-- ===================================================================== -->
++ <!-- Steps to do before setup -->
++ <!-- ===================================================================== -->
++ <target name="preSetup">
++ </target>
++
++ <!-- ===================================================================== -->
++ <!-- Steps to do after setup but before starting the build proper -->
++ <!-- ===================================================================== -->
++ <target name="postSetup">
++ </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 generating the build scripts. -->
++ <!-- ===================================================================== -->
++ <target name="preGenerate">
++ <!-- Eclipse expects the feature projects to be in the 'features' directory and
++ plugin projects to be in the 'plugins' directory. The build infrastructure
++ normally arranges the projects during the fetch stage. Since we aren't doing
++ the fetch stage, we have to manually arrange the files -->
++ <exec dir="${builder}" executable="/bin/sh">
++ <arg line="prepare-build-dir.sh ${sourceDirectory} ${buildDirectory}" />
++ </exec>
++
++ </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">
++ </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">
++ </target>
++
++ <!-- ===================================================================== -->
++ <!-- Steps to do to test the build results -->
++ <!-- ===================================================================== -->
++ <target name="test">
++ </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>
+Index: templates/package-build/prepare-build-dir.sh
+===================================================================
+RCS file: templates/package-build/prepare-build-dir.sh
+diff -N templates/package-build/prepare-build-dir.sh
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ templates/package-build/prepare-build-dir.sh 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,77 @@
++#!/bin/sh
++
++if [ $# -ne 2 ]; then
++ echo "usage: $0 <path to source dir> <path to build dir>"
++ exit 1
++fi
++
++if [ ! -d $1 ]; then
++ echo "usage: $0 <path to source dir> <path to build dir>"
++ exit 1
++fi
++
++SOURCEDIR=$1
++BUILDDIR=$2
++
++echo "preparing files in $1 for buildfile generation ..."
++mkdir -p $BUILDDIR
++
++# make some ant build files to extract the id from the feature.xml, plugin.xml or the fragment.xml
++mkdir -p $BUILDDIR/tmp
++BUILDFILE=$BUILDDIR/tmp/build.xml
++
++echo "<project default=\"main\">
++ <target name=\"main\">
++ <xmlproperty file=\"@type@.xml\" collapseAttributes=\"true\"/>
++ <fail unless=\"@type@.id\" message=\"feature.id not set\"/>
++ <echo message=\"\${@type@.id}\" />
++ </target>
++</project>" > $BUILDFILE
++
++for type in feature plugin fragment; do
++ CURBUILDFILE=$BUILDDIR/tmp/$type-build.xml
++ cat $BUILDFILE | sed "s|@type@|$type|" > $CURBUILDFILE
++done
++
++# make the directories eclipse is expecting
++echo " making the 'features' and 'plugins' directories"
++mkdir -p $BUILDDIR/features $BUILDDIR/plugins
++
++# make symlinks for the features
++FEATURES=$(find $SOURCEDIR -name feature.xml)
++for f in $FEATURES; do
++ PROJECTDIR=$(dirname $f)
++ PROJECTNAME=$(ant -Dbasedir=$PROJECTDIR -f $BUILDDIR/tmp/feature-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
++ if [ -z $PROJECTNAME ]; then
++ echo "ERROR: could not determine the feature id for $PROJECTDIR"
++ exit 1
++ fi
++
++ echo " making symlink: $BUILDDIR/features/$PROJECTNAME -> $PROJECTDIR"
++ ln -sf $PROJECTDIR $BUILDDIR/features/$PROJECTNAME
++done
++
++# make symlinks for plugins and fragments
++PLUGINDIRS=$(find $SOURCEDIR -name plugin.xml -o -name fragment.xml -o -name MANIFEST.MF | sed "s/plugin.xml//g" | sed "s/fragment.xml//g" | sed "s/META-INF\/MANIFEST.MF//" | sort | uniq)
++for dir in $PLUGINDIRS; do
++ PROJECTNAME=""
++ if [ -e $dir/META-INF/MANIFEST.MF ]; then
++ PROJECTNAME=$(grep Bundle-SymbolicName $dir/META-INF/MANIFEST.MF | cut --delimiter=';' -f 1 | cut --delimiter=' ' -f 2)
++ elif [ -e $dir/plugin.xml ]; then
++ PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/plugin-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
++ elif [ -e $dir/fragment.xml ]; then
++ PROJECTNAME=$(ant -Dbasedir=$dir -f $BUILDDIR/tmp/fragment-build.xml 2>&1 | grep echo | cut --delimiter=' ' -f 7)
++ fi
++
++ if [ -z $PROJECTNAME ]; then
++ echo "ERROR: could not determine the plugin or fragment id for $dir"
++ exit 1
++ fi
++
++ echo " making symlink: $BUILDDIR/plugins/$PROJECTNAME -> $dir"
++ ln -sf $dir $BUILDDIR/plugins/$PROJECTNAME
++
++done
++
++rm -rf $BUILDDIR/tmp
++echo done