From 60583908b79e6d4aa7b8d2b72805656b53176c60 Mon Sep 17 00:00:00 2001 From: Jean-Noël Rivasseau Date: Mon, 21 Jan 2008 12:31:06 +0000 Subject: Eclipse 3.3.1.1 version bump, minor syntax changes for 3.2.1-r2 ebuild. (Portage version: 2.1.3.19) --- .../files/3.3/fedora/eclipse-fileinitializer.patch | 497 +++++++++++++++++++++ .../files/3.3/fedora/eclipse-libupdatebuild2.patch | 11 + .../eclipse-pde.build-add-package-build.patch | 273 +++++++++++ 3 files changed, 781 insertions(+) create mode 100644 dev-util/eclipse-sdk/files/3.3/fedora/eclipse-fileinitializer.patch create mode 100644 dev-util/eclipse-sdk/files/3.3/fedora/eclipse-libupdatebuild2.patch create mode 100644 dev-util/eclipse-sdk/files/3.3/fedora/eclipse-pde.build-add-package-build.patch (limited to 'dev-util') 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 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + +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 "initializers") 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. + * + *

+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 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ 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. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ 3.1 ++ ++ ++ ++ ++ ++ ++ ++ ++ Following is an example of initializer declaration: ++<p> ++<pre> ++ <extension id="myInitializer" point="org.eclipse.core.runtime.initializers"> ++ <initializer> ++ <initialize class="myInitializer.Doit"/> ++ </initializer> ++ </extension> ++</pre> ++</p> ++ ++ ++ ++ ++ ++ ++ ++ ++ The value of the class attribute must represent an ++implementor of ++<samp>org.eclipse.core.runtime.IPlatformRunnable</samp>. ++ ++ ++ ++ ++ ++ ++ ++ ++ [Enter information about supplied implementation of this extension point.] ++ ++ ++ ++ ++ ++ ++ ++ ++ Copyright (c) 2005 IBM Corporation and others.<br> ++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 ++<a ++href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a> ++ ++ ++ ++ +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; ++ ++/** ++ *

++ * 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: ++ * ++ *

++ * .* = *.so,about.html
++ * org.eclipse.team.core.cvs = *.html
++ * 
++ * ++ * This application should be run through the generic initializer mechanism and ++ * not run directly. ++ *

++ * ++ *

++ * To run this application, do something like: ++ *

++ * ++ *

++ * ++ * java -cp startup.jar org.eclipse.core.launcher.Main -application org.eclipse.core.runtime.initializer [-justThisArchOSWS] -fileInitializer <fileWithFilePatternsToExtract> ++ * ++ *

++ * ++ *

++ *

    ++ *
  • ++ * 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 ++ *
  • ++ *
++ *

++ * ++ * @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 @@ + + + +- ++ + + + 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 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +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 @@ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +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 " ++ exit 1 ++fi ++ ++if [ ! -d $1 ]; then ++ echo "usage: $0 " ++ 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 " ++ ++ ++ ++ ++ ++" > $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 -- cgit v1.2.3-65-gdbad