diff --git a/org.eclipse.jdt.apt.pluggable.core/META-INF/MANIFEST.MF b/org.eclipse.jdt.apt.pluggable.core/META-INF/MANIFEST.MF index 697a3c4fec6..188e2459e2b 100644 --- a/org.eclipse.jdt.apt.pluggable.core/META-INF/MANIFEST.MF +++ b/org.eclipse.jdt.apt.pluggable.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jdt.apt.pluggable.core;singleton:=true -Bundle-Version: 1.4.600.qualifier +Bundle-Version: 1.4.700.qualifier Bundle-Activator: org.eclipse.jdt.internal.apt.pluggable.core.Apt6Plugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.runtime, diff --git a/org.eclipse.jdt.apt.pluggable.core/src/org/eclipse/jdt/internal/apt/pluggable/core/dispatch/IdeProcessingEnvImpl.java b/org.eclipse.jdt.apt.pluggable.core/src/org/eclipse/jdt/internal/apt/pluggable/core/dispatch/IdeProcessingEnvImpl.java index bd12734fadc..b14a1dd2305 100644 --- a/org.eclipse.jdt.apt.pluggable.core/src/org/eclipse/jdt/internal/apt/pluggable/core/dispatch/IdeProcessingEnvImpl.java +++ b/org.eclipse.jdt.apt.pluggable.core/src/org/eclipse/jdt/internal/apt/pluggable/core/dispatch/IdeProcessingEnvImpl.java @@ -102,7 +102,7 @@ public Map getOptions() { private Function, String> replacePlaceholdersUsing(Map commandLineOptions) { return option -> { - String variable, replacement, optionValue = option.getValue(); + String variable, replacement, optionValue = option.getValue() == null ? "" : option.getValue(); Matcher placeholder = Pattern.compile("%([^%]+)%").matcher(optionValue); if (placeholder.find() && (variable = placeholder.group(1)) != null && (replacement = commandLineOptions.get(variable)) != null) { diff --git a/org.eclipse.jdt.apt.pluggable.tests/META-INF/MANIFEST.MF b/org.eclipse.jdt.apt.pluggable.tests/META-INF/MANIFEST.MF index fce02106d04..d2e3ba964bd 100644 --- a/org.eclipse.jdt.apt.pluggable.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.jdt.apt.pluggable.tests/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jdt.apt.pluggable.tests;singleton:=true -Bundle-Version: 3.6.800.qualifier +Bundle-Version: 3.6.900.qualifier Bundle-Activator: org.eclipse.jdt.apt.pluggable.tests.Apt6TestsPlugin Bundle-Localization: plugin Require-Bundle: org.junit, diff --git a/org.eclipse.jdt.apt.pluggable.tests/pom.xml b/org.eclipse.jdt.apt.pluggable.tests/pom.xml index d19b75809aa..12733a96201 100644 --- a/org.eclipse.jdt.apt.pluggable.tests/pom.xml +++ b/org.eclipse.jdt.apt.pluggable.tests/pom.xml @@ -19,7 +19,7 @@ ../tests-pom/ org.eclipse.jdt.apt.pluggable.tests - 3.6.800-SNAPSHOT + 3.6.900-SNAPSHOT eclipse-test-plugin ${project.artifactId} diff --git a/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/BuilderTests.java b/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/BuilderTests.java index 57157c1b672..f95830bf54b 100644 --- a/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/BuilderTests.java +++ b/org.eclipse.jdt.apt.pluggable.tests/src/org/eclipse/jdt/apt/pluggable/tests/BuilderTests.java @@ -415,6 +415,25 @@ public void testBug341298() throws Throwable { fullBuild(); assertTrue("Processor should be able to compile with passed options", Bug341298Processor.success()); } + public void testGHIssue4640() throws Throwable { + ProcessorTestStatus.reset(); + IJavaProject project = createJavaProject(_projectName); + IPath root = project.getProject().getFullPath().append("src"); + env.addClass(root, "test341298", "Annotated", + "package test341298;\n" + + "@Annotation public class Annotated {}" + ); + env.addClass(root, "test341298", "Annotation", + "package test341298;\n" + + "public @interface Annotation {}" + ); + AptConfig.addProcessorOption(project, "classpath", "%classpath%"); + AptConfig.addProcessorOption(project, "sourcepath", "%sourcepath%"); + AptConfig.addProcessorOption(project, "phase", null); + AptConfig.setEnabled(project, true); + fullBuild(); + assertTrue("Processor should be able to compile with passed options", Bug341298Processor.success()); + } public void testBug539663() throws Throwable { if (!canRunJava9()) {