diff options
4 files changed, 45 insertions, 7 deletions
diff --git a/org.eclipse.jdt.apt.core/META-INF/MANIFEST.MF b/org.eclipse.jdt.apt.core/META-INF/MANIFEST.MF index e352c7ddde..38619b7f44 100644 --- a/org.eclipse.jdt.apt.core/META-INF/MANIFEST.MF +++ b/org.eclipse.jdt.apt.core/META-INF/MANIFEST.MF @@ -10,13 +10,13 @@ Export-Package: com.sun.mirror.apt, com.sun.mirror.util, org.eclipse.jdt.apt.core.build, org.eclipse.jdt.apt.core.env, - org.eclipse.jdt.apt.core.internal;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui", - org.eclipse.jdt.apt.core.internal.build;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui", - org.eclipse.jdt.apt.core.internal.declaration;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui", - org.eclipse.jdt.apt.core.internal.env;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui", - org.eclipse.jdt.apt.core.internal.generatedfile;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui", - org.eclipse.jdt.apt.core.internal.type;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui", - org.eclipse.jdt.apt.core.internal.util;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui", + org.eclipse.jdt.apt.core.internal;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui,org.eclipse.jdt.apt.pluggable.tests", + org.eclipse.jdt.apt.core.internal.build;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui,org.eclipse.jdt.apt.pluggable.tests", + org.eclipse.jdt.apt.core.internal.declaration;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui,org.eclipse.jdt.apt.pluggable.tests", + org.eclipse.jdt.apt.core.internal.env;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui,org.eclipse.jdt.apt.pluggable.tests", + org.eclipse.jdt.apt.core.internal.generatedfile;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui,org.eclipse.jdt.apt.pluggable.tests", + org.eclipse.jdt.apt.core.internal.type;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui,org.eclipse.jdt.apt.pluggable.tests", + org.eclipse.jdt.apt.core.internal.util;x-friends:="org.eclipse.jdt.apt.pluggable.core,org.eclipse.jdt.apt.tests,org.eclipse.jdt.apt.ui,org.eclipse.jdt.apt.pluggable.tests", org.eclipse.jdt.apt.core.util Require-Bundle: org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)", org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)", diff --git a/org.eclipse.jdt.apt.pluggable.tests/plugin.xml b/org.eclipse.jdt.apt.pluggable.tests/plugin.xml index b77aa829f4..a999d8bca5 100644 --- a/org.eclipse.jdt.apt.pluggable.tests/plugin.xml +++ b/org.eclipse.jdt.apt.pluggable.tests/plugin.xml @@ -10,4 +10,13 @@ </java6processor> </java6processors> </extension> + <extension + point="org.eclipse.jdt.apt.core.annotationProcessorFactory"> + <java6processors + enableDefault="true"> + <java6processor + class="org.eclipse.jdt.apt.pluggable.tests.processors.message6.Message6Proc"> + </java6processor> + </java6processors> + </extension> </plugin> diff --git a/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/Apt6TestsPlugin.java b/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/Apt6TestsPlugin.java index 8420dbda62..32c12a2b33 100644 --- a/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/Apt6TestsPlugin.java +++ b/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/Apt6TestsPlugin.java @@ -4,6 +4,8 @@ import org.eclipse.core.runtime.Plugin; public class Apt6TestsPlugin extends Plugin { + public static final String PLUGIN_ID = "org.eclipse.jdt.apt.pluggable.tests"; //$NON-NLS-1$ + public Apt6TestsPlugin() { // TODO Auto-generated constructor stub } diff --git a/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/InfrastructureTests.java b/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/InfrastructureTests.java index 7069c91708..96c4e808d5 100644 --- a/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/InfrastructureTests.java +++ b/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/InfrastructureTests.java @@ -11,11 +11,17 @@ package org.eclipse.jdt.apt.pluggable.tests; +import java.util.Map; + import junit.framework.Test; import junit.framework.TestSuite; import org.eclipse.core.resources.IProject; import org.eclipse.core.runtime.Platform; +import org.eclipse.jdt.apt.core.internal.util.FactoryContainer; +import org.eclipse.jdt.apt.core.internal.util.FactoryPath; +import org.eclipse.jdt.apt.core.util.AptConfig; +import org.eclipse.jdt.apt.pluggable.tests.processors.message6.Message6Proc; import org.eclipse.jdt.core.IJavaProject; import org.osgi.framework.Bundle; @@ -61,4 +67,25 @@ public class InfrastructureTests extends TestBase expectingCompiledClasses(expectedClasses); } + /** + * Does the factory path show Java 6 processors from this plug-in? + */ + public void testFactoryPathContents() throws Throwable + { + IJavaProject jproj = createJavaProject(_projectName); + FactoryPath fpath = (FactoryPath) AptConfig.getFactoryPath(jproj); + Map<FactoryContainer, FactoryPath.Attributes> map = fpath.getAllContainers(); + boolean foundThisPlugin = false; + for (Map.Entry<FactoryContainer, FactoryPath.Attributes> entry : map.entrySet()) { + FactoryContainer fc = entry.getKey(); + if (Apt6TestsPlugin.PLUGIN_ID.equals(fc.getId())) { + foundThisPlugin = true; + Map<String, String> names = fc.getFactoryNames(); + String service = names.get(Message6Proc.class.getName()); + assertNotNull("Message6Proc was not found in apt.pluggable.tests plug-in", service); + break; + } + } + assertTrue("apt.pluggable.tests plug-in was not found in project factory path", foundThisPlugin); + } } |