summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Noël Rivasseau <elvanor@gentoo.org>2008-01-21 12:31:06 +0000
committerJean-Noël Rivasseau <elvanor@gentoo.org>2008-01-21 12:31:06 +0000
commit002cfb1a1928bbfaa36614d581f8c39c999744f4 (patch)
tree2db510a33e23dd93096bf45109f4119673530370 /dev-util
parentEclipse 3.3.1.1 version bump, minor syntax changes for 3.2.1-r2 ebuild. (diff)
downloadhistorical-002cfb1a1928bbfaa36614d581f8c39c999744f4.tar.gz
historical-002cfb1a1928bbfaa36614d581f8c39c999744f4.tar.bz2
historical-002cfb1a1928bbfaa36614d581f8c39c999744f4.zip
Eclipse 3.3.1.1 version bump, minor syntax changes for 3.2.1-r2 ebuild.
Package-Manager: portage-2.1.3.19
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/eclipse-sdk/Manifest86
-rw-r--r--dev-util/eclipse-sdk/files/3.3/fedora/eclipse-fileinitializer.patch497
-rw-r--r--dev-util/eclipse-sdk/files/3.3/fedora/eclipse-libupdatebuild2.patch11
-rw-r--r--dev-util/eclipse-sdk/files/3.3/fedora/eclipse-pde.build-add-package-build.patch273
4 files changed, 849 insertions, 18 deletions
diff --git a/dev-util/eclipse-sdk/Manifest b/dev-util/eclipse-sdk/Manifest
index 28e116dd595b..ab2f7dd9dc0b 100644
--- a/dev-util/eclipse-sdk/Manifest
+++ b/dev-util/eclipse-sdk/Manifest
@@ -1,20 +1,74 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
+AUX 3.3/ant-osgi-manifest.mf 3165 RMD160 75444432268c9eef06cd4bb18352b77e426ed116 SHA1 c09dd82dee4708e8726b52569e25da0edda641df SHA256 1df8d7283d6f8fa3d1c3bbbbd832a5fd091f39b52d27d88b131064aeb81ab542
+MD5 0e476cb0b17f1eb5b7fd373b629690f3 files/3.3/ant-osgi-manifest.mf 3165
+RMD160 75444432268c9eef06cd4bb18352b77e426ed116 files/3.3/ant-osgi-manifest.mf 3165
+SHA256 1df8d7283d6f8fa3d1c3bbbbd832a5fd091f39b52d27d88b131064aeb81ab542 files/3.3/ant-osgi-manifest.mf 3165
+AUX 3.3/disable-jdk6.diff 8875 RMD160 c14a9721c61b392cd3f57c9893afd0d0148a31ed SHA1 a9c55df75f28d4d09474c10a0df19c6797145d56 SHA256 46987a38e7394b2831915861946226b99fcbff607130ed9430f8e655cb97e64a
+MD5 67eadea0e28e5785880d731ef41eead5 files/3.3/disable-jdk6.diff 8875
+RMD160 c14a9721c61b392cd3f57c9893afd0d0148a31ed files/3.3/disable-jdk6.diff 8875
+SHA256 46987a38e7394b2831915861946226b99fcbff607130ed9430f8e655cb97e64a files/3.3/disable-jdk6.diff 8875
+AUX 3.3/disable-jdt-tool.diff 6111 RMD160 fcc8c0891d4fdd22ab8a8a2c90bf77b0cd1419eb SHA1 e7ac7fd9948774f16978f49d88c107c06abd6972 SHA256 cbffbc7e5c167b0d890d4f790280acb515b07734641e8737f17487757bdcc4cf
+MD5 bf7703b1779e357da2c0e5d2c1d13ea5 files/3.3/disable-jdt-tool.diff 6111
+RMD160 fcc8c0891d4fdd22ab8a8a2c90bf77b0cd1419eb files/3.3/disable-jdt-tool.diff 6111
+SHA256 cbffbc7e5c167b0d890d4f790280acb515b07734641e8737f17487757bdcc4cf files/3.3/disable-jdt-tool.diff 6111
+AUX 3.3/disable-swt.diff 16961 RMD160 442d769aa58a06032f79ac1bd38324e5d743f33b SHA1 2b271daa5414403da84c37f6504df47baedda41b SHA256 dfd3092376afdea520287387397f38f1433e872fecce99f80c4e3ffeeff79744
+MD5 450736d2395dbcf1b86de802c4ebc2df files/3.3/disable-swt.diff 16961
+RMD160 442d769aa58a06032f79ac1bd38324e5d743f33b files/3.3/disable-swt.diff 16961
+SHA256 dfd3092376afdea520287387397f38f1433e872fecce99f80c4e3ffeeff79744 files/3.3/disable-swt.diff 16961
+AUX 3.3/eclipse-3.3 1250 RMD160 2d56d47e732a4491306930485284a37d34da41a2 SHA1 3f42c101bd8b7a380fd6dd0d3e15ee04b8d38cac SHA256 528c45aa7a97931dc8e55c29957bf4f01a532f4d1445fbae5d94efa019702f38
+MD5 584721560a4cd39b6de3aa65c035ad9f files/3.3/eclipse-3.3 1250
+RMD160 2d56d47e732a4491306930485284a37d34da41a2 files/3.3/eclipse-3.3 1250
+SHA256 528c45aa7a97931dc8e55c29957bf4f01a532f4d1445fbae5d94efa019702f38 files/3.3/eclipse-3.3 1250
+AUX 3.3/eclipse-jsch-api-update.patch 554 RMD160 7f45812032eeb0aed10ab8cffd5d9b4633032b3f SHA1 43d1caaf0369253a5a3b4159216e9cc49efa3ede SHA256 33616660eed6b57fcd7a3df040d86d93e7912d47bf4c690c17e844f4ad361b14
+MD5 7767846141d475065ee4d86728f9856d files/3.3/eclipse-jsch-api-update.patch 554
+RMD160 7f45812032eeb0aed10ab8cffd5d9b4633032b3f files/3.3/eclipse-jsch-api-update.patch 554
+SHA256 33616660eed6b57fcd7a3df040d86d93e7912d47bf4c690c17e844f4ad361b14 files/3.3/eclipse-jsch-api-update.patch 554
+AUX 3.3/eclipse-workbench-miscompile-workaround.diff 629 RMD160 a122e199f769147df84772e557ce719a531abfd2 SHA1 e5ad09c6c4a18747ac787258bc8041636c5e2aa4 SHA256 4ef77f3e0967731eb53561780285488fd32eebac8d8cdee39508ba2d157c3434
+MD5 716fcde042c40aff93df358a97917b8e files/3.3/eclipse-workbench-miscompile-workaround.diff 629
+RMD160 a122e199f769147df84772e557ce719a531abfd2 files/3.3/eclipse-workbench-miscompile-workaround.diff 629
+SHA256 4ef77f3e0967731eb53561780285488fd32eebac8d8cdee39508ba2d157c3434 files/3.3/eclipse-workbench-miscompile-workaround.diff 629
+AUX 3.3/eclipserc 858 RMD160 f911438aa661be9ca8fc352dd372c9485d163ddb SHA1 abb1c369326be455d16bc42cf0a1b035aa145dc0 SHA256 0aea733c968ca064ad5ca95d5895778ecf7387826198b512e98d0cbb7dd353f1
+MD5 d820ba891678658d01a7535377a0ac16 files/3.3/eclipserc 858
+RMD160 f911438aa661be9ca8fc352dd372c9485d163ddb files/3.3/eclipserc 858
+SHA256 0aea733c968ca064ad5ca95d5895778ecf7387826198b512e98d0cbb7dd353f1 files/3.3/eclipserc 858
+AUX 3.3/fedora/eclipse-fileinitializer.patch 18251 RMD160 7cead267e841b74f8411a9eee5fb5c78e7ea5d1e SHA1 1a46b9b5720b96f8ae2073b6ace8be8cf8ced14e SHA256 7bcbc3aa3770df0aa617fd5b18e0cdb9c397e3b3e23f5951cead2ecc36c894c4
+MD5 51cc46a8ead5788fc33f03d4495f3850 files/3.3/fedora/eclipse-fileinitializer.patch 18251
+RMD160 7cead267e841b74f8411a9eee5fb5c78e7ea5d1e files/3.3/fedora/eclipse-fileinitializer.patch 18251
+SHA256 7bcbc3aa3770df0aa617fd5b18e0cdb9c397e3b3e23f5951cead2ecc36c894c4 files/3.3/fedora/eclipse-fileinitializer.patch 18251
+AUX 3.3/fedora/eclipse-libupdatebuild2.patch 783 RMD160 cea490ebf47998ddf960f53672be79a1e13c7459 SHA1 32a99ff5562dbe5dcfc23cfb7cd406f61fd1ee88 SHA256 40c81d4b4929ace444b2c39424a5b4e4367432a4c5a93faa67dd75da602ee0a6
+MD5 a3b25a9944e2f01f27bb63e5d879502e files/3.3/fedora/eclipse-libupdatebuild2.patch 783
+RMD160 cea490ebf47998ddf960f53672be79a1e13c7459 files/3.3/fedora/eclipse-libupdatebuild2.patch 783
+SHA256 40c81d4b4929ace444b2c39424a5b4e4367432a4c5a93faa67dd75da602ee0a6 files/3.3/fedora/eclipse-libupdatebuild2.patch 783
+AUX 3.3/fedora/eclipse-pde.build-add-package-build.patch 11604 RMD160 ba63781fa77452e4c36eae7e07d81b7d39f5ec29 SHA1 7ee30f8fc2732125e1f2ba01038922d995b21456 SHA256 d361930896c940c09a7faf41f2c8d7843d56be9b90391e91538890062e5d7803
+MD5 b0c594dc3922f3e97ca4891361e5f269 files/3.3/fedora/eclipse-pde.build-add-package-build.patch 11604
+RMD160 ba63781fa77452e4c36eae7e07d81b7d39f5ec29 files/3.3/fedora/eclipse-pde.build-add-package-build.patch 11604
+SHA256 d361930896c940c09a7faf41f2c8d7843d56be9b90391e91538890062e5d7803 files/3.3/fedora/eclipse-pde.build-add-package-build.patch 11604
+AUX 3.3/launcher_double-free.diff 340 RMD160 4574222833a92c9611bcb2a346d01b0fb406d39a SHA1 50d78fc4ca2f3ed935644f132a53bdf7b1b71ead SHA256 6af7bdc0ccd9d0fcfcfdc7f979bb947d1334065c551551213a2c47074626cc9c
+MD5 9afdb45b855614b17bbfeb48b8075d9a files/3.3/launcher_double-free.diff 340
+RMD160 4574222833a92c9611bcb2a346d01b0fb406d39a files/3.3/launcher_double-free.diff 340
+SHA256 6af7bdc0ccd9d0fcfcfdc7f979bb947d1334065c551551213a2c47074626cc9c files/3.3/launcher_double-free.diff 340
+AUX 3.3/set-java-home.diff 417 RMD160 f4ec180dfad9c81e41f91cad562739a2d9198239 SHA1 d837d67cae0dcb0c1604e8756d7492043662d647 SHA256 6e0627318ab5249d16cbb1d42eb245c614298bccdaa8e36fcc2a0a290222b6e9
+MD5 b03b4c07599327f6ff5b275e0569285b files/3.3/set-java-home.diff 417
+RMD160 f4ec180dfad9c81e41f91cad562739a2d9198239 files/3.3/set-java-home.diff 417
+SHA256 6e0627318ab5249d16cbb1d42eb245c614298bccdaa8e36fcc2a0a290222b6e9 files/3.3/set-java-home.diff 417
AUX eclipse-3.2 1152 RMD160 6d7a2d67e1aa0fd011d056d2b287dc7196528b44 SHA1 3562c650d4e41f5186b396d31630c2faa7c132a9 SHA256 5f10f1cbae578c394e98b5d380c0d4f362620e7ff87fa3bde226e5533d34b8cf
MD5 f1ddf3f6d458ed2b2e6f92b35e6350f2 files/eclipse-3.2 1152
RMD160 6d7a2d67e1aa0fd011d056d2b287dc7196528b44 files/eclipse-3.2 1152
SHA256 5f10f1cbae578c394e98b5d380c0d4f362620e7ff87fa3bde226e5533d34b8cf files/eclipse-3.2 1152
DIST eclipse-sdk-3.2.1-r1-patches.tar.bz2 85951 RMD160 55a0f98229feb47d936acbcdcf7ad42074ebdb5c SHA1 4af81d8615dbfbd771136c441ee8a7b53096b468 SHA256 fa9f8d047d8375ab55eaca12c110bd9faf9eb5452af2a70d038afd5a6b4b5171
DIST eclipse-sourceBuild-srcIncluded-3.2.1.zip 82433420 RMD160 9648176b79adac7217371e5b8dee7aeb4cd458db SHA1 a27bae4ff9f866a1fab995eae2da00ab2be5e840 SHA256 2d6a0628333d068b6ab678c42f925d71df1c003035543830a30e3ee80fb855c7
-EBUILD eclipse-sdk-3.2.1-r2.ebuild 12723 RMD160 4516fae276d4751336956b0c69506279f7bc42cc SHA1 a8d60d3fcc29f03a3829c40cadbdd6f293ac75ee SHA256 5b1bcda20c9abd6ad1fb9b0f0d5f52859b9deb7d66826f123c5fa1b56dcbc667
-MD5 7652238406077254d5c9d580e6f1ae04 eclipse-sdk-3.2.1-r2.ebuild 12723
-RMD160 4516fae276d4751336956b0c69506279f7bc42cc eclipse-sdk-3.2.1-r2.ebuild 12723
-SHA256 5b1bcda20c9abd6ad1fb9b0f0d5f52859b9deb7d66826f123c5fa1b56dcbc667 eclipse-sdk-3.2.1-r2.ebuild 12723
-MISC ChangeLog 25716 RMD160 31b405b23c8cfc0a11753bd92c245f14e9621ca7 SHA1 b1b3535ed48b0bb702a4f75d0e1d68146fd179c9 SHA256 190ea5178fbf6ddf78eaf7de061a417623bf6c73bbf90b5798620f659a45d98e
-MD5 a41183e3ed276f525721af3d1d0b31df ChangeLog 25716
-RMD160 31b405b23c8cfc0a11753bd92c245f14e9621ca7 ChangeLog 25716
-SHA256 190ea5178fbf6ddf78eaf7de061a417623bf6c73bbf90b5798620f659a45d98e ChangeLog 25716
+DIST eclipse-sourceBuild-srcIncluded-3.3.1.1.zip 94267330 RMD160 78d19b528e99c3f3416de099ab5dcd59430fc9ac SHA1 901f4c66acf4c988fc08f78f3ffcd45b3748b344 SHA256 e4c24d54a2b9bc630f961320c61f8e804255f49b141370d240ce0444eb89a658
+EBUILD eclipse-sdk-3.2.1-r2.ebuild 12774 RMD160 432060d99495abfb5ecdc8bf23820a0968a79e85 SHA1 33e27e840c2fb09318afe82c765e2446c1e50381 SHA256 e6948af605a48f152698a772f3f5f1be388fdb9410a51f9e70b742495cb20cd4
+MD5 e5118deba082eb3a941f810aba65f229 eclipse-sdk-3.2.1-r2.ebuild 12774
+RMD160 432060d99495abfb5ecdc8bf23820a0968a79e85 eclipse-sdk-3.2.1-r2.ebuild 12774
+SHA256 e6948af605a48f152698a772f3f5f1be388fdb9410a51f9e70b742495cb20cd4 eclipse-sdk-3.2.1-r2.ebuild 12774
+EBUILD eclipse-sdk-3.3.1.1.ebuild 12193 RMD160 afbd8716e3f1e43b524bbdb651a96c9870455897 SHA1 96b9770bb1c7afc11c968c1d02f27120ba139eb1 SHA256 52e0f4ff82e18f043b16c5eb6910b5b4bc471d229e8f3c1a79fbd278c9555fae
+MD5 eda3cef90f1793bbbab3efeded9ca854 eclipse-sdk-3.3.1.1.ebuild 12193
+RMD160 afbd8716e3f1e43b524bbdb651a96c9870455897 eclipse-sdk-3.3.1.1.ebuild 12193
+SHA256 52e0f4ff82e18f043b16c5eb6910b5b4bc471d229e8f3c1a79fbd278c9555fae eclipse-sdk-3.3.1.1.ebuild 12193
+MISC ChangeLog 26419 RMD160 a0dc4529128ac3d9481d32452e12ba4bdb04e9a2 SHA1 13d87da4c8f41ef8c75842094fde9fa93812cff8 SHA256 28ddd7252a7dead93c8d7f057fa53e8065e01250feb58117353978594844e869
+MD5 59be77488f8140bcff541ce1cb969a61 ChangeLog 26419
+RMD160 a0dc4529128ac3d9481d32452e12ba4bdb04e9a2 ChangeLog 26419
+SHA256 28ddd7252a7dead93c8d7f057fa53e8065e01250feb58117353978594844e869 ChangeLog 26419
MISC metadata.xml 800 RMD160 f97cc4ac78898369a7706331bb14bc838519cf21 SHA1 21cd52a15acb6510aa3b955f78fb28a73cf58234 SHA256 76e243573c28c3d705f54745cfbcedd85dae3233b6ed00e2f81a61ac9caeeeaa
MD5 b6f0d37527da7caa081271b008f06f96 metadata.xml 800
RMD160 f97cc4ac78898369a7706331bb14bc838519cf21 metadata.xml 800
@@ -22,10 +76,6 @@ SHA256 76e243573c28c3d705f54745cfbcedd85dae3233b6ed00e2f81a61ac9caeeeaa metadata
MD5 2364957019ebba24ca9af9631f7a86c8 files/digest-eclipse-sdk-3.2.1-r2 596
RMD160 130025e444efc3a79b198baa4b673b49b117400f files/digest-eclipse-sdk-3.2.1-r2 596
SHA256 da442cfe724dbdf31b936830117b876bff94378e5bbb0e1162d12ce590de0e82 files/digest-eclipse-sdk-3.2.1-r2 596
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.8 (GNU/Linux)
-
-iEYEARECAAYFAkePyMAACgkQcxLzpIGCsLT/vwCfVkfMLZJFH8lfxNeixdC6nBEB
-ZZAAoJrDCeNuHV+6l2pKREE98ITAE0Pp
-=a/n2
------END PGP SIGNATURE-----
+MD5 56bd8cff12f68cb4e5f76e568bd92d04 files/digest-eclipse-sdk-3.3.1.1 316
+RMD160 acfd3e2d29e709796add0b5117d453fa28aeed7e files/digest-eclipse-sdk-3.3.1.1 316
+SHA256 6d7b2d43037112dcc08073ed5e01d057142bbc52fe06ef2c53bc1f08c069e769 files/digest-eclipse-sdk-3.3.1.1 316
diff --git a/dev-util/eclipse-sdk/files/3.3/fedora/eclipse-fileinitializer.patch b/dev-util/eclipse-sdk/files/3.3/fedora/eclipse-fileinitializer.patch
new file mode 100644
index 000000000000..59aa29dfb417
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.3/fedora/eclipse-fileinitializer.patch
@@ -0,0 +1,497 @@
+Index: plugin.xml
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.core.runtime/plugin.xml,v
+retrieving revision 1.68
+diff -u -r1.68 plugin.xml
+--- plugin.xml 4 Mar 2005 22:18:54 -0000 1.68
++++ plugin.xml 7 Nov 2005 20:22:09 -0000
+@@ -6,4 +6,22 @@
+ <extension-point id="adapters" name="%adaptersName" schema="schema/adapters.exsd"/>
+ <extension-point id="preferences" name="%preferencesName" schema="schema/preferences.exsd"/>
+ <extension-point id="contentTypes" name="%contentTypesName" schema="schema/contentTypes.exsd"/>
++ <extension-point id="initializers" name="%initializersName" schema="schema/initializers.exsd"/>
++
++
++ <extension
++ id="initializer"
++ name="%initializerApp"
++ point="org.eclipse.core.runtime.applications">
++ <application>
++ <run class="org.eclipse.core.internal.runtime.Initializer"/>
++ </application>
++ </extension>
++ <extension id="fileInitializer"
++ point="org.eclipse.core.runtime.initializers">
++ <initializer>
++ <initialize class="org.eclipse.core.internal.runtime.FileInitializer"/>
++ </initializer>
++ </extension>
++
+ </plugin>
+Index: src/org/eclipse/core/internal/runtime/Messages.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Messages.java,v
+retrieving revision 1.18
+diff -u -r1.18 Messages.java
+--- src/org/eclipse/core/internal/runtime/Messages.java 20 Oct 2005 18:31:04 -0000 1.18
++++ src/org/eclipse/core/internal/runtime/Messages.java 7 Nov 2005 20:22:09 -0000
+@@ -106,6 +106,14 @@
+ public static String plugin_instantiateClassError;
+ public static String plugin_loadClassError;
+
++ // initializer
++ public static String initializer_error;
++
++ // file initializer
++ public static String fileInitializer_fileNotFound;
++ public static String fileInitializer_IOError;
++ public static String fileInitializer_missingFileName;
++
+ static {
+ // load message values from bundle file
+ reloadMessages();
+@@ -114,4 +122,4 @@
+ public static void reloadMessages() {
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+-}
+\ No newline at end of file
++}
+Index: src/org/eclipse/core/internal/runtime/messages.properties
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/messages.properties,v
+retrieving revision 1.106
+diff -u -r1.106 messages.properties
+--- src/org/eclipse/core/internal/runtime/messages.properties 20 Oct 2005 18:31:04 -0000 1.106
++++ src/org/eclipse/core/internal/runtime/messages.properties 7 Nov 2005 20:22:09 -0000
+@@ -54,6 +54,13 @@
+ provider_invalid = Problem creating the provider registered by {0}.
+ product_notFound = Product {0} could not be found.
+
++### Initializer
++initializer_error=There was a problem running the application {0}.
++
++### File Initiializer
++fileInitializer_fileNotFound={0}: The file {1} was not found.
++fileInitializer_IOError={0}: There was an error reading {1}.
++
+ ### Compatibility - parsing/resolving
+ parse_badPrereqOnFrag = Fragment \"{0}\" requires non-existent plug-in \"{1}\". Fragment ignored.
+ parse_duplicateFragment = Duplicate fragment found with id \"{0}\" and version \"{1}\".
+Index: src/org/eclipse/core/runtime/Platform.java
+===================================================================
+RCS file: /cvsroot/eclipse/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java,v
+retrieving revision 1.90
+diff -u -r1.90 Platform.java
+--- src/org/eclipse/core/runtime/Platform.java 26 Aug 2005 19:39:21 -0000 1.90
++++ src/org/eclipse/core/runtime/Platform.java 7 Nov 2005 20:22:09 -0000
+@@ -95,6 +95,15 @@
+ public static final String OPTION_STARTTIME = PI_RUNTIME + "/starttime"; //$NON-NLS-1$
+
+ /**
++ * The simple identifier constant (value "<code>initializers</code>") of
++ * the extension point of the Core Runtime plug-in where plug-ins declare
++ * their the existence of initialization code.
++ *
++ * @since 3.1
++ */
++
++ public static final String PT_INITIALIZERS = "initializers"; //$NON-NLS-1$
++ /**
+ * Name of a preference for configuring the performance level for this system.
+ *
+ * <p>
+Index: schema/initializers.exsd
+===================================================================
+RCS file: schema/initializers.exsd
+diff -N schema/initializers.exsd
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ schema/initializers.exsd 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,138 @@
++<?xml version='1.0' encoding='UTF-8'?>
++<!-- Schema file written by PDE -->
++<schema targetNamespace="org.eclipse.core.runtime">
++<annotation>
++ <appInfo>
++ <meta.schema plugin="org.eclipse.core.runtime" id="initializers" name="Plug-in Initializers"/>
++ </appInfo>
++ <documentation>
++ Platform runtime supports plug-ins which would like to
++be initialized. That is, plug-ins that needs to be initialized when
++the initialization application is being run should provide an extension
++to this extension-point.
++The initializers are run when the org.eclipse.core.runtime.initializer application
++is being run. The initializers are run in any order.
++ </documentation>
++ </annotation>
++
++ <element name="extension">
++ <complexType>
++ <sequence>
++ <element ref="initializer"/>
++ </sequence>
++ <attribute name="point" type="string" use="required">
++ <annotation>
++ <documentation>
++
++ </documentation>
++ </annotation>
++ </attribute>
++ <attribute name="id" type="string" use="required">
++ <annotation>
++ <documentation>
++
++ </documentation>
++ </annotation>
++ </attribute>
++ <attribute name="name" type="string">
++ <annotation>
++ <documentation>
++
++ </documentation>
++ <appInfo>
++ <meta.attribute translatable="true"/>
++ </appInfo>
++ </annotation>
++ </attribute>
++ </complexType>
++ </element>
++
++ <element name="initializer">
++ <complexType>
++ <sequence>
++ <element ref="initialize"/>
++ </sequence>
++ </complexType>
++ </element>
++
++ <element name="initialize">
++ <complexType>
++ <sequence>
++ <element ref="initialize"/>
++ </sequence>
++ <attribute name="class" type="string" use="required">
++ <annotation>
++ <documentation>
++
++ </documentation>
++ <appInfo>
++ <meta.attribute kind="java" basedOn="org.eclipse.core.runtime.IPlatformRunnable"/>
++ </appInfo>
++ </annotation>
++ </attribute>
++ </complexType>
++ </element>
++
++ <annotation>
++ <appInfo>
++ <meta.section type="since"/>
++ </appInfo>
++ <documentation>
++ 3.1
++ </documentation>
++ </annotation>
++
++ <annotation>
++ <appInfo>
++ <meta.section type="examples"/>
++ </appInfo>
++ <documentation>
++ Following is an example of initializer declaration:
++&lt;p&gt;
++&lt;pre&gt;
++ &lt;extension id=&quot;myInitializer&quot; point=&quot;org.eclipse.core.runtime.initializers&quot;&gt;
++ &lt;initializer&gt;
++ &lt;initialize class=&quot;myInitializer.Doit&quot;/&gt;
++ &lt;/initializer&gt;
++ &lt;/extension&gt;
++&lt;/pre&gt;
++&lt;/p&gt;
++ </documentation>
++ </annotation>
++
++ <annotation>
++ <appInfo>
++ <meta.section type="apiInfo"/>
++ </appInfo>
++ <documentation>
++ The value of the class attribute must represent an
++implementor of
++&lt;samp&gt;org.eclipse.core.runtime.IPlatformRunnable&lt;/samp&gt;.
++ </documentation>
++ </annotation>
++
++ <annotation>
++ <appInfo>
++ <meta.section type="implementation"/>
++ </appInfo>
++ <documentation>
++ [Enter information about supplied implementation of this extension point.]
++ </documentation>
++ </annotation>
++
++ <annotation>
++ <appInfo>
++ <meta.section type="copyright"/>
++ </appInfo>
++ <documentation>
++ Copyright (c) 2005 IBM Corporation and others.&lt;br&gt;
++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
++&lt;a
++href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
++ </documentation>
++ </annotation>
++
++</schema>
+Index: src/org/eclipse/core/internal/runtime/FileInitializer.java
+===================================================================
+RCS file: src/org/eclipse/core/internal/runtime/FileInitializer.java
+diff -N src/org/eclipse/core/internal/runtime/FileInitializer.java
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ src/org/eclipse/core/internal/runtime/FileInitializer.java 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,186 @@
++package org.eclipse.core.internal.runtime;
++
++import java.io.FileInputStream;
++import java.io.FileNotFoundException;
++import java.io.IOException;
++import java.net.URL;
++import java.util.Collections;
++import java.util.Enumeration;
++import java.util.Iterator;
++import java.util.LinkedList;
++import java.util.Properties;
++import java.util.Set;
++import java.util.regex.Pattern;
++
++import org.eclipse.core.runtime.IPlatformRunnable;
++import org.eclipse.core.runtime.IStatus;
++import org.eclipse.core.runtime.Path;
++import org.eclipse.core.runtime.Platform;
++import org.eclipse.core.runtime.Status;
++import org.eclipse.osgi.util.NLS;
++import org.osgi.framework.Bundle;
++
++/**
++ * <p>
++ * This application extracts files to their "localURL". The file patterns that you
++ * want to extract should be specified in a file in a properties format like this:
++ *
++ * <pre>
++ * .* = *.so,about.html
++ * org.eclipse.team.core.cvs = *.html
++ * </pre>
++ *
++ * This application should be run through the generic initializer mechanism and
++ * not run directly.
++ * </p>
++ *
++ * <p>
++ * To run this application, do something like:
++ * </p>
++ *
++ * <p>
++ * <code>
++ * java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.core.runtime.initializer [-justThisArchOSWS] -fileInitializer &lt;fileWithFilePatternsToExtract&gt;
++ * </code>
++ * </p>
++ *
++ * <p>
++ * <ul>
++ * <li>
++ * Note: Only the files that are extracted will be printed to the console. If you
++ * want to debug things, use the -consolelog option in
++ * org.eclipse.core.launcher.Main
++ * </li>
++ * </ul>
++ * </p>
++ *
++ * @see Initializer
++ * @see Platform#asLocalURL(URL)
++ * @since 3.1
++ */
++public class FileInitializer implements IPlatformRunnable {
++
++ private LinkedList extractedFiles;
++ private boolean justThisArchOSWS;
++
++ public Object run(Object args) throws Exception {
++ Properties bundleAndFilePatterns = getBundleAndFileNamePatterns((String[]) args);
++ Set bundlePatterns = bundleAndFilePatterns.keySet();
++
++ // don't do anything if bundleAndFilePatterns is empty
++ if (bundleAndFilePatterns == null || bundleAndFilePatterns.size() == 0) {
++ return IPlatformRunnable.EXIT_OK;
++ }
++
++ justThisArchOSWS = getJustThisArchOSWS((String[]) args);
++
++ Bundle[] installedBundles = InternalPlatform.getDefault().getBundleContext().getBundles();
++ extractedFiles = new LinkedList();
++
++ // foreach(bundle pattern)
++ for (Iterator bundlePatternIter = bundlePatterns.iterator(); bundlePatternIter.hasNext();) {
++ Object bundlePattern = bundlePatternIter.next();
++ Object fileNamePattern = bundleAndFilePatterns.get(bundlePattern);
++ // foreach(filename pattern)
++ String[] fileNamePatterns = ((String) fileNamePattern).split(","); //$NON-NLS-1$
++ for (int i = 0; i < fileNamePatterns.length; i++) {
++ fileNamePatterns[i] = fileNamePatterns[i].trim();
++ }
++ // foreach(bundle)
++ for (int i = 0; i < installedBundles.length; i++) {
++ String bundleName = installedBundles[i].getSymbolicName();
++ // if(bundle matches pattern) check fileNamePattern(s)
++ if(Pattern.matches((String) bundlePattern, bundleName)) {
++ for (int j = 0; j < fileNamePatterns.length; j++) {
++ extractMatchingFilesFromBundle(fileNamePatterns[j], installedBundles[i]);
++ }
++ }
++ }
++ } // end for
++ return IPlatformRunnable.EXIT_OK;
++ }
++
++ private void extractMatchingFilesFromBundle(String fileNamePattern, Bundle bundle) throws IOException {
++ Enumeration e = bundle.findEntries("/", fileNamePattern, true); //$NON-NLS-1$
++
++ while(e != null && e.hasMoreElements()) {
++ URL fileURL = (URL) e.nextElement();
++ if (justThisArchOSWS) {
++ Path filePath = new Path(fileURL.getPath());
++
++ String[] path = filePath.segments();
++ // check to see if the file should be extracted to the current os/arch
++ if (path.length == 4 && path[0].equals("os") && !(path[1].equals(Platform.getOS()) && path[2].equals(Platform.getOSArch()))) { //$NON-NLS-1$
++ continue;
++ }
++ // check to see if the file is should be extracted to the current ws
++ if (path.length == 3 && path[0].equals("ws") && !path[1].equals(Platform.getWS())) { //$NON-NLS-1$
++ continue;
++ }
++ }
++
++ // the call to Platform.asLocalURL(URL) does the actual extraction
++ URL localURL = Platform.asLocalURL(fileURL);
++ if (localURL != null) {
++ String localURLPath = localURL.getPath();
++
++ // only print the path if it hasn't been printed yet
++ int index = Collections.binarySearch(extractedFiles, localURLPath);
++ if (index < 0) {
++ extractedFiles.add(-(index + 1), localURLPath);
++ System.out.println("FileInitializer: " + localURLPath); //$NON-NLS-1$
++ }
++ }
++ }
++ }
++
++ private final String ARG_FILE = "-fileInitializer"; //$NON-NLS-1$
++
++ private Properties getBundleAndFileNamePatterns(String[] argsArray) {
++
++ for (int i = 0; i < argsArray.length; i++) {
++ if (argsArray[i].equalsIgnoreCase(ARG_FILE)) {
++
++ // the "file patterns" file was not specified
++ if (argsArray.length < i + 2) {
++ String msg = NLS.bind(Messages.fileInitializer_missingFileName, this.getClass().getName());
++ IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, msg, null);
++ InternalPlatform.getDefault().log(status);
++ return null;
++ }
++
++ try {
++ FileInputStream fin = new FileInputStream(argsArray[i + 1]);
++ Properties bundleAndFileNameProperties = new Properties();
++ bundleAndFileNameProperties.load(fin);
++ fin.close();
++ return bundleAndFileNameProperties;
++ } catch (FileNotFoundException e1) {
++ String msg = NLS.bind(Messages.fileInitializer_fileNotFound, this.getClass().getName(), argsArray[i + 1]);
++ IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, msg, null);
++ InternalPlatform.getDefault().log(status);
++ return null;
++ } catch (IOException e) {
++ String msg = NLS.bind(Messages.fileInitializer_IOError, this.getClass().getName(), argsArray[i + 1]);
++ IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, msg, e);
++ InternalPlatform.getDefault().log(status);
++ return null;
++ }
++ }
++ }
++
++ // ARG_FILE wasn't found
++ return null;
++ }
++
++ private final String ARG_JUSTTHISARCHOSWS = "-justThisArchOSWS"; //$NON-NLS-1$
++
++ private boolean getJustThisArchOSWS(String[] argsArray) {
++ for (int i = 0; i < argsArray.length; i++) {
++ if (argsArray[i].equalsIgnoreCase(ARG_JUSTTHISARCHOSWS)) {
++ return true;
++ }
++ }
++ return false;
++ }
++}
+Index: src/org/eclipse/core/internal/runtime/Initializer.java
+===================================================================
+RCS file: src/org/eclipse/core/internal/runtime/Initializer.java
+diff -N src/org/eclipse/core/internal/runtime/Initializer.java
+--- /dev/null 1 Jan 1970 00:00:00 -0000
++++ src/org/eclipse/core/internal/runtime/Initializer.java 1 Jan 1970 00:00:00 -0000
+@@ -0,0 +1,49 @@
++/*******************************************************************************
++* Copyright (c) 2005 Red Hat, Inc. 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 - Initial implementation
++*******************************************************************************/
++package org.eclipse.core.internal.runtime;
++
++import org.eclipse.core.runtime.CoreException;
++import org.eclipse.core.runtime.IConfigurationElement;
++import org.eclipse.core.runtime.IExtension;
++import org.eclipse.core.runtime.IExtensionPoint;
++import org.eclipse.core.runtime.IPlatformRunnable;
++import org.eclipse.core.runtime.IStatus;
++import org.eclipse.core.runtime.Platform;
++import org.eclipse.core.runtime.Status;
++import org.eclipse.osgi.util.NLS;
++
++public class Initializer implements IPlatformRunnable {
++
++ public Object run(Object args) throws Exception {
++ IExtensionPoint xpt = Platform.getExtensionRegistry().getExtensionPoint(Platform.PI_RUNTIME, Platform.PT_INITIALIZERS);
++ if (xpt == null)
++ return IPlatformRunnable.EXIT_OK;
++
++ IExtension[] exts = xpt.getExtensions();
++ for (int i = 0; i < exts.length; i++) {
++ IConfigurationElement[] configs = exts[i].getConfigurationElements();
++ IPlatformRunnable initializer = null;
++ if (configs.length != 0) {
++ try {
++ initializer = (IPlatformRunnable) configs[0].createExecutableExtension("initialize"); //$NON-NLS-1$
++ initializer.run(args);
++ } catch(CoreException e) {
++ String msg = NLS.bind(Messages.initializer_error, exts[i].getExtensionPointUniqueIdentifier());
++ IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, msg, e);
++ InternalPlatform.getDefault().log(status);
++ return null;
++ }
++ }
++ }
++ return IPlatformRunnable.EXIT_OK;
++ }
++
++}
diff --git a/dev-util/eclipse-sdk/files/3.3/fedora/eclipse-libupdatebuild2.patch b/dev-util/eclipse-sdk/files/3.3/fedora/eclipse-libupdatebuild2.patch
new file mode 100644
index 000000000000..b570a024a1c1
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.3/fedora/eclipse-libupdatebuild2.patch
@@ -0,0 +1,11 @@
+--- plugins/org.eclipse.update.core.linux/src/build.xml.orig 2006-01-27 15:35:35.000000000 -0500
++++ plugins/org.eclipse.update.core.linux/src/build.xml 2006-01-27 15:36:07.000000000 -0500
+@@ -5,7 +5,7 @@
+ <!-- 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="destination" value="${eclipse-home}/org.eclipse.update.core.linux/os/linux/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.3/fedora/eclipse-pde.build-add-package-build.patch b/dev-util/eclipse-sdk/files/3.3/fedora/eclipse-pde.build-add-package-build.patch
new file mode 100644
index 000000000000..77f347d6a73a
--- /dev/null
+++ b/dev-util/eclipse-sdk/files/3.3/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