Bug 268667

Summary: [plan] [3.5] [patch] Allow binary cycles in plugins with aspectj support
Product: [Tools] AJDT Reporter: Ivica Loncar <iloncar.ml>
Component: UIAssignee: AJDT-inbox <AJDT-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: andrew.eisenberg, daniel.rampanelli, gaston.tonietti
Version: 1.6.4   
Target Milestone: 2.0.1   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Bug Depends on:    
Bug Blocks: 282391    
Attachments:
Description Flags
patch that sets IBuildPropertiesConstants.PROPERTY_ALLOW_BINARY_CYCLES in generator andrew.eisenberg: iplog+

Description Ivica Loncar CLA 2009-03-15 08:39:07 EDT
Created attachment 128840 [details]
patch that sets IBuildPropertiesConstants.PROPERTY_ALLOW_BINARY_CYCLES in generator

Eclipse 3.4 already has limited support for binary cycles in plugins (it is available if building from ant build file).

Eclipse 3.5 provides GUI support for alloowing cycles in binary plugins.

AJDT "borrows" FeatureExport code from eclipse PDE so it shouldn't be difficult to add same functionality to AJDT.


Reason: 
We're using equinox aspects with spring dynamic modules (spring OSGI). 
Spring dynamic modules recommends usage of slf4j libraries for logging.
There is a well known cyclic dependency related to slf4j bundles.
In order to build our plugin with aspectj support we need to allow binary cycles. 

Here is a VERY SIMPLE patch that will silently allow binary cycles when exporting plugins with aspectj support.
Comment 1 Andrew Eisenberg CLA 2009-03-15 11:39:03 EDT
Thanks for the patch.  It looks reasonable.  It is too late for 1.6.4, but I will be able to include this in 1.6.5.
Comment 2 Andrew Eisenberg CLA 2009-03-24 20:16:28 EDT
This looks like a patch for AJDT 1.7.  This does not compile on AJDT 1.6, or am I missing something?
Comment 3 Ivica Loncar CLA 2009-04-05 05:57:41 EDT
It is a diff against PDE imported 1.6.3 source bundles. I didn't checkout AJDT from SCM so it probably doesn't apply cleanly.


Comment 4 Ivica Loncar CLA 2009-04-05 06:14:39 EDT
Andrew, you're right!

I have just fetched AJDT 1.6 and figured out I cannot apply this patch because I have also applied patches to:

org.eclipse.pde.core
org.eclipse.pde.ui
org.eclipse.pde.build

Since this relies on a newer version of org.eclipse.pde.internal.core.exports.FeatureExportInfo it will not work with vanilla eclipse 3.4.x

This feature relies on features found in 3.5.x so it's a candidate for AJDT 1.7.x

Comment 5 Andrew Eisenberg CLA 2009-07-03 11:18:44 EDT
About to commit a variant of this patch.  

There really should be a UI component (just like there is for the JDT Feature Export Operation) so that a user can turn off binary cycles.
Comment 6 Andrew Eisenberg CLA 2009-07-03 12:00:10 EDT
Patch submitted
Comment 7 Andrew Eisenberg CLA 2009-07-05 15:50:36 EDT
Dev build in 3.5 stream now available.
Comment 8 Daniel Rampanelli CLA 2009-08-21 04:12:15 EDT
*** Bug 287273 has been marked as a duplicate of this bug. ***