From f0f97f29e95ef03832aecc1284d92bc0e2703c09 Mon Sep 17 00:00:00 2001
From: TruongQuangSB <131350493+TruongQuangSB@users.noreply.github.com>
Date: Fri, 6 Nov 2026 16:16:49 +0100
Subject: [PATCH 1/3] move cef.win32 to browser.lib
---
.github/workflows/ci.yml | 4 +-
.../.classpath | 12 --
.../.gitignore | 1 -
.../.project | 28 -----
.../org.eclipse.core.resources.prefs | 2 -
.../.settings/org.eclipse.jdt.core.prefs | 104 ------------------
.../META-INF/MANIFEST.MF | 16 ---
.../build.properties | 4 -
.../res/.gitkeep | 0
.../META-INF/MANIFEST.MF | 7 +-
.../set/browser/cef/win32/CEFResource.java | 61 ++++++----
.../META-INF/MANIFEST.MF | 3 +-
12 files changed, 46 insertions(+), 196 deletions(-)
delete mode 100644 java/org.eclipse.set.browser.cef.win32/.classpath
delete mode 100644 java/org.eclipse.set.browser.cef.win32/.gitignore
delete mode 100644 java/org.eclipse.set.browser.cef.win32/.project
delete mode 100644 java/org.eclipse.set.browser.cef.win32/.settings/org.eclipse.core.resources.prefs
delete mode 100644 java/org.eclipse.set.browser.cef.win32/.settings/org.eclipse.jdt.core.prefs
delete mode 100644 java/org.eclipse.set.browser.cef.win32/META-INF/MANIFEST.MF
delete mode 100644 java/org.eclipse.set.browser.cef.win32/build.properties
delete mode 100644 java/org.eclipse.set.browser.cef.win32/res/.gitkeep
rename java/{org.eclipse.set.browser.cef.win32 => org.eclipse.set.browser.lib}/src/org/eclipse/set/browser/cef/win32/CEFResource.java (61%)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f31f0adc..7c9d056d 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -107,8 +107,8 @@ jobs:
tar xf cef.tar.bz2 $VERSION/LICENSE.txt $VERSION/Resources --strip-components 1
tar xf cef.tar.bz2 $VERSION/Release/libcef.lib --strip-components 2
tar xf cef.tar.bz2 --wildcards $VERSION/Release/*.dll --wildcards $VERSION/Release/*.bin --strip-components 2
- cp -r *.dll *.bin Resources/* LICENSE.txt ../../java/org.eclipse.set.browser.cef.win32/res/cef
- ls -avl ../../java/org.eclipse.set.browser.cef.win32/res/cef
+ cp -r *.dll *.bin Resources/* LICENSE.txt ../../java/org.eclipse.set.browser.lib/res
+ ls -avl ../../java/org.eclipse.set.browser.lib/res
working-directory: cef/Release
- name: Fetch Rust binaries
diff --git a/java/org.eclipse.set.browser.cef.win32/.classpath b/java/org.eclipse.set.browser.cef.win32/.classpath
deleted file mode 100644
index 3dcb47a4..00000000
--- a/java/org.eclipse.set.browser.cef.win32/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/java/org.eclipse.set.browser.cef.win32/.gitignore b/java/org.eclipse.set.browser.cef.win32/.gitignore
deleted file mode 100644
index b238c3de..00000000
--- a/java/org.eclipse.set.browser.cef.win32/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-res/cef
\ No newline at end of file
diff --git a/java/org.eclipse.set.browser.cef.win32/.project b/java/org.eclipse.set.browser.cef.win32/.project
deleted file mode 100644
index a102d691..00000000
--- a/java/org.eclipse.set.browser.cef.win32/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
- org.eclipse.set.browser.cef.win32
-
-
-
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
- org.eclipse.jdt.core.javanature
-
-
diff --git a/java/org.eclipse.set.browser.cef.win32/.settings/org.eclipse.core.resources.prefs b/java/org.eclipse.set.browser.cef.win32/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c02..00000000
--- a/java/org.eclipse.set.browser.cef.win32/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/java/org.eclipse.set.browser.cef.win32/.settings/org.eclipse.jdt.core.prefs b/java/org.eclipse.set.browser.cef.win32/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 0d006fe4..00000000
--- a/java/org.eclipse.set.browser.cef.win32/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,104 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.builder.annotationPath.allLocations=disabled
-org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled
-org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
-org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
-org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
-org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
-org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
-org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
-org.eclipse.jdt.core.compiler.problem.APILeak=warning
-org.eclipse.jdt.core.compiler.problem.annotatedTypeArgumentToUnannotated=info
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.autoboxing=warning
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=ignore
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
-org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
-org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
-org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
-org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=warning
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=warning
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=enabled
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
-org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
-org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
-org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
diff --git a/java/org.eclipse.set.browser.cef.win32/META-INF/MANIFEST.MF b/java/org.eclipse.set.browser.cef.win32/META-INF/MANIFEST.MF
deleted file mode 100644
index 337ae7b3..00000000
--- a/java/org.eclipse.set.browser.cef.win32/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Chromium Binaries
-Bundle-SymbolicName: org.eclipse.set.browser.cef.win32;singleton:=true
-Bundle-Version: 2.8.0.qualifier
-Automatic-Module-Name: org.eclipse.set.browser.win32
-Bundle-RequiredExecutionEnvironment: JavaSE-21
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.swt
-Import-Package:
- org.eclipse.swt.internal,
- org.osgi.framework
-Bundle-ClassPath: .
-Bundle-Vendor: Eclipse Signalling Engineering Toolbox
-Export-Package: org.eclipse.set.browser.cef.win32
-Eclipse-BundleShape: dir
diff --git a/java/org.eclipse.set.browser.cef.win32/build.properties b/java/org.eclipse.set.browser.cef.win32/build.properties
deleted file mode 100644
index 13156e27..00000000
--- a/java/org.eclipse.set.browser.cef.win32/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/, res/
-output.. = bin/
-bin.includes = META-INF/,\
- .
diff --git a/java/org.eclipse.set.browser.cef.win32/res/.gitkeep b/java/org.eclipse.set.browser.cef.win32/res/.gitkeep
deleted file mode 100644
index e69de29b..00000000
diff --git a/java/org.eclipse.set.browser.lib/META-INF/MANIFEST.MF b/java/org.eclipse.set.browser.lib/META-INF/MANIFEST.MF
index f2483357..56a94d09 100644
--- a/java/org.eclipse.set.browser.lib/META-INF/MANIFEST.MF
+++ b/java/org.eclipse.set.browser.lib/META-INF/MANIFEST.MF
@@ -6,13 +6,14 @@ Bundle-Version: 2.8.0.qualifier
Automatic-Module-Name: org.eclipse.set.browser.bin
Bundle-RequiredExecutionEnvironment: JavaSE-21
Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.swt,
- org.eclipse.set.browser.cef.win32
+ org.eclipse.swt
Import-Package:
org.apache.commons.io,
org.eclipse.swt.internal,
org.osgi.framework
-Export-Package: org.eclipse.set.browser.lib
+Export-Package: org.eclipse.set.browser.cef.win32,
+ org.eclipse.set.browser.lib
Bundle-ClassPath: res/,
.
Bundle-Vendor: Eclipse Signalling Engineering Toolbox
+Eclipse-BundleShape: dir
diff --git a/java/org.eclipse.set.browser.cef.win32/src/org/eclipse/set/browser/cef/win32/CEFResource.java b/java/org.eclipse.set.browser.lib/src/org/eclipse/set/browser/cef/win32/CEFResource.java
similarity index 61%
rename from java/org.eclipse.set.browser.cef.win32/src/org/eclipse/set/browser/cef/win32/CEFResource.java
rename to java/org.eclipse.set.browser.lib/src/org/eclipse/set/browser/cef/win32/CEFResource.java
index bd633efe..98718a8a 100644
--- a/java/org.eclipse.set.browser.cef.win32/src/org/eclipse/set/browser/cef/win32/CEFResource.java
+++ b/java/org.eclipse.set.browser.lib/src/org/eclipse/set/browser/cef/win32/CEFResource.java
@@ -31,61 +31,78 @@
public class CEFResource {
private static boolean hasBeenExtracted = false;
- private static Path getTempPathForExtraction() {
- return Paths.get(System.getenv("APPDATA"), "Eclipse SET", "cef", "dev", "extracted").toAbsolutePath();
- }
-
/**
* @return the path to the extracted CEF files
*/
public static Path getPath() {
- final Bundle bundle = FrameworkUtil.getBundle(CEFResource.class.getClassLoader()).orElseThrow();
- Path bundleLocation = FileLocator.getBundleFileLocation(bundle).orElseThrow().toPath().toAbsolutePath();
- if (Files.isDirectory(bundleLocation))
- return bundleLocation.resolve("cef");
+ final Bundle bundle = FrameworkUtil
+ .getBundle(CEFResource.class.getClassLoader())
+ .orElseThrow();
+ final Path bundleLocation = FileLocator.getBundleFileLocation(bundle)
+ .orElseThrow()
+ .toPath()
+ .toAbsolutePath();
+ if (Files.isDirectory(bundleLocation)) {
+ return bundleLocation.resolve("res");
+ }
- // Due to a M2E limitation, Eclipse-BundleShape is not respected when working
- // with a maven dependency from within Eclipse (Tycho handles this correctly for
- // production builds). For development, instead extract the jar to a temporary
+ // Due to a M2E limitation, Eclipse-BundleShape is not respected when
+ // working
+ // with a maven dependency from within Eclipse (Tycho handles this
+ // correctly for
+ // production builds). For development, instead extract the jar to a
+ // temporary
// path, once per execution
- Path tempPath = getTempPathForExtraction();
+ final Path tempPath = getTempPathForExtraction();
if (hasBeenExtracted) {
- return tempPath.resolve("cef");
+ return tempPath.resolve("res");
}
hasBeenExtracted = true;
try (Stream files = Files.walk(tempPath)) {
- files.sorted(Comparator.reverseOrder()).map(Path::toFile).forEach(File::delete);
- } catch (IOException e) {
+ files.sorted(Comparator.reverseOrder())
+ .map(Path::toFile)
+ .forEach(File::delete);
+ } catch (final IOException e) {
// ignore
}
try (JarFile jar = new JarFile(bundleLocation.toString())) {
// Create directories
Enumeration entries = jar.entries();
while (entries.hasMoreElements()) {
- JarEntry entry = entries.nextElement();
+ final JarEntry entry = entries.nextElement();
if (entry.isDirectory()) {
- new File(tempPath.resolve(entry.getName()).toString()).mkdirs();
+ new File(tempPath.resolve(entry.getName()).toString())
+ .mkdirs();
}
}
// Write files
entries = jar.entries();
while (entries.hasMoreElements()) {
- JarEntry entry = entries.nextElement();
+ final JarEntry entry = entries.nextElement();
if (!entry.isDirectory()) {
- File file = new File(tempPath.resolve(entry.getName()).toString());
- try (InputStream is = jar.getInputStream(entry); FileOutputStream os = new FileOutputStream(file)) {
+ final File file = new File(
+ tempPath.resolve(entry.getName()).toString());
+ try (InputStream is = jar.getInputStream(entry);
+ FileOutputStream os = new FileOutputStream(file)) {
is.transferTo(os);
}
}
}
- return tempPath.resolve("cef");
- } catch (IOException e) {
+ return tempPath.resolve("res");
+ } catch (final IOException e) {
// ignore
}
return null;
}
+
+ private static Path getTempPathForExtraction() {
+ return Paths
+ .get(System.getenv("APPDATA"), "Eclipse SET", "cef", "dev",
+ "extracted")
+ .toAbsolutePath();
+ }
}
diff --git a/java/org.eclipse.set.browser/META-INF/MANIFEST.MF b/java/org.eclipse.set.browser/META-INF/MANIFEST.MF
index 7f56c5f9..5caf6391 100644
--- a/java/org.eclipse.set.browser/META-INF/MANIFEST.MF
+++ b/java/org.eclipse.set.browser/META-INF/MANIFEST.MF
@@ -6,8 +6,7 @@ Bundle-Version: 2.8.0.qualifier
Automatic-Module-Name: org.eclipse.set.browser
Bundle-RequiredExecutionEnvironment: JavaSE-21
Require-Bundle: org.eclipse.swt,
- org.eclipse.set.browser.lib,
- org.eclipse.set.browser.cef.win32
+ org.eclipse.set.browser.lib
Bundle-ClassPath: .
Export-Package: org.eclipse.set.browser,
org.eclipse.set.browser.cef,
From 5d4333837033100687ee94a59590ab59da2f2059 Mon Sep 17 00:00:00 2001
From: TruongQuangSB <131350493+TruongQuangSB@users.noreply.github.com>
Date: Fri, 6 Nov 2026 16:19:18 +0100
Subject: [PATCH 2/3] Update pom.xml
---
java/pom.xml | 1 -
1 file changed, 1 deletion(-)
diff --git a/java/pom.xml b/java/pom.xml
index a46cb47d..4228e034 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -17,7 +17,6 @@
org.eclipse.set.browser
org.eclipse.set.browser.lib
- org.eclipse.set.browser.cef.win32
org.eclipse.set.browser.releng.target
From 8b9d0b309be004c8cd263dbc18740a650ab27216 Mon Sep 17 00:00:00 2001
From: TruongQuangSB <131350493+TruongQuangSB@users.noreply.github.com>
Date: Fri, 6 Nov 2026 17:04:15 +0100
Subject: [PATCH 3/3] Update ci.yml
---
.github/workflows/ci.yml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 7c9d056d..3ebf1b74 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -116,6 +116,10 @@ jobs:
with:
name: chromium-swt-libs
path: java/org.eclipse.set.browser.lib/res/
+
+ - name: Copy CEF
+ run: |
+ cp -a java/org.eclipse.set.browser.cef.win32/res/cef/. java/org.eclipse.set.browser.lib/res/
- name: Build
working-directory: java