[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Newsgroup Home]
[news.eclipse.technology.ajdt] Re: Ant buid script export


Here's the patch.



### Eclipse Workspace Patch 1.0
#P org.eclipse.ajdt.ui
Index: src/org/eclipse/ajdt/internal/ui/actions/BuildPluginAction.java
===================================================================
RCS file: /cvsroot/tools/org.eclipse.ajdt/AJDT_src/org.eclipse.ajdt.ui/src/org/eclipse/ajdt/internal/ui/actions/BuildPluginAction.java,v
retrieving revision 1.15
diff -u -r1.15 BuildPluginAction.java
--- src/org/eclipse/ajdt/internal/ui/actions/BuildPluginAction.java	19 Jul 2008 00:20:32 -0000	1.15
+++ src/org/eclipse/ajdt/internal/ui/actions/BuildPluginAction.java	5 Aug 2009 19:32:33 -0000
@@ -15,6 +15,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Properties;
 
 import org.eclipse.ajdt.core.AspectJCorePreferences;
 import org.eclipse.ajdt.core.exports.AJBuildScriptGenerator;
@@ -23,11 +24,16 @@
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.osgi.service.resolver.BundleDescription;
 import org.eclipse.pde.core.plugin.IPluginModelBase;
+import org.eclipse.pde.core.plugin.PluginRegistry;
 import org.eclipse.pde.internal.build.AbstractScriptGenerator;
+import org.eclipse.pde.internal.build.IBuildPropertiesConstants;
 import org.eclipse.pde.internal.core.ClasspathHelper;
 import org.eclipse.pde.internal.core.PDECore;
 import org.eclipse.pde.internal.core.TargetPlatformHelper;
+import org.eclipse.pde.internal.ui.PDEUIMessages;
 import org.eclipse.pde.internal.ui.build.BaseBuildAction;
 
 /**
@@ -61,9 +67,22 @@
 		generator.setNextId(TargetPlatformHelper.getPDEState().getNextId());
 		generator.setStateExtraData(TargetPlatformHelper.getBundleClasspaths(TargetPlatformHelper.getPDEState()), TargetPlatformHelper.getPatchMap(TargetPlatformHelper.getPDEState()));
 		generator.setBuildingOSGi(true);
-		IPluginModelBase model = PDECore.getDefault().getModelManager().findModel(project);
-		generator.setElements(new String[] { "plugin@" +model.getPluginBase().getId() }); //$NON-NLS-1$
-		generator.generate();
+
+//		IPluginModelBase model = PDECore.getDefault().getModelManager().findModel(project);
+//		generator.setElements(new String[] { "plugin@" +model.getPluginBase().getId() }); //$NON-NLS-1$
+//		generator.generate();
+		
+		// allow binary cycles
+		Properties properties = new Properties();
+		properties.put(IBuildPropertiesConstants.PROPERTY_ALLOW_BINARY_CYCLES, "true"); //$NON-NLS-1$
+		generator.setImmutableAntProperties(properties);
+		IPluginModelBase model = PluginRegistry.findModel(project);
+		if (model != null && model.getPluginBase().getId() != null) {
+			generator.setBundles(new BundleDescription[] {model.getBundleDescription()});
+			generator.generate();
+		} else {
+			MessageDialog.openError(null, PDEUIMessages.BuildPluginAction_ErrorDialog_Title, PDEUIMessages.BuildPluginAction_ErrorDialog_Message);
+		}
 	}
 
 	private List getAspectpath(IProject project) {