diff options
author | 2009-01-06 14:29:58 +0000 | |
---|---|---|
committer | 2009-01-06 14:29:58 +0000 | |
commit | 4ea92fc50fec131065e1cec36b84df733feeacca (patch) | |
tree | b31d3cc6bb23b224dc7d09781b14e279992ce568 /dev-util | |
parent | New upstream versions not in portage (diff) | |
download | pauldv-4ea92fc50fec131065e1cec36b84df733feeacca.tar.gz pauldv-4ea92fc50fec131065e1cec36b84df733feeacca.tar.bz2 pauldv-4ea92fc50fec131065e1cec36b84df733feeacca.zip |
New eclipse version that is also able to use the web toolkit / j2EE plugin
svn path=/trunk/overlay/; revision=74
Diffstat (limited to 'dev-util')
-rw-r--r-- | dev-util/eclipse-sdk/Manifest | 11 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/NOTES | 1 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/eclipse-sdk-3.4.1.ebuild | 346 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/3.4/ant-osgi-manifest.mf | 30 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/3.4/eclipse-3.4 | 40 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/3.4/eclipse-c-warning.patch | 43 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/3.4/eclipse_build-libs.diff | 45 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/3.4/eclipse_buildfix-pde.diff | 11 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/3.4/eclipserc | 25 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/3.4/fedora/eclipse-libupdatebuild2.patch | 10 | ||||
-rw-r--r-- | dev-util/eclipse-sdk/files/3.4/fedora/eclipse-pde.build-add-package-build.patch | 273 |
11 files changed, 835 insertions, 0 deletions
diff --git a/dev-util/eclipse-sdk/Manifest b/dev-util/eclipse-sdk/Manifest new file mode 100644 index 0000000..25266e6 --- /dev/null +++ b/dev-util/eclipse-sdk/Manifest @@ -0,0 +1,11 @@ +AUX 3.4/ant-osgi-manifest.mf 3165 RMD160 75444432268c9eef06cd4bb18352b77e426ed116 SHA1 c09dd82dee4708e8726b52569e25da0edda641df SHA256 1df8d7283d6f8fa3d1c3bbbbd832a5fd091f39b52d27d88b131064aeb81ab542 +AUX 3.4/eclipse-3.4 1287 RMD160 aa2b164c3e51d2813f00e1cbcbf3471de3732298 SHA1 f12f6643ffcfe2040c354c81db4d7073c9366906 SHA256 e834ada06a933ab9eb42c78b378b302f2a78150c911b7e6e324e2ccfc3dfcf60 +AUX 3.4/eclipse-c-warning.patch 1763 RMD160 a12e5c00d93534a0baff4b100e9ba08d6503da9c SHA1 7ccb60e0085e1fdb166e48613088454276b563d3 SHA256 3fdcad1d066200d276648b5cb6f6a7d10de89ca7a2ff6397edc0eda4128050cc +AUX 3.4/eclipse_build-libs.diff 2054 RMD160 0d74a889ecfb10d62e7cb20bad73c956e8225503 SHA1 3c570014221537debd8ac568d7ab94da18d8ebb4 SHA256 ce181b5dd7dc47bbb60b965c0241b126a4b5edfdddae762596ed882fdbd637bf +AUX 3.4/eclipse_buildfix-pde.diff 470 RMD160 f5868f6da880e6e930051893cba3e4277e927fb5 SHA1 f6ca5a75a40cff1d132af2b0d32367de744d4c62 SHA256 99450b348f6d41a489adfd51e1132f640eb8c43dfc4e9dd8e026aec66b41e30a +AUX 3.4/eclipserc 1001 RMD160 a008502defce8739022f3e4333cde1fb7f3de0f5 SHA1 b712b8b53e27214b0b51f01206b6252c9ef4ab9c SHA256 c1d66404893b11b5c4d743a974a61277508c5d3fcec0aad96f50f620d42c6191 +AUX 3.4/fedora/eclipse-libupdatebuild2.patch 722 RMD160 6baa55ab7545f02e808ed05c901f77fb1d6709d4 SHA1 29f86a88e8ddc048e1fb4206a73824b2a4ed742d SHA256 ba7af44c1751b749591a53cb2c80852ef08f2f003917a5914042937e2d05b464 +AUX 3.4/fedora/eclipse-pde.build-add-package-build.patch 11604 RMD160 ba63781fa77452e4c36eae7e07d81b7d39f5ec29 SHA1 7ee30f8fc2732125e1f2ba01038922d995b21456 SHA256 d361930896c940c09a7faf41f2c8d7843d56be9b90391e91538890062e5d7803 +DIST eclipse-sourceBuild-srcIncluded-3.4.1.zip 106290656 RMD160 b5244cd94199b2d359e7e4d1f93018c9050e29de SHA1 484cdf90c05fab47492f7d2ce1fff64422373a9b SHA256 cb451bcc8866ab289b3a322e17eda7d20429463e8b3f329f66626b45b0fd6824 +EBUILD eclipse-sdk-3.4.1.ebuild 13048 RMD160 50b762a53ced24db46c9f3909ab5cf61f7dacf60 SHA1 5fcd93c318353d742a17875bf4be1d0d75aac61a SHA256 90bdd3859f43b34f52a3a4ed15afdf22c9b056c2b00d56dcf98d04be7237731b +MISC NOTES 109 RMD160 46488535b78316726bcd68db93ba92f6660dce66 SHA1 e329071628cc4ac1401faa44c8e7976597cba2c6 SHA256 c914208f0ac7675bd3b6c9d306387dca733554bb771eb1add872c7b9c929dfba diff --git a/dev-util/eclipse-sdk/NOTES b/dev-util/eclipse-sdk/NOTES new file mode 100644 index 0000000..3b9e02d --- /dev/null +++ b/dev-util/eclipse-sdk/NOTES @@ -0,0 +1 @@ +New eclipse to follow upstream. Also fix broken jdk1.6 support (and hopefully make the j2ee plugins working) diff --git a/dev-util/eclipse-sdk/eclipse-sdk-3.4.1.ebuild b/dev-util/eclipse-sdk/eclipse-sdk-3.4.1.ebuild new file mode 100644 index 0000000..31217af --- /dev/null +++ b/dev-util/eclipse-sdk/eclipse-sdk-3.4.1.ebuild @@ -0,0 +1,346 @@ +# Copyright 2007-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/eclipse-sdk/eclipse-sdk-3.4-r2.ebuild,v 1.1 2008/08/05 08:07:53 elvanor Exp $ + +# To unbundle a jar, do the following: +# 1) Rewrite the ebuild so it uses OSGi packaging +# 2) Add the dependency and add it to gentoo_jars/system_jars +# 3) Remove it from the build directory, and don't forget to modify the main Ant file +# so that it does *NOT* copy the file at the end +# 4) Install the symlink itself via java-pkg_jarfrom + +# Jetty, Tomcat-jasper have to stay bundled for now, until someone does some work on them. + +# Current patches are hard to maintain when revbumping. +# Two solutions: +# 1) Split patches so that there is one per file +# 2) Use sed, better solution I would say. + +EAPI="1" +JAVA_PKG_IUSE="doc" +inherit java-pkg-2 java-ant-2 check-reqs + +DMF="R-${PV}-200809111700" +MY_A="eclipse-sourceBuild-srcIncluded-${PV}.zip" + +DESCRIPTION="Eclipse Tools Platform" +HOMEPAGE="http://www.eclipse.org/" +SRC_URI="http://download.eclipse.org/eclipse/downloads/drops/${DMF}/${MY_A}" + +SLOT="3.4" +LICENSE="EPL-1.0" +IUSE="java6" +KEYWORDS="~amd64 ~ppc ~x86" + +S=${WORKDIR} +PATCHDIR="${FILESDIR}/${SLOT}" +FEDORA="${PATCHDIR}/fedora" +ECLIPSE_DIR="/usr/lib/eclipse-${SLOT}" + +CDEPEND="dev-java/ant-eclipse-ecj:${SLOT} + dev-java/ant-core + dev-java/ant-nodeps + dev-java/junit:0 + dev-java/junit:4 + dev-java/swt:${SLOT} + >=dev-java/jsch-0.1.36-r1 + >=dev-java/icu4j-3.8.1:0 + >=dev-java/commons-el-1.0-r2 + >=dev-java/commons-logging-1.1-r6 + >=dev-java/tomcat-servlet-api-5.5.25-r1:2.4 + dev-java/lucene:1.9 + >=dev-java/lucene-analyzers-1.9.1-r1:1.9" +RDEPEND="java6? ( >=virtual/jre-1.6 ) + !java6? ( >=virtual/jre-1.5 ) + ${CDEPEND}" +DEPEND="!java6? ( >=virtual/jdk-1.5 ) + java6? ( >=virtual/jdk-1.6 ) + dev-java/cldc-api:1.1 + app-arch/unzip + app-arch/zip + ${CDEPEND}" + +JAVA_PKG_BSFIX="off" + +pkg_setup() { + java-pkg-2_pkg_setup + + CHECKREQS_MEMORY="512" + check_reqs + + eclipsearch=${ARCH} + use amd64 && eclipsearch="x86_64" +} + +src_unpack() { + unpack ${A} + patch-apply + remove-bundled-stuff + + # Specific Gentoo tweaks for the build + if use java6; then + find "${S}" -type f -name '*.xml' -exec \ + sed -r -e "s:(-encoding ISO-8859-1):\1 -nowarn:g" \ + -e "s:(\"compilerArg\" value=\"):\1-nowarn :g" \ + -e "s:output=\".*(txt|log).*\"::g" -i {} \; +# -e "s:(<property name=\"javacSource\" value=)\".*\":\1\"1.6\":g" \ +# -e "s:(<property name=\"javacTarget\" value=)\".*\":\1\"1.6\":g" \ + else + find "${S}" -type f -name '*.xml' -exec \ + sed -r -e "s:(-encoding ISO-8859-1):\1 -nowarn:g" \ + -e "s:(\"compilerArg\" value=\"):\1-nowarn :g" \ + -e "s:(<property name=\"javacSource\" value=)\".*\":\1\"1.5\":g" \ + -e "s:(<property name=\"javacTarget\" value=)\".*\":\1\"1.5\":g" \ + -e "s:output=\".*(txt|log).*\"::g" -i {} \; + fi + + # JDK home + sed -r -e "s:^(OPT_FLAGS *= *)(.*)-O (.*)$:\1\2${CFLAGS} \3:" \ + -e "s:^(JAVA_HOME =) .*:\1 $(java-config --jdk-home):" \ + -i plugins/org.eclipse.core.filesystem/natives/unix/linux/Makefile \ + || die "sed Makefile failed" + + while read line; do + java-ant_rewrite-classpath "${line}" > /dev/null + done < <(find "${S}" -type f -name "build.xml") +} + +src_compile() { + # Figure out correct boot classpath + local bootclasspath=$(java-config --runtime) + einfo "Using boot classpath ${bootclasspath}" + + java-pkg_force-compiler ecj-${SLOT} + + # system_jars will be used when compiling (javac) + # gentoo_jars will be used when building JSPs and other ant tasks (not javac) + local system_jars="$(java-pkg_getjars swt-${SLOT},icu4j,ant-core,jsch,junit-4,tomcat-servlet-api-2.4,\ +lucene-1.9,lucene-analyzers-1.9):$(java-pkg_getjars --build-only ant-nodeps,cldc-api-1.1)" + local gentoo_jars="$(java-pkg_getjars ant-core,icu4j,jsch,commons-logging,commons-el,tomcat-servlet-api-2.4)" + local options="-q -Dnobootstrap=true -Dlibsconfig=true -Dbootclasspath=${bootclasspath} -DinstallOs=linux \ + -DinstallWs=gtk -DinstallArch=${eclipsearch} -Djava5.home=$(java-config --jdk-home)" + use java6 && options="${options} -DJavaSE-1.6=${bootclasspath}" + use doc && options="${options} -Dgentoo.javadoc=true" + + ANT_OPTS=-Xmx512M ANT_TASKS="ant-nodeps" \ + eant ${options} \ + -Dgentoo.classpath="${bootclasspath}:${system_jars}" \ + -Dgentoo.jars="${gentoo_jars//:/,}" +} + +src_install() { + dodir "/usr/lib" + + [ -f "result/linux-gtk-${eclipsearch}-sdk.tar.gz" ] \ + || die "tar.gz bundle was not built properly!" + tar xzf "result/linux-gtk-${eclipsearch}-sdk.tar.gz" -C "${D}/usr/lib" \ + || die "Failed to extract the built package" + + mv "${D}/usr/lib/eclipse" "${D}/${ECLIPSE_DIR}" + + # Install startup script + dobin "${FILESDIR}/${SLOT}/eclipse-${SLOT}" + chmod +x "${D}/${ECLIPSE_DIR}/eclipse" + + insinto "/etc" + doins "${FILESDIR}/${SLOT}/eclipserc" + + make_desktop_entry "eclipse-${SLOT}" "Eclipse ${PV}" "${ECLIPSE_DIR}/icon.xpm" + + cd "${D}/${ECLIPSE_DIR}" + install-link-system-jars +} + +pkg_postinst() { + einfo "Welcome to Eclipse ${PV} (Ganymede)!" + einfo + einfo "You can now install plugins via Update Manager without any" + einfo "tweaking. This is the recommended way to install new features for Eclipse." + einfo + einfo "Please read http://gentoo-wiki.com/Eclipse" + einfo "It contains a lot of useful information and help about Eclipse on Gentoo." + einfo + einfo "The FileInitializer Plugin is no more integrated." + einfo "If you need it, get org.eclipse.equinox.initializer_x.y.z.jar from:" + einfo " http://download.eclipse.org/eclipse/equinox/" + echo + ewarn "The new Update Manager (P2) is not yet supported under Gentoo." + ewarn "Please enable the 'Classic Update' under:" + ewarn "Window > Preferences > General > Capabilities" +} + +# ----------------------------------------------------------------------------- +# Helper functions +# ----------------------------------------------------------------------------- + +install-link-system-jars() { + pushd plugins/ > /dev/null + + mkdir "org.apache.ant" + mkdir "org.apache.ant/META-INF/" + mkdir "org.apache.ant/lib" + cp "${FILESDIR}/${SLOT}/ant-osgi-manifest.mf" "org.apache.ant/META-INF/MANIFEST.MF" + pushd org.apache.ant/lib > /dev/null + java-pkg_jarfrom ant-core + java-pkg_jarfrom ant-nodeps + popd > /dev/null + + java-pkg_jarfrom swt-${SLOT} + java-pkg_jarfrom icu4j + java-pkg_jarfrom jsch + java-pkg_jarfrom commons-el + java-pkg_jarfrom commons-logging + java-pkg_jarfrom lucene-1.9 + java-pkg_jarfrom lucene-analyzers-1.9 + java-pkg_jarfrom tomcat-servlet-api-2.4 + java-pkg_jarfrom --into org.junit_*/ junit + java-pkg_jarfrom --into org.junit4*/ junit-4 + popd > /dev/null +} + +patch-apply() { + # optimize launcher build + mkdir launchertmp + unzip -qq -d launchertmp plugins/org.eclipse.platform/launchersrc.zip \ + || die "unzip failed" + pushd launchertmp/ > /dev/null + sed -r -e "s/CFLAGS = -O -s -Wall/CFLAGS = ${CFLAGS} -Wall/" \ + -i library/gtk/make_linux.mak || die "Failed to tweak make_linux.mak" + zip -q -6 -r ../launchersrc.zip * || die "zip failed" + popd > /dev/null + mv launchersrc.zip plugins/org.eclipse.platform/launchersrc.zip + rm -rf launchertmp + + # disable swt, jdk6 + # use sed where possible => ease bump :) + sed -e "/..\/..\/plugins\/org.eclipse.ui.win32/,/<\/ant>/d" \ + -i features/org.eclipse.platform/build.xml + sed -e "/dir=\"..\/..\/plugins\/org.eclipse.swt/,/<\/ant>/d" \ + -i features/org.eclipse.rcp/build.xml \ + -i features/org.eclipse.rcp.source/build.xml + sed -e "/dir=\"..\/..\/plugins\/org.eclipse.ui.carbon\"/,/<\/ant>/d" \ + -i features/org.eclipse.rcp/build.xml + + sed -e "/dir=\"plugins\/org.eclipse.swt.gtk.linux.${eclipsearch}\"/d" \ + -e "/value=\"org.eclipse.swt.gtk.linux.${eclipsearch}_/,/eclipse.plugins/d" \ + -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml + sed -e "s:\${basedir}/swt.jar:$(java-pkg_getjars --build-only swt-${SLOT}):" \ + -i plugins/org.eclipse.swt.gtk.linux.${eclipsearch}/build.xml + + if ! use java6; then + sed -e "/..\/..\/plugins\/org.eclipse.jdt.apt.pluggable.core/,/<\/ant>/d" \ + -e "/..\/..\/plugins\/org.eclipse.jdt.compiler.apt/,/<\/ant>/d" \ + -e "/..\/..\/plugins\/org.eclipse.jdt.compiler.tool/,/<\/ant>/d" \ + -i features/org.eclipse.jdt/build.xml + + sed -e "/id=\"org.eclipse.jdt.apt.pluggable.core\"/,/<plugin/d" \ + -e "/id=\"org.eclipse.jdt.compiler.apt\"/,/<plugin/d" \ + -e "/id=\"org.eclipse.jdt.compiler.tool\"/,/<plugin/d" \ + -i features/org.eclipse.jdt/feature.xml + + sed -e "/dir=\"plugins\/org.eclipse.jdt.apt.pluggable.core\"/d" \ + -e "/dir=\"plugins\/org.eclipse.jdt.compiler.apt/d" \ + -e "/dir=\"plugins\/org.eclipse.jdt.compiler.tool\"/d" \ + -e "/value=\"org.eclipse.jdt.apt.pluggable.core/,/eclipse.plugins/d" \ + -e "/value=\"org.eclipse.jdt.compiler.apt/,/eclipse.plugins/d" \ + -e "/value=\"org.eclipse.jdt.compiler.tool/,/eclipse.plugins/d" \ + -i assemble.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml + fi + + epatch "${PATCHDIR}/eclipse-c-warning.patch" + epatch "${PATCHDIR}/eclipse_build-libs.diff" + epatch "${PATCHDIR}/eclipse_buildfix-pde.diff" + + # JNI + epatch "${FEDORA}/eclipse-libupdatebuild2.patch" + + # Generic releng plugins that can be used to build plugins + # https://www.redhat.com/archives/fedora-devel-java-list/2006-April/msg00048.html + pushd plugins/org.eclipse.pde.build > /dev/null + # %patch53 + epatch "${FEDORA}/eclipse-pde.build-add-package-build.patch" + sed -e "s:@eclipse_base@:${ECLIPSE_DIR}:g" \ + -i templates/package-build/build.properties + popd > /dev/null + + # Following adds an additional classpath when building JSPs + sed '/<path id="@dot\.classpath">/ a\ + <filelist dir="" files="${gentoo.jars}" />' \ + -i plugins/org.eclipse.help.webapp/build.xml + + # Following allows the doc USE flag to be honored + sed -e '/<target name="generateJavadoc" depends="getJavadocPath"/ c\ + <target name="generateJavadoc" depends="getJavadocPath" if="gentoo.javadoc">' \ + -e '/<replace file="\${basedir}\/\${optionsFile}" token="@rt@" value="\${bootclasspath}/ c\ + <replace file="${basedir}/${optionsFile}" token="@rt@" value="${bootclasspath}:${gentoo.classpath}" />' \ + -i plugins/org.eclipse.platform.doc.isv/buildDoc.xml + + # This allows to compile osgi.util and osgi.service, and fixes IPluginDescriptor.class which is present compiled + sed -e 's/<src path="\."/<src path="org"/' \ + -e '/<include name="org\/"\/>/d' \ + -e '/<subant antfile="\${customBuildCallbacks}" target="pre\.gather\.bin\.parts" failonerror="false" buildpath="\.">/ { n;n;n; a\ + <copy todir="${destination.temp.folder}/org.eclipse.osgi.services_3.1.200.v20071203" failonerror="true" overwrite="false"> \ + <fileset dir="${build.result.folder}/@dot"> \ + <include name="**"/> \ + </fileset> \ + </copy> + }' \ + -i plugins/org.eclipse.osgi.services/build.xml + + sed -e 's/<src path="\."/<src path="org"/' \ + -e '/<include name="org\/"\/>/d' \ + -e '/<subant antfile="\${customBuildCallbacks}" target="pre\.gather\.bin\.parts" failonerror="false" buildpath="\.">/ { n;n;n; a\ + <copy todir="${destination.temp.folder}/org.eclipse.osgi.util_3.1.200.v20071203" failonerror="true" overwrite="false"> \ + <fileset dir="${build.result.folder}/@dot"> \ + <include name="**"/> \ + </fileset> \ + </copy> + }' \ + -i plugins/org.eclipse.osgi.util/build.xml + + sed '/<mkdir dir="${temp\.folder}\/runtime_registry_compatibility\.jar\.bin"\/>/ a\ + <mkdir dir="classes"/> \ + <copy todir="classes" failonerror="true" overwrite="false"> \ + <fileset dir="${build.result.folder}/../org.eclipse.core.runtime/@dot/" includes="**/IPluginDescriptor.class" /> \ + </copy>' \ + -i plugins/org.eclipse.core.runtime.compatibility.registry/build.xml + + # This removes the copying operation for bundled jars + sed -e "s/<copy.*com\.jcraft\.jsch_.*\/>//" \ + -e "s/<copy.*com\.ibm\.icu_.*\/>//" \ + -e "s/<copy.*org\.apache\.commons\.el_.*\/>//" \ + -e "s/<copy.*org\.apache\.commons\.logging_.*\/>//" \ + -e "s/<copy.*javax\.servlet\.jsp_.*\/>//" \ + -e "s/<copy.*javax\.servlet_.*\/>//" \ + -e "s/<copy.*org\.apache\.lucene_.*\/>//" \ + -e "s/<copy.*org\.apache\.lucene\.analysis_.*\/>//" \ + -i package.org.eclipse.sdk.linux.gtk.${eclipsearch}.xml +} + +remove-bundled-stuff() { + # Remove pre-built eclipse binaries + find "${S}" -type f -name eclipse | xargs rm + # ... .so libraries + find "${S}" -type f -name '*.so' | xargs rm + # ... .jar files + pushd plugins/ >/dev/null + rm org.eclipse.osgi/osgi/osgi*.jar \ + org.eclipse.osgi/supplement/osgi/osgi.jar \ + org.eclipse.swt/extra_jars/exceptions.jar + + rm -rf org.apache.ant_*/* + rm org.apache.commons.el_*.jar org.apache.commons.logging_*.jar \ + com.jcraft.jsch_*.jar com.ibm.icu_*.jar org.junit_*/*.jar \ + org.junit4*/*.jar javax.servlet.jsp_*.jar javax.servlet_*.jar \ + org.apache.lucene_*.jar org.apache.lucene.analysis_*.jar + + # Remove bundled classes + rm -rf org.eclipse.osgi.services/org + unzip -q org.eclipse.osgi.services/src.zip -d org.eclipse.osgi.services/ + rm -rf org.eclipse.osgi.util/org + unzip -q org.eclipse.osgi.util/src.zip -d org.eclipse.osgi.util/ + + rm -rf org.eclipse.jdt.core/scripts/*.class + rm -rf org.eclipse.core.runtime.compatibility.registry/classes + popd >/dev/null +} 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 0000000..deb8a6a --- /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 0000000..30beb77 --- /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-c-warning.patch b/dev-util/eclipse-sdk/files/3.4/eclipse-c-warning.patch new file mode 100644 index 0000000..c2b6620 --- /dev/null +++ b/dev-util/eclipse-sdk/files/3.4/eclipse-c-warning.patch @@ -0,0 +1,43 @@ +=== modified file 'features/org.eclipse.equinox.executable/library/eclipse.c' +--- features/org.eclipse.equinox.executable/library/eclipse.c 2009-01-06 13:44:41 +0000 ++++ features/org.eclipse.equinox.executable/library/eclipse.c 2009-01-06 14:00:41 +0000 +@@ -1103,7 +1103,7 @@ + /* old startup.jar? */ + file = checkPath(OLD_STARTUP, programDir, 0); + if (_tstat( file, &stats ) == 0) +- return (file == OLD_STARTUP) ? _tcsdup(OLD_STARTUP) : file; ++ return (_tcscmp(file,OLD_STARTUP)==0) ? _tcsdup(OLD_STARTUP) : file; + + return NULL; + } + +=== modified file 'features/org.eclipse.equinox.executable/library/eclipseCommon.c' +--- features/org.eclipse.equinox.executable/library/eclipseCommon.c 2009-01-06 13:44:41 +0000 ++++ features/org.eclipse.equinox.executable/library/eclipseCommon.c 2009-01-06 13:57:53 +0000 +@@ -350,10 +350,11 @@ + #else + #ifdef MACOSX + static int filter(struct dirent *dir) { ++ char * candidate = dir->d_name; + #else + static int filter(const struct dirent *dir) { ++ const char * candidate = dir->d_name; + #endif +- char * candidate = dir->d_name; + #endif + _TCHAR *c1, *c2; + + +=== modified file 'features/org.eclipse.equinox.executable/library/eclipseJNI.c' +--- features/org.eclipse.equinox.executable/library/eclipseJNI.c 2009-01-06 13:44:41 +0000 ++++ features/org.eclipse.equinox.executable/library/eclipseJNI.c 2009-01-06 14:06:34 +0000 +@@ -233,7 +233,7 @@ + size_t length = _tcslen(str); + jbyteArray bytes = (*env)->NewByteArray(env, length); + if(bytes != NULL) { +- (*env)->SetByteArrayRegion(env, bytes, 0, length, str); ++ (*env)->SetByteArrayRegion(env, bytes, 0, length, (jbyte *) str); + if (!(*env)->ExceptionOccurred(env)) { + jclass stringClass = (*env)->FindClass(env, "java/lang/String"); + if(stringClass != NULL) { + 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 0000000..0f77f36 --- /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 0000000..1296587 --- /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 0000000..3e97c2b --- /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 0000000..263adbb --- /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 0000000..77f347d --- /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 |