diff --git a/org.eclipse.wb.core.java/META-INF/MANIFEST.MF b/org.eclipse.wb.core.java/META-INF/MANIFEST.MF index 1777a6b17..ce0a90f29 100755 --- a/org.eclipse.wb.core.java/META-INF/MANIFEST.MF +++ b/org.eclipse.wb.core.java/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.206.0,4.0.0)", org.eclipse.debug.ui;bundle-version="[3.18.400,4.0.0)", org.eclipse.core.resources;bundle-version="[3.20.200,4.0.0)", org.eclipse.ui.editors;bundle-version="[3.17.300,4.0.0)", - org.eclipse.wb.core;bundle-version="[1.24.0,2.0.0)", + org.eclipse.wb.core;bundle-version="[1.25.0,2.0.0)", org.eclipse.wb.core.databinding.xsd;bundle-version="[1.0.300,2.0.0)", org.eclipse.compare;bundle-version="[3.11.0,4.0.0)", org.eclipse.jdt.core;bundle-version="[3.38.0,4.0.0)";visibility:=reexport, diff --git a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/utils/jdt/core/ProjectUtils.java b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/utils/jdt/core/ProjectUtils.java index 5e18c9b42..a33ae0951 100644 --- a/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/utils/jdt/core/ProjectUtils.java +++ b/org.eclipse.wb.core.java/src/org/eclipse/wb/internal/core/utils/jdt/core/ProjectUtils.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2024 Google, Inc. and others. + * Copyright (c) 2011, 2026 Google, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -424,7 +424,9 @@ public static SortedSet getAllPluginLibraries() { symbolicNames.add("org.eclipse.jface"); symbolicNames.add("org.eclipse.jface.text"); symbolicNames.add("org.eclipse.ui.workbench"); - symbolicNames.add("com.ibm.icu"); + if (EnvironmentUtils.isICU4JEnabled()) { + symbolicNames.add("com.ibm.icu"); + } symbolicNames.add("org.eclipse.ui.forms"); // SWT String pluginId = "org.eclipse.swt." + SWT.getPlatform() + "." + Platform.getOS(); diff --git a/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/EnvironmentUtils.java b/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/EnvironmentUtils.java index 8e56dd966..2f5c461ea 100644 --- a/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/EnvironmentUtils.java +++ b/org.eclipse.wb.core/src/org/eclipse/wb/internal/core/EnvironmentUtils.java @@ -12,6 +12,7 @@ *******************************************************************************/ package org.eclipse.wb.internal.core; +import org.eclipse.core.runtime.Platform; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.apache.commons.lang3.SystemUtils; @@ -196,4 +197,13 @@ public static boolean isGefPalette() { public static boolean isBurningWaveEnabled() { return Boolean.valueOf(System.getProperty(WBP_BURNINGWAVE, Boolean.FALSE.toString())); } + + private static final boolean IS_ICU4J_ENABLED = Platform.getBundle("com.ibm.icu") != null; + + /** + * ICU4J was removed as a platform dependency with the 2026-09 release. + */ + public static boolean isICU4JEnabled() { + return IS_ICU4J_ENABLED; + } } diff --git a/org.eclipse.wb.rcp/META-INF/MANIFEST.MF b/org.eclipse.wb.rcp/META-INF/MANIFEST.MF index 34632c434..e5e643693 100644 --- a/org.eclipse.wb.rcp/META-INF/MANIFEST.MF +++ b/org.eclipse.wb.rcp/META-INF/MANIFEST.MF @@ -93,7 +93,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.31.100,4.0.0)", org.eclipse.ui;bundle-version="[3.206.0,4.0.0)", org.eclipse.ui.forms;bundle-version="[3.13.300,4.0.0)", org.eclipse.search;bundle-version="[3.16.200,4.0.0)", - org.eclipse.wb.core;bundle-version="[1.21.0,2.0.0)", + org.eclipse.wb.core;bundle-version="[1.25.0,2.0.0)", org.eclipse.wb.core.ui;bundle-version="[1.10.800,2.0.0)", org.eclipse.wb.core.java;bundle-version="[1.15.0,2.0.0)", org.eclipse.wb.swt;bundle-version="[1.10.100,2.0.0)", diff --git a/org.eclipse.wb.rcp/src/org/eclipse/wb/internal/rcp/parser/ParseFactory.java b/org.eclipse.wb.rcp/src/org/eclipse/wb/internal/rcp/parser/ParseFactory.java index dc8d9ad52..b82cb48b4 100644 --- a/org.eclipse.wb.rcp/src/org/eclipse/wb/internal/rcp/parser/ParseFactory.java +++ b/org.eclipse.wb.rcp/src/org/eclipse/wb/internal/rcp/parser/ParseFactory.java @@ -18,6 +18,7 @@ import org.eclipse.wb.core.model.JavaInfo; import org.eclipse.wb.core.model.ObjectInfoUtils; import org.eclipse.wb.core.model.association.ConstructorParentAssociation; +import org.eclipse.wb.internal.core.EnvironmentUtils; import org.eclipse.wb.internal.core.model.JavaInfoUtils; import org.eclipse.wb.internal.core.model.creation.ConstructorCreationSupport; import org.eclipse.wb.internal.core.model.creation.CreationSupport; @@ -512,7 +513,9 @@ protected IParseRealm getRealm() { @Override protected void initializeClassLoader_parent(AstEditor editor, CompositeClassLoader parentClassLoader) throws Exception { - parentClassLoader.add(new BundleClassLoader("com.ibm.icu"), List.of("com.ibm.icu.")); + if (EnvironmentUtils.isICU4JEnabled()) { + parentClassLoader.add(new BundleClassLoader("com.ibm.icu"), List.of("com.ibm.icu.")); + } parentClassLoader.add(new BundleClassLoader("org.eclipse.ui"), null); parentClassLoader.add(new BundleClassLoader("org.eclipse.ui.forms"), null); parentClassLoader.add(new BundleClassLoader("org.eclipse.jdt.ui"), null); diff --git a/org.eclipse.wb.tests/META-INF/MANIFEST.MF b/org.eclipse.wb.tests/META-INF/MANIFEST.MF index aa51c0807..bdfa7433f 100644 --- a/org.eclipse.wb.tests/META-INF/MANIFEST.MF +++ b/org.eclipse.wb.tests/META-INF/MANIFEST.MF @@ -28,7 +28,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.31.100,4.0.0)", org.eclipse.nebula.widgets.grid;bundle-version="[1.1.1,2.0.0)", org.eclipse.nebula.widgets.pshelf;bundle-version="[1.1.0,2.0.0)", org.eclipse.swtbot.eclipse.finder;bundle-version="[4.2.0,5.0.0)", - org.eclipse.wb.core;bundle-version="[1.22.0,2.0.0)", + org.eclipse.wb.core;bundle-version="[1.25.0,2.0.0)", org.eclipse.wb.core.java;bundle-version="[1.13.100,2.0.0)", org.eclipse.wb.swing;bundle-version="[1.10.200,2.0.0)", org.eclipse.wb.swing.FormLayout;bundle-version="[1.12.100,2.0.0)", diff --git a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/databinding/rcp/DatabindingTestUtils.java b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/databinding/rcp/DatabindingTestUtils.java index f96bf42c0..5c197275b 100644 --- a/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/databinding/rcp/DatabindingTestUtils.java +++ b/org.eclipse.wb.tests/src/org/eclipse/wb/tests/designer/databinding/rcp/DatabindingTestUtils.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2023 Google, Inc. + * Copyright (c) 2011, 2026 Google, Inc. and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at @@ -12,6 +12,7 @@ *******************************************************************************/ package org.eclipse.wb.tests.designer.databinding.rcp; +import org.eclipse.wb.internal.core.EnvironmentUtils; import org.eclipse.wb.internal.swt.model.widgets.CompositeInfo; import org.eclipse.wb.tests.designer.core.TestProject; import org.eclipse.wb.tests.designer.core.model.parser.AbstractJavaInfoTest; @@ -28,7 +29,9 @@ public class DatabindingTestUtils { */ public static void configure(TestProject testProject) throws Exception { BTestUtils.configure(testProject); - testProject.addPlugin("com.ibm.icu"); + if (EnvironmentUtils.isICU4JEnabled()) { + testProject.addPlugin("com.ibm.icu"); + } testProject.addPlugin("org.eclipse.core.databinding"); testProject.addPlugin("org.eclipse.core.databinding.beans"); testProject.addPlugin("org.eclipse.core.databinding.observable");