Use p2.inf file to ensure the SDK features are non-greedy optional.
diff --git a/org.aspectj-feature/feature.xml b/org.aspectj-feature/feature.xml
index 51eedb6..841663a 100644
--- a/org.aspectj-feature/feature.xml
+++ b/org.aspectj-feature/feature.xml
@@ -38,5 +38,13 @@
install-size="0"
version="0.0.0"
unpack="false"/>
+
+ <includes
+ id="org.aspectj.source"
+ name="AspectJ Compiler Source Code"
+ version="0.0.0"
+ optional="true"/>
+
+
</feature>
diff --git a/org.aspectj-feature/p2.inf b/org.aspectj-feature/p2.inf
new file mode 100644
index 0000000..55713dd
--- /dev/null
+++ b/org.aspectj-feature/p2.inf
@@ -0,0 +1,5 @@
+# The source feature should be optional and non-greedy
+requires.0.namespace=org.eclipse.equinox.p2.iu
+requires.0.name=org.aspectj.source.feature.group
+requires.0.greedy=false
+requires.0.optional=true
diff --git a/org.eclipse.ajdt-feature/feature.xml b/org.eclipse.ajdt-feature/feature.xml
index ad50bb6..396b268 100644
--- a/org.eclipse.ajdt-feature/feature.xml
+++ b/org.eclipse.ajdt-feature/feature.xml
@@ -25,7 +25,7 @@
<includes
id="org.eclipse.ajdt.source"
version="0.0.0"
- name=""
+ name="AJDT Source Code"
optional="true"/>
<includes
@@ -38,11 +38,6 @@
id="org.aspectj"
version="0.0.0"/>
- <includes
- id="org.aspectj.source"
- version="0.0.0"
- optional="true"/>
-
<requires>
<import plugin="org.apache.ant"/>
<import plugin="org.eclipse.core.resources"/>
diff --git a/org.eclipse.ajdt-feature/p2.inf b/org.eclipse.ajdt-feature/p2.inf
new file mode 100644
index 0000000..4b743ca
--- /dev/null
+++ b/org.eclipse.ajdt-feature/p2.inf
@@ -0,0 +1,5 @@
+# The source feature should be optional and non-greedy
+requires.0.namespace=org.eclipse.equinox.p2.iu
+requires.0.name=org.eclipse.ajdt.source.feature.group
+requires.0.greedy=false
+requires.0.optional=true
\ No newline at end of file