Merge bug fixes from HEAD, Root_R3_2_maintenance through v20060712-1750, into 3.2 maintenance. Includes fixes for 143872, 144875, 148321, 148328, 150051, and updates bundle versions to 3.2.1.
diff --git a/org.eclipse.jdt.apt.core/META-INF/MANIFEST.MF b/org.eclipse.jdt.apt.core/META-INF/MANIFEST.MF
index 8055230..29f3702 100644
--- a/org.eclipse.jdt.apt.core/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.apt.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jdt.apt.core; singleton:=true
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.2.1.qualifier
Bundle-Localization: plugin
Export-Package: com.sun.mirror.apt,
com.sun.mirror.declaration,
diff --git a/org.eclipse.jdt.apt.core/schema/annotationProcessorFactory.exsd b/org.eclipse.jdt.apt.core/schema/annotationProcessorFactory.exsd
index 2b26473..d2bca17 100644
--- a/org.eclipse.jdt.apt.core/schema/annotationProcessorFactory.exsd
+++ b/org.eclipse.jdt.apt.core/schema/annotationProcessorFactory.exsd
@@ -6,7 +6,7 @@
<meta.schema plugin="org.eclipse.jdt.apt.core" id="annotationProcessorFactory" name="Annotation Processor Factories"/>
</appInfo>
<documentation>
- [Enter description of this extension point.]
+ Plug-ins which contribute JSR-175 annotation processors should extend this extension point in order to participate in compilation.
</documentation>
</annotation>
@@ -61,18 +61,24 @@
<element name="factory">
<complexType>
- <attribute name="class" type="string">
+ <attribute name="class" type="string" use="required">
<annotation>
<documentation>
-
+ Qualified name of a class that implements com.sun.mirror.apt.AnnotationProcessorFactory and has a no-argument constructor.
</documentation>
+ <appInfo>
+ <meta.attribute kind="java" basedOn="com.sun.mirror.apt.AnnotationProcessorFactory"/>
+ </appInfo>
</annotation>
</attribute>
<attribute name="implements" type="string">
<annotation>
<documentation>
-
+ Reserved. Do not use this attribute.
</documentation>
+ <appInfo>
+ <meta.attribute deprecated="true"/>
+ </appInfo>
</annotation>
</attribute>
</complexType>
@@ -92,7 +98,19 @@
<meta.section type="examples"/>
</appInfo>
<documentation>
- [Enter extension point usage example here.]
+ Example of a declaration of an <code>annotationProcessorFactory</code>: <pre>
+ <extension
+ point="org.eclipse.jdt.apt.core.annotationProcessorFactory">
+ <factories enableDefault="true">
+ <factory
+ class="org.xyz.HelloWorldAnnotationProcessorFactory">
+ </factory>
+ <factory
+ class="org.xyz.GoodNightMoonAnnotationProcessorFactory">
+ </factory>
+ </factories>
+ </extension>
+</pre>
</documentation>
</annotation>
@@ -119,7 +137,11 @@
<meta.section type="copyright"/>
</appInfo>
<documentation>
-
+ Copyright (c) 2005 BEA Systems, Inc 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>
</documentation>
</annotation>
diff --git a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/build/JdtApt.java b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/build/JdtApt.java
index ef194ea..208fcdd 100644
--- a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/build/JdtApt.java
+++ b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/build/JdtApt.java
@@ -23,14 +23,14 @@
*
* Sample build.xml:
*
- * <project name="test_eclipse" default="build" basedir=".">
+ * <project name="test_eclipse" default="build" basedir=".">
*
- * <taskdef name="apt" classname="org.eclipse.jdt.apt.core.build.JdtApt"/>
+ * <taskdef name="apt" classname="org.eclipse.jdt.apt.core.build.JdtApt"/>
*
- * <target name="build">
- * <apt workspace="C:\my_workspace" eclipseHome="C:\eclipse"/>
- * </target>
- * </project>
+ * <target name="build">
+ * <apt workspace="C:\my_workspace" eclipseHome="C:\eclipse"/>
+ * </target>
+ * </project>
*/
public class JdtApt extends Java {
diff --git a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/env/AbstractCompilationEnv.java b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/env/AbstractCompilationEnv.java
index 5db7e8c..0dcc4b4 100644
--- a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/env/AbstractCompilationEnv.java
+++ b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/env/AbstractCompilationEnv.java
@@ -17,14 +17,8 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.regex.Pattern;
import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.apt.core.env.EclipseAnnotationProcessorEnvironment;
import org.eclipse.jdt.apt.core.env.Phase;
import org.eclipse.jdt.apt.core.internal.declaration.EclipseMirrorObject;
@@ -32,13 +26,11 @@
import org.eclipse.jdt.apt.core.internal.env.MessagerImpl.Severity;
import org.eclipse.jdt.apt.core.internal.util.Factory;
import org.eclipse.jdt.apt.core.internal.util.Visitors.AnnotationVisitor;
-import org.eclipse.jdt.apt.core.util.AptConfig;
import org.eclipse.jdt.apt.core.util.EclipseMessager;
import org.eclipse.jdt.core.BindingKey;
import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.compiler.CategorizedProblem;
import org.eclipse.jdt.core.compiler.BuildContext;
+import org.eclipse.jdt.core.compiler.CategorizedProblem;
import org.eclipse.jdt.core.compiler.ReconcileContext;
import org.eclipse.jdt.core.dom.ASTRequestor;
import org.eclipse.jdt.core.dom.Annotation;
@@ -54,21 +46,9 @@
extends BaseProcessorEnv
implements EclipseAnnotationProcessorEnvironment{
- /** regex to identify substituted token in path variables */
- private static final String PATHVAR_TOKEN = "^%[^%/\\\\ ]+%.*"; //$NON-NLS-1$
- /** path variable meaning "workspace root" */
- private static final String PATHVAR_ROOT = "%ROOT%"; //$NON-NLS-1$
- /** path variable meaning "project root" */
- private static final String PATHVAR_PROJECTROOT = "%PROJECT.DIR%"; //$NON-NLS-1$
-
private Set<AnnotationProcessorListener> _listeners = null;
protected List<APTProblem> _problems = new ArrayList<APTProblem>();
- /**
- * Processor options, including -A options.
- * Set in ctor and then not changed.
- */
- private Map<String, String> _options;
private boolean _isClosed = false;
EnvCallback _callback;
@@ -111,7 +91,6 @@
Phase phase)
{
super(compilationUnit, file, javaProj, phase);
- initOptions(javaProj);
}
@Override
@@ -143,94 +122,6 @@
return Collections.unmodifiableSet(_listeners);
}
- /**
- * Set the _options map based on the current project/workspace settings.
- * There is a bug in Sun's apt implementation: it parses the command line
- * incorrectly, such that -Akey=value gets added to the options map as
- * key "-Akey=value" and value "". In order to support processors written
- * to run on Sun's apt as well as processors written without this bug
- * in mind, we populate the map with two copies of every option, one the
- * expected way ("key" / "value") and the other the Sun way
- * ("-Akey=value" / ""). We make exceptions for the non-dash-A options
- * that we set automatically, such as -classpath, -target, and so forth;
- * since these wouldn't have come from a -A option we don't construct a
- * -Akey=value variant.
- *
- * Called from constructor. A new Env is constructed for each build pass,
- * so this will always be up to date with the latest settings.
- */
- private void initOptions(IJavaProject jproj) {
- Map<String, String> procOptions = AptConfig.getProcessorOptions(jproj);
- _options = new HashMap<String, String>(procOptions.size() * 2);
-
- // Add configured options
- for (Map.Entry<String, String> entry : procOptions.entrySet()) {
- String value = resolveVarPath(jproj, entry.getValue());
- String key = entry.getKey();
- _options.put(key, value);
- if (!AptConfig.isAutomaticProcessorOption(key)) {
- String sunStyle;
- if (value != null) {
- sunStyle = "-A" + entry.getKey() + "=" + value; //$NON-NLS-1$ //$NON-NLS-2$
- }
- else {
- sunStyle = "-A" + entry.getKey(); //$NON-NLS-1$
- }
- _options.put(sunStyle, ""); //$NON-NLS-1$
- }
- }
- }
-
- /**
- * If the value starts with a path variable such as %ROOT%, replace it with
- * the absolute path.
- * @param value the value of a -Akey=value command option
- */
- private String resolveVarPath(IJavaProject jproj, String value) {
- if (value == null) {
- return null;
- }
- // is there a token to substitute?
- if (!Pattern.matches(PATHVAR_TOKEN, value)) {
- return value;
- }
- IPath path = new Path(value);
- String firstToken = path.segment(0);
- // If it matches %ROOT%/project, it is a project-relative path.
- if (PATHVAR_ROOT.equals(firstToken)) {
- IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
- IResource proj = root.findMember(path.segment(1));
- if (proj == null) {
- return value;
- }
- // all is well; do the substitution
- IPath relativePath = path.removeFirstSegments(2);
- IPath absoluteProjPath = proj.getLocation();
- IPath absoluteResPath = absoluteProjPath.append(relativePath);
- return absoluteResPath.toOSString();
- }
-
- // If it matches %PROJECT.DIR%/project, the path is relative to the current project.
- if (jproj != null && PATHVAR_PROJECTROOT.equals(firstToken)) {
- // all is well; do the substitution
- IPath relativePath = path.removeFirstSegments(1);
- IPath absoluteProjPath = jproj.getProject().getLocation();
- IPath absoluteResPath = absoluteProjPath.append(relativePath);
- return absoluteResPath.toOSString();
- }
-
- // otherwise it's a classpath-var-based path.
- String cpvName = firstToken.substring(1, firstToken.length() - 1);
- IPath cpvPath = JavaCore.getClasspathVariable(cpvName);
- if (cpvPath != null) {
- IPath resolved = cpvPath.append(path.removeFirstSegments(1));
- return resolved.toOSString();
- }
- else {
- return value;
- }
- }
-
public Map<String, String> getOptions()
{
final HashMap<String, String> options = new HashMap<String, String>(_options);
diff --git a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/env/BaseProcessorEnv.java b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/env/BaseProcessorEnv.java
index 3764c4f..d458f63 100644
--- a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/env/BaseProcessorEnv.java
+++ b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/env/BaseProcessorEnv.java
@@ -31,6 +31,7 @@
import org.eclipse.jdt.apt.core.internal.util.PackageUtil;
import org.eclipse.jdt.apt.core.internal.util.TypesUtil;
import org.eclipse.jdt.apt.core.internal.util.Visitors.AnnotatedNodeVisitor;
+import org.eclipse.jdt.apt.core.util.AptConfig;
import org.eclipse.jdt.core.BindingKey;
import org.eclipse.jdt.core.IClassFile;
import org.eclipse.jdt.core.ICompilationUnit;
@@ -101,6 +102,12 @@
protected final AptProject _aptProject;
/**
+ * Unmodifiable map of processor options, including -A options.
+ * Set in ctor and then not changed.
+ */
+ protected final Map<String, String> _options;
+
+ /**
* Mapping model compilation unit to dom compilation unit.
* The assumption here is that once the client examine some binding from some file,
* it will continue to examine other bindings from came from that same file.
@@ -131,12 +138,52 @@
_file = file;
_javaProject = javaProj;
_phase = phase;
-
+ _options = initOptions(javaProj);
_modelCompUnit2astCompUnit = new HashMap<ICompilationUnit, CompilationUnit>();
_typeBinding2ModelCompUnit = new HashMap<ITypeBinding, ICompilationUnit>();
_aptProject = AptPlugin.getAptProject(javaProj);
}
+ /**
+ * Set the _options map based on the current project/workspace settings.
+ * There is a bug in Sun's apt implementation: it parses the command line
+ * incorrectly, such that -Akey=value gets added to the options map as
+ * key "-Akey=value" and value "". In order to support processors written
+ * to run on Sun's apt as well as processors written without this bug
+ * in mind, we populate the map with two copies of every option, one the
+ * expected way ("key" / "value") and the other the Sun way
+ * ("-Akey=value" / ""). We make exceptions for the non-dash-A options
+ * that we set automatically, such as -classpath, -target, and so forth;
+ * since these wouldn't have come from a -A option we don't construct a
+ * -Akey=value variant.
+ *
+ * Called from constructor. A new Env is constructed for each build pass,
+ * so this will always be up to date with the latest settings.
+ */
+ private Map<String, String> initOptions(IJavaProject jproj) {
+ Map<String, String> procOptions = AptConfig.getProcessorOptions(jproj);
+ // options is large enough to include the translated -A options
+ Map<String, String> options = new HashMap<String, String>(procOptions.size() * 2);
+
+ // Add configured options
+ for (Map.Entry<String, String> entry : procOptions.entrySet()) {
+ String value = entry.getValue();
+ String key = entry.getKey();
+ options.put(key, value);
+ if (!AptConfig.isAutomaticProcessorOption(key)) {
+ String sunStyle;
+ if (value != null) {
+ sunStyle = "-A" + entry.getKey() + "=" + value; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ else {
+ sunStyle = "-A" + entry.getKey(); //$NON-NLS-1$
+ }
+ options.put(sunStyle, ""); //$NON-NLS-1$
+ }
+ }
+ return Collections.unmodifiableMap(options);
+ }
+
public Types getTypeUtils()
{
return new TypesUtil(this);
@@ -341,7 +388,7 @@
return astUnit.findDeclaringNode(binding.getKey());
}
- public Map<String, String> getOptions(){ return Collections.emptyMap(); }
+ public Map<String, String> getOptions(){ return _options; }
// does not generate dependencies
public TypeDeclaration getTypeDeclaration(String name)
diff --git a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/util/FactoryPathUtil.java b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/util/FactoryPathUtil.java
index 78f1d71..ad49ba3 100644
--- a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/util/FactoryPathUtil.java
+++ b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/util/FactoryPathUtil.java
@@ -579,7 +579,7 @@
pfc.addFactoryName(factoryName);
}
} catch(CoreException e) {
- e.printStackTrace();
+ AptPlugin.log(e, "Unable to load annotation factory from plug-in"); //$NON-NLS-1$
}
}
}
diff --git a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/util/AptConfig.java b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/util/AptConfig.java
index ca8fe4a..c2a911e 100644
--- a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/util/AptConfig.java
+++ b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/util/AptConfig.java
@@ -19,15 +19,18 @@
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
+import java.util.regex.Pattern;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ProjectScope;
+import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.preferences.DefaultScope;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
@@ -58,6 +61,13 @@
*/
public class AptConfig {
+ /** regex to identify substituted token in path variables */
+ private static final String PATHVAR_TOKEN = "^%[^%/\\\\ ]+%.*"; //$NON-NLS-1$
+ /** path variable meaning "workspace root" */
+ private static final String PATHVAR_ROOT = "%ROOT%"; //$NON-NLS-1$
+ /** path variable meaning "project root" */
+ private static final String PATHVAR_PROJECTROOT = "%PROJECT.DIR%"; //$NON-NLS-1$
+
/*
* Hide constructor; this is a static object
*/
@@ -112,8 +122,18 @@
/**
* Get the options that are presented to annotation processors by the
- * AnnotationProcessorEnvironment. The -A and = are stripped out, so
- * (key, value) is the equivalent of -Akey=value.
+ * AnnotationProcessorEnvironment. Options are key/value pairs which
+ * are set in the project properties.
+ *
+ * Option values can begin with a percent-delimited token representing
+ * a classpath variable or one of several predefined values. The token
+ * must either be followed by a path delimiter, or be the entire value.
+ * Such tokens will be replaced with their resolved value. The predefined
+ * values are <code>%ROOT%</code>, which is replaced by the absolute pathname
+ * of the workspace root directory, and <code>%PROJECT.DIR%</code>, which
+ * will be replaced by the absolute pathname of the project root directory.
+ * For example, a value of <code>%ECLIPSE_HOME%/configuration/config.ini</code>
+ * might be resolved to <code>d:/eclipse/configuration/config.ini</code>.
*
* This method returns some options which are set programmatically but
* are not directly editable, are not displayed in the configuration GUI,
@@ -121,21 +141,42 @@
* emulate the behavior of Sun's apt command-line tool, which passes
* most of its command line options to the processor environment. The
* programmatically set options are:
- * -classpath [set to Java build path]
- * -sourcepath [set to Java source path]
- * -s [set to generated src dir]
- * -d [set to binary output dir]
- * -target [set to compiler target version]
- * -source [set to compiler source version]
+ * <code>-classpath</code> [set to Java build path]
+ * <code>-sourcepath</code> [set to Java source path]
+ * <code>-s</code> [set to generated src dir]
+ * <code>-d</code> [set to binary output dir]
+ * <code>-target</code> [set to compiler target version]
+ * <code>-source</code> [set to compiler source version]
+ *
+ * There are some slight differences between the options returned by this
+ * method and the options returned from this implementation of @see
+ * AnnotationProcessorEnvironment#getOptions(). First, that method returns
+ * additional options which are only meaningful during a build, such as
+ * <code>phase</code>. Second, that method also adds alternate encodings
+ * of each option, to be compatible with a bug in Sun's apt implementation:
+ * specifically, for each option key="k", value="v", an additional option
+ * is created with key="-Ak=v", value=null. This includes the user-created
+ * options, but does not include the programmatically defined options listed
+ * above.
*
* @param jproj a project, or null to query the workspace-wide setting.
* @return a mutable, possibly empty, map of (key, value) pairs.
- * The value part of a pair may be null (equivalent to "-Akey").
- * The value part can contain spaces, if it is quoted: -Afoo="bar baz".
+ * The value part of a pair may be null (equivalent to "-Akey" on the Sun apt
+ * command line).
+ * The value part may contain spaces.
*/
public static Map<String, String> getProcessorOptions(IJavaProject jproj) {
- Map<String,String> options;
- options = getRawProcessorOptions(jproj);
+ Map<String,String> rawOptions = getRawProcessorOptions(jproj);
+ // map is large enough to also include the programmatically generated options
+ Map<String, String> options = new HashMap<String, String>(rawOptions.size() + 6);
+
+ // Resolve path metavariables like %ROOT%
+ for (Map.Entry<String, String> entry : rawOptions.entrySet()) {
+ String resolvedValue = resolveVarPath(jproj, entry.getValue());
+ String value = (resolvedValue == null) ? entry.getValue() : resolvedValue;
+ options.put(entry.getKey(), value);
+ }
+
if (jproj == null) {
// there are no programmatically set options at the workspace level
return options;
@@ -233,7 +274,57 @@
return options;
}
- // We need this as a separate method, as we'll put dependent projects' output
+ /**
+ * If the value starts with a path variable such as %ROOT%, replace it with
+ * the absolute path.
+ * @param value the value of a -Akey=value command option
+ */
+ private static String resolveVarPath(IJavaProject jproj, String value) {
+ if (value == null) {
+ return null;
+ }
+ // is there a token to substitute?
+ if (!Pattern.matches(PATHVAR_TOKEN, value)) {
+ return value;
+ }
+ IPath path = new Path(value);
+ String firstToken = path.segment(0);
+ // If it matches %ROOT%/project, it is a project-relative path.
+ if (PATHVAR_ROOT.equals(firstToken)) {
+ IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
+ IResource proj = root.findMember(path.segment(1));
+ if (proj == null) {
+ return value;
+ }
+ // all is well; do the substitution
+ IPath relativePath = path.removeFirstSegments(2);
+ IPath absoluteProjPath = proj.getLocation();
+ IPath absoluteResPath = absoluteProjPath.append(relativePath);
+ return absoluteResPath.toOSString();
+ }
+
+ // If it matches %PROJECT.DIR%/project, the path is relative to the current project.
+ if (jproj != null && PATHVAR_PROJECTROOT.equals(firstToken)) {
+ // all is well; do the substitution
+ IPath relativePath = path.removeFirstSegments(1);
+ IPath absoluteProjPath = jproj.getProject().getLocation();
+ IPath absoluteResPath = absoluteProjPath.append(relativePath);
+ return absoluteResPath.toOSString();
+ }
+
+ // otherwise it's a classpath-var-based path.
+ String cpvName = firstToken.substring(1, firstToken.length() - 1);
+ IPath cpvPath = JavaCore.getClasspathVariable(cpvName);
+ if (cpvPath != null) {
+ IPath resolved = cpvPath.append(path.removeFirstSegments(1));
+ return resolved.toOSString();
+ }
+ else {
+ return value;
+ }
+ }
+
+ // We need this as a separate method, as we'll put dependent projects' output
// on the classpath
private static void addProjectClasspath(
IWorkspaceRoot root,
diff --git a/org.eclipse.jdt.apt.tests/META-INF/MANIFEST.MF b/org.eclipse.jdt.apt.tests/META-INF/MANIFEST.MF
index 4ded349..c57e8e9 100644
--- a/org.eclipse.jdt.apt.tests/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.apt.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jdt.apt.tests; singleton:=true
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.2.1.qualifier
Bundle-ClassPath: apt.jar,
aptext.jar
Bundle-Activator: org.eclipse.jdt.apt.tests.plugin.AptTestsPlugin
@@ -11,8 +11,10 @@
org.eclipse.jdt.apt.tests.annotations,
org.eclipse.jdt.apt.tests.annotations.apitest,
org.eclipse.jdt.apt.tests.annotations.aptrounding,
+ org.eclipse.jdt.apt.tests.annotations.exceptionhandling,
org.eclipse.jdt.apt.tests.annotations.extradependency,
org.eclipse.jdt.apt.tests.annotations.filegen,
+ org.eclipse.jdt.apt.tests.annotations.generic,
org.eclipse.jdt.apt.tests.annotations.helloworld,
org.eclipse.jdt.apt.tests.annotations.messager,
org.eclipse.jdt.apt.tests.annotations.mirrortest,
@@ -28,12 +30,10 @@
org.eclipse.jdt.apt.tests.plugin
Require-Bundle: org.junit,
org.eclipse.jdt.apt.core,
- org.eclipse.jdt.apt.ui,
org.eclipse.jdt.core,
org.eclipse.jdt.core.tests.builder,
org.eclipse.jdt.core.tests.compiler,
org.eclipse.jdt.core.tests.model,
- org.eclipse.jdt.core.tests.performance,
org.eclipse.core.resources,
org.eclipse.core.runtime,
org.eclipse.test.performance
diff --git a/org.eclipse.jdt.apt.ui/META-INF/MANIFEST.MF b/org.eclipse.jdt.apt.ui/META-INF/MANIFEST.MF
index e2a8a54..64cc4f1 100644
--- a/org.eclipse.jdt.apt.ui/META-INF/MANIFEST.MF
+++ b/org.eclipse.jdt.apt.ui/META-INF/MANIFEST.MF
@@ -2,17 +2,19 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.jdt.apt.ui; singleton:=true
-Bundle-Version: 3.2.0.qualifier
+Bundle-Version: 3.2.1.qualifier
Bundle-Activator: org.eclipse.jdt.apt.ui.internal.AptUIPlugin
Bundle-Localization: plugin
-Require-Bundle: org.eclipse.jdt.apt.core;bundle-version="[3.2.0,4.0.0)",
+Require-Bundle: org.eclipse.jdt.apt.core;bundle-version="[3.2.0,4.0.0)",
org.eclipse.jdt.ui;bundle-version="[3.2.0,4.0.0)",
org.eclipse.jdt.core;bundle-version="[3.2.0,4.0.0)",
org.eclipse.ui;bundle-version="[3.2.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.2.0,4.0.0)",
- org.eclipse.help;bundle-version="[3.2.0,4.0.0)",
org.eclipse.ui.forms;bundle-version="[3.2.0,4.0.0)"
Eclipse-LazyStart: true
Bundle-Vendor: Eclipse.org
Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.jdt.apt.ui.internal;x-internal:=true,
+ org.eclipse.jdt.apt.ui.internal.preferences;x-internal:=true,
+ org.eclipse.jdt.apt.ui.internal.util;x-internal:=true