diff --git a/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF b/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF index 0bc05b798f5..d45cf11af60 100644 --- a/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF @@ -48,7 +48,6 @@ Require-Bundle: org.eclipse.debug.ui, org.eclipse.jdt.core, org.eclipse.jdt.core.manipulation, - org.eclipse.jdt.annotation;bundle-version="[1.1.0,2.0.0)";resolution:=optional, org.eclipse.jdt.annotation;bundle-version="[2.0.0,3.0.0)";resolution:=optional, org.eclipse.jdt.junit, org.eclipse.jdt.junit.runtime, diff --git a/org.eclipse.jdt.ui.tests/build.properties b/org.eclipse.jdt.ui.tests/build.properties index f6d3a132e95..a5b55708cd5 100644 --- a/org.eclipse.jdt.ui.tests/build.properties +++ b/org.eclipse.jdt.ui.tests/build.properties @@ -17,7 +17,8 @@ bin.includes = plugin.xml,\ testresources/,\ .,\ META-INF/,\ - plugin.properties + plugin.properties,\ + lib/org.eclipse.jdt.annotation_1.2.100.v20241001-0914.jar source.. = examples/,\ chkpii/,\ test plugin/,\ diff --git a/org.eclipse.jdt.ui.tests/lib/org.eclipse.jdt.annotation_1.2.100.v20241001-0914.jar b/org.eclipse.jdt.ui.tests/lib/org.eclipse.jdt.annotation_1.2.100.v20241001-0914.jar new file mode 100644 index 00000000000..5db80bf2399 Binary files /dev/null and b/org.eclipse.jdt.ui.tests/lib/org.eclipse.jdt.annotation_1.2.100.v20241001-0914.jar differ diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/NullAnnotationsQuickFixTest.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/NullAnnotationsQuickFixTest.java index 87eaee4d511..8aab8520200 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/NullAnnotationsQuickFixTest.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/NullAnnotationsQuickFixTest.java @@ -18,7 +18,8 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import java.io.File; +import java.io.IOException; +import java.net.URL; import java.util.ArrayList; import java.util.Hashtable; @@ -26,7 +27,6 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.osgi.framework.Bundle; import org.eclipse.jdt.testplugin.JavaProjectHelper; import org.eclipse.jdt.testplugin.TestOptions; @@ -111,19 +111,19 @@ public void setUp() throws Exception { fJProject1= projectSetup.getProject(); if (ANNOTATION_JAR_PATH == null) { - String version= "[1.1.0,2.0.0)"; // tests run at 1.5, need the "old" null annotations - Bundle[] bundles= Platform.getBundles("org.eclipse.jdt.annotation", version); - File bundleFile= FileLocator.getBundleFileLocation(bundles[0]).get(); - if (bundleFile.isDirectory()) - ANNOTATION_JAR_PATH= bundleFile.getPath() + "/bin"; - else - ANNOTATION_JAR_PATH= bundleFile.getPath(); + // these tests us the "old" null annotations + ANNOTATION_JAR_PATH= getAnnotationV1LibPath(); } JavaProjectHelper.addLibrary(fJProject1, new Path(ANNOTATION_JAR_PATH)); fSourceFolder= JavaProjectHelper.addSourceContainer(fJProject1, "src"); } + public static String getAnnotationV1LibPath() throws IOException { + URL libEntry = Platform.getBundle("org.eclipse.jdt.ui.tests").getEntry("/lib/org.eclipse.jdt.annotation_1.2.100.v20241001-0914.jar"); + return FileLocator.toFileURL(libEntry).getPath(); + } + @After public void tearDown() throws Exception { JavaProjectHelper.clear(fJProject1, projectSetup.getDefaultClasspath()); diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/NullAnnotationsQuickFixTest1d8Mix.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/NullAnnotationsQuickFixTest1d8Mix.java index 5f9dc021c16..11e8e55ab8e 100644 --- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/NullAnnotationsQuickFixTest1d8Mix.java +++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/NullAnnotationsQuickFixTest1d8Mix.java @@ -13,7 +13,6 @@ *******************************************************************************/ package org.eclipse.jdt.ui.tests.quickfix; -import java.io.File; import java.util.ArrayList; import java.util.Hashtable; @@ -21,14 +20,11 @@ import org.junit.Before; import org.junit.Rule; import org.junit.Test; -import org.osgi.framework.Bundle; import org.eclipse.jdt.testplugin.JavaProjectHelper; import org.eclipse.jdt.testplugin.TestOptions; -import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; import org.eclipse.jface.preference.IPreferenceStore; @@ -94,13 +90,8 @@ public void setUp() throws Exception { fJProject1= projectSetup.getProject(); if (ANNOTATION_JAR_PATH == null) { - String version= "[1.1.0,2.0.0)"; // tests run at 1.8, but still use "old" null annotations - Bundle[] bundles= Platform.getBundles("org.eclipse.jdt.annotation", version); - File bundleFile= FileLocator.getBundleFileLocation(bundles[0]).get(); - if (bundleFile.isDirectory()) - ANNOTATION_JAR_PATH= bundleFile.getPath() + "/bin"; - else - ANNOTATION_JAR_PATH= bundleFile.getPath(); + // tests run at 1.8, but still use "old" null annotations: + ANNOTATION_JAR_PATH= NullAnnotationsQuickFixTest.getAnnotationV1LibPath(); } JavaProjectHelper.addLibrary(fJProject1, new Path(ANNOTATION_JAR_PATH)); @@ -121,9 +112,9 @@ public void testBug473068_elided() throws Exception { IPackageFragment pack1= fSourceFolder.createPackageFragment("testNullAnnotations", false, null); String str= """ package testNullAnnotations; - + import org.eclipse.jdt.annotation.NonNull; - + interface Consumer { void accept(T t); } @@ -134,7 +125,7 @@ public void select(final double min, final double max) { } \t private void doStuff(int a, int b, final double min, final double max, Consumer postAction) { - + } private void updateSelectionData(final @NonNull Object data) { } @@ -152,10 +143,10 @@ private void updateSelectionData(final @NonNull Object data) { String str1= """ package testNullAnnotations; - + import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; - + interface Consumer { void accept(T t); } @@ -166,7 +157,7 @@ public void select(final double min, final double max) { } \t private void doStuff(int a, int b, final double min, final double max, Consumer postAction) { - + } private void updateSelectionData(final @Nullable Object data) { } @@ -179,9 +170,9 @@ private void updateSelectionData(final @Nullable Object data) { String str2= """ package testNullAnnotations; - + import org.eclipse.jdt.annotation.NonNull; - + interface Consumer { void accept(T t); } @@ -193,7 +184,7 @@ public void select(final double min, final double max) { } \t private void doStuff(int a, int b, final double min, final double max, Consumer postAction) { - + } private void updateSelectionData(final @NonNull Object data) { } @@ -212,9 +203,9 @@ public void testBug473068_explicit_type() throws Exception { IPackageFragment pack1= fSourceFolder.createPackageFragment("testNullAnnotations", false, null); String str= """ package testNullAnnotations; - + import org.eclipse.jdt.annotation.NonNull; - + interface Consumer { void accept(T t); } @@ -225,7 +216,7 @@ public void select(final double min, final double max) { } \t private void doStuff(int a, int b, final double min, final double max, Consumer postAction) { - + } private void updateSelectionData(final @NonNull Object data) { } @@ -243,9 +234,9 @@ private void updateSelectionData(final @NonNull Object data) { String str1= """ package testNullAnnotations; - + import org.eclipse.jdt.annotation.NonNull; - + interface Consumer { void accept(T t); } @@ -256,7 +247,7 @@ public void select(final double min, final double max) { } \t private void doStuff(int a, int b, final double min, final double max, Consumer postAction) { - + } private void updateSelectionData(final @NonNull Object data) { } @@ -269,10 +260,10 @@ private void updateSelectionData(final @NonNull Object data) { String str2= """ package testNullAnnotations; - + import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; - + interface Consumer { void accept(T t); } @@ -283,7 +274,7 @@ public void select(final double min, final double max) { } \t private void doStuff(int a, int b, final double min, final double max, Consumer postAction) { - + } private void updateSelectionData(final @Nullable Object data) { } @@ -296,9 +287,9 @@ private void updateSelectionData(final @Nullable Object data) { String str3= """ package testNullAnnotations; - + import org.eclipse.jdt.annotation.NonNull; - + interface Consumer { void accept(T t); } @@ -310,7 +301,7 @@ public void select(final double min, final double max) { } \t private void doStuff(int a, int b, final double min, final double max, Consumer postAction) { - + } private void updateSelectionData(final @NonNull Object data) { }