diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.project b/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.project
deleted file mode 100644
index c1e1847f4ef..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
- org.eclipse.core.filesystem.linux.aarch64
-
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
-
-
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.settings/org.eclipse.core.resources.prefs b/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.settings/org.eclipse.core.runtime.prefs b/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a7..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/META-INF/MANIFEST.MF b/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/META-INF/MANIFEST.MF
deleted file mode 100644
index 01b15598fab..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.core.filesystem.linux.aarch64;singleton:=true
-Bundle-Version: 1.4.200.qualifier
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)"
-Bundle-Localization: fragment
-Eclipse-PlatformFilter: (& (osgi.os=linux) (osgi.arch=aarch64))
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/about.html b/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/about.html
deleted file mode 100644
index 164f781a8fd..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-About
-
-
- About This Content
-
- November 30, 2017
- License
-
-
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at http://www.eclipse.org/legal/epl-2.0.
- For purposes of the EPL, "Program" will mean the Content.
-
-
-
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at http://www.eclipse.org.
-
-
-
-
\ No newline at end of file
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/build.properties b/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/build.properties
deleted file mode 100644
index ef62db2e802..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
- about.html,\
- os/,\
- fragment.properties
-src.includes = about.html
-generateSourceBundle=false
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/fragment.properties b/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/fragment.properties
deleted file mode 100644
index bd28b5c9cd2..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/fragment.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-fragmentName = Core File System for Linux Aarch64 bit
-providerName = Eclipse.org
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/os/linux/aarch64/libunixfile_1_0_0.so b/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/os/linux/aarch64/libunixfile_1_0_0.so
deleted file mode 100755
index 0024dc1477c..00000000000
Binary files a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/os/linux/aarch64/libunixfile_1_0_0.so and /dev/null differ
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/pom.xml b/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/pom.xml
deleted file mode 100644
index b4433e2e830..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.aarch64/pom.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
- 4.0.0
-
- org.eclipse.platform
- eclipse.platform.resources
- 4.42.0-SNAPSHOT
- ../../
-
- org.eclipse.core.filesystem.linux.aarch64
- 1.4.200-SNAPSHOT
- eclipse-plugin
-
-
- true
- true
-
-
-
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.project b/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.project
deleted file mode 100644
index f0f504d1ddc..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
- org.eclipse.core.filesystem.linux.loongarch64
-
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
-
-
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.settings/org.eclipse.core.resources.prefs b/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.settings/org.eclipse.core.runtime.prefs b/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a7..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/META-INF/MANIFEST.MF b/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/META-INF/MANIFEST.MF
deleted file mode 100644
index 426347d06c0..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.core.filesystem.linux.loongarch64;singleton:=true
-Bundle-Version: 1.4.200.qualifier
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)"
-Bundle-Localization: fragment
-Eclipse-PlatformFilter: (& (osgi.os=linux) (osgi.arch=loongarch64))
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/about.html b/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/about.html
deleted file mode 100644
index 164f781a8fd..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-About
-
-
- About This Content
-
- November 30, 2017
- License
-
-
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at http://www.eclipse.org/legal/epl-2.0.
- For purposes of the EPL, "Program" will mean the Content.
-
-
-
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at http://www.eclipse.org.
-
-
-
-
\ No newline at end of file
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/build.properties b/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/build.properties
deleted file mode 100644
index f4b485d1368..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2022 Loongson Technology Co.Ltd and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Loongson Technology Co.Ltd - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
- about.html,\
- os/,\
- fragment.properties
-src.includes = about.html
-generateSourceBundle=false
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/fragment.properties b/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/fragment.properties
deleted file mode 100644
index f2b43db49db..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/fragment.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2022 Loongson Technology Co.Ltd and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# Loongson Technology Co.Ltd - initial API and implementation
-###############################################################################
-fragmentName = Core File System for Linux LoongArch64 bit
-providerName = Eclipse.org
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/os/linux/loongarch64/libunixfile_1_0_0.so b/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/os/linux/loongarch64/libunixfile_1_0_0.so
deleted file mode 100755
index 6bb6746a381..00000000000
Binary files a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/os/linux/loongarch64/libunixfile_1_0_0.so and /dev/null differ
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/pom.xml b/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/pom.xml
deleted file mode 100644
index 8d0e13015db..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
- 4.0.0
-
- org.eclipse.platform
- eclipse.platform.resources
- 4.42.0-SNAPSHOT
- ../../
-
- org.eclipse.core.filesystem.linux.loongarch64
- 1.4.200-SNAPSHOT
- eclipse-plugin
-
-
- true
-
-
-
-
-
-
- org.eclipse.tycho
- target-platform-configuration
-
-
-
- linux
- gtk
- loongarch64
-
-
-
-
-
-
-
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.project b/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.project
deleted file mode 100644
index 5d122d3db83..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
- org.eclipse.core.filesystem.linux.ppc64le
-
-
-
-
-
- org.eclipse.pde.ManifestBuilder
-
-
-
-
- org.eclipse.pde.SchemaBuilder
-
-
-
-
-
- org.eclipse.pde.PluginNature
-
-
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.settings/org.eclipse.core.resources.prefs b/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.settings/org.eclipse.core.runtime.prefs b/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a7..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/META-INF/MANIFEST.MF b/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/META-INF/MANIFEST.MF
deleted file mode 100644
index 1a145170eb3..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.core.filesystem.linux.ppc64le;singleton:=true
-Bundle-Version: 1.4.200.qualifier
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.1.0,2.0.0)"
-Bundle-Localization: fragment
-Eclipse-PlatformFilter: (& (osgi.os=linux) (osgi.arch=ppc64le))
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/about.html b/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/about.html
deleted file mode 100644
index 164f781a8fd..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-About
-
-
- About This Content
-
- November 30, 2017
- License
-
-
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at http://www.eclipse.org/legal/epl-2.0.
- For purposes of the EPL, "Program" will mean the Content.
-
-
-
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at http://www.eclipse.org.
-
-
-
-
\ No newline at end of file
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/build.properties b/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/build.properties
deleted file mode 100644
index ef62db2e802..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/build.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = META-INF/,\
- about.html,\
- os/,\
- fragment.properties
-src.includes = about.html
-generateSourceBundle=false
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/fragment.properties b/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/fragment.properties
deleted file mode 100644
index cef8e03e7ee..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/fragment.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2014 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-fragmentName = Core File System for Linux PPC 64 LE bit
-providerName = Eclipse.org
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/os/linux/ppc64le/libunixfile_1_0_0.so b/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/os/linux/ppc64le/libunixfile_1_0_0.so
deleted file mode 100644
index 7d0ef31b370..00000000000
Binary files a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/os/linux/ppc64le/libunixfile_1_0_0.so and /dev/null differ
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/pom.xml b/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/pom.xml
deleted file mode 100644
index c2588c81de3..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/pom.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- 4.0.0
-
- org.eclipse.platform
- eclipse.platform.resources
- 4.42.0-SNAPSHOT
- ../../
-
- org.eclipse.core.filesystem.linux.ppc64le
- 1.4.200-SNAPSHOT
- eclipse-plugin
-
-
- true
-
-
-
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/META-INF/MANIFEST.MF b/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/META-INF/MANIFEST.MF
index c87b4505a56..6931428e8f8 100644
--- a/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/META-INF/MANIFEST.MF
+++ b/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %fragmentName
Bundle-SymbolicName: org.eclipse.core.filesystem.linux.x86_64; singleton:=true
-Bundle-Version: 1.2.500.qualifier
+Bundle-Version: 1.2.600.qualifier
Bundle-Vendor: %providerName
Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.11.500,2.0.0)"
Bundle-Localization: fragment
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/os/linux/x86_64/libunixfile_1_0_0.so b/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/os/linux/x86_64/libunixfile_1_0_0.so
deleted file mode 100755
index 9067085dfac..00000000000
Binary files a/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/os/linux/x86_64/libunixfile_1_0_0.so and /dev/null differ
diff --git a/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/pom.xml b/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/pom.xml
index c44e07f8d4b..656c1f67019 100644
--- a/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/pom.xml
+++ b/resources/bundles/org.eclipse.core.filesystem.linux.x86_64/pom.xml
@@ -18,7 +18,7 @@
../../
org.eclipse.core.filesystem.linux.x86_64
- 1.2.500-SNAPSHOT
+ 1.2.600-SNAPSHOT
eclipse-plugin
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/.project b/resources/bundles/org.eclipse.core.filesystem.macosx/.project
deleted file mode 100644
index 5c876866e22..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.macosx/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- org.eclipse.core.filesystem.macosx
-
-
-
-
-
-
-
-
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/.settings/org.eclipse.core.resources.prefs b/resources/bundles/org.eclipse.core.filesystem.macosx/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 99f26c0203a..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.macosx/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-encoding/=UTF-8
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/.settings/org.eclipse.core.runtime.prefs b/resources/bundles/org.eclipse.core.filesystem.macosx/.settings/org.eclipse.core.runtime.prefs
deleted file mode 100644
index 5a0ad22d2a7..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.macosx/.settings/org.eclipse.core.runtime.prefs
+++ /dev/null
@@ -1,2 +0,0 @@
-eclipse.preferences.version=1
-line.separator=\n
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/BUILD_INFO.txt b/resources/bundles/org.eclipse.core.filesystem.macosx/BUILD_INFO.txt
deleted file mode 100644
index d29a88b56d2..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.macosx/BUILD_INFO.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Native Build Info:
-------------------
-
-Platform: Jenkins Mac slave (b9h15-macos10.15)
-OS Name: macOS
-OS Version: 10.15.7
-Compiler version: Apple clang version 12.0.0
-Java version: jdk1.8.0_192
-Architecture: x86_64 and arm64 (universal binary)
\ No newline at end of file
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/META-INF/MANIFEST.MF b/resources/bundles/org.eclipse.core.filesystem.macosx/META-INF/MANIFEST.MF
deleted file mode 100644
index 1ea5e76d603..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.macosx/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentName
-Bundle-SymbolicName: org.eclipse.core.filesystem.macosx; singleton:=true
-Bundle-Version: 1.3.400.qualifier
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.core.filesystem;bundle-version="[1.7.200,2.0.0)"
-Bundle-Localization: fragment
-Eclipse-PlatformFilter: (& (osgi.os=macosx) (|(osgi.arch=x86_64)(osgi.arch=aarch64)) )
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/about.html b/resources/bundles/org.eclipse.core.filesystem.macosx/about.html
deleted file mode 100644
index 164f781a8fd..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.macosx/about.html
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-About
-
-
- About This Content
-
- November 30, 2017
- License
-
-
- The Eclipse Foundation makes available all content in this plug-in
- ("Content"). Unless otherwise indicated below, the Content
- is provided to you under the terms and conditions of the Eclipse
- Public License Version 2.0 ("EPL"). A copy of the EPL is
- available at http://www.eclipse.org/legal/epl-2.0.
- For purposes of the EPL, "Program" will mean the Content.
-
-
-
- If you did not receive this Content directly from the Eclipse
- Foundation, the Content is being redistributed by another party
- ("Redistributor") and different terms and conditions may
- apply to your use of any object code in the Content. Check the
- Redistributor's license that was provided with the Content. If no such
- license exists, contact the Redistributor. Unless otherwise indicated
- below, the terms and conditions of the EPL still apply to any source
- code in the Content and such source code may be obtained at http://www.eclipse.org.
-
-
-
-
\ No newline at end of file
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/build.properties b/resources/bundles/org.eclipse.core.filesystem.macosx/build.properties
deleted file mode 100644
index 1f31a571591..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.macosx/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2007 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = os/,\
- fragment.properties,\
- .,\
- META-INF/,\
- about.html
-src.includes = about.html
-generateSourceBundle=false
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/fragment.properties b/resources/bundles/org.eclipse.core.filesystem.macosx/fragment.properties
deleted file mode 100644
index 832993c6a65..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.macosx/fragment.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2005, 2006 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-fragmentName = Core File System for Macintosh
-providerName = Eclipse.org
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/os/macosx/libunixfile_1_0_0.jnilib b/resources/bundles/org.eclipse.core.filesystem.macosx/os/macosx/libunixfile_1_0_0.jnilib
deleted file mode 100644
index 5a9647b7029..00000000000
Binary files a/resources/bundles/org.eclipse.core.filesystem.macosx/os/macosx/libunixfile_1_0_0.jnilib and /dev/null differ
diff --git a/resources/bundles/org.eclipse.core.filesystem.macosx/pom.xml b/resources/bundles/org.eclipse.core.filesystem.macosx/pom.xml
deleted file mode 100644
index cb864c91d0a..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem.macosx/pom.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- 4.0.0
-
- eclipse.platform.resources
- org.eclipse.platform
- 4.42.0-SNAPSHOT
- ../../
-
- org.eclipse.core.filesystem.macosx
- 1.3.400-SNAPSHOT
- eclipse-plugin
-
-
- true
-
-
-
diff --git a/resources/bundles/org.eclipse.core.filesystem/META-INF/MANIFEST.MF b/resources/bundles/org.eclipse.core.filesystem/META-INF/MANIFEST.MF
index 070532a6598..5deeccf1075 100644
--- a/resources/bundles/org.eclipse.core.filesystem/META-INF/MANIFEST.MF
+++ b/resources/bundles/org.eclipse.core.filesystem/META-INF/MANIFEST.MF
@@ -8,8 +8,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.29.0,4.0.0)"
Export-Package: org.eclipse.core.filesystem;uses:="org.eclipse.core.runtime",
org.eclipse.core.filesystem.provider;uses:="org.eclipse.core.filesystem,org.eclipse.core.runtime",
org.eclipse.core.internal.filesystem;x-internal:=true,
- org.eclipse.core.internal.filesystem.local;x-internal:=true,
- org.eclipse.core.internal.filesystem.local.unix;x-internal:=true
+ org.eclipse.core.internal.filesystem.local;x-internal:=true
Bundle-Vendor: %providerName
Bundle-RequiredExecutionEnvironment: JavaSE-25
Bundle-ActivationPolicy: lazy
diff --git a/resources/bundles/org.eclipse.core.filesystem/natives/unix/README.TXT b/resources/bundles/org.eclipse.core.filesystem/natives/unix/README.TXT
index 08b5d604ee0..cbd8be823bc 100644
--- a/resources/bundles/org.eclipse.core.filesystem/natives/unix/README.TXT
+++ b/resources/bundles/org.eclipse.core.filesystem/natives/unix/README.TXT
@@ -2,12 +2,7 @@ This directory contains the source code for Unix-based platforms,
including Linux and Mac OS X. These platforms
all share the same C source, but have different makefiles.
-The macOS library in the macosx fragment is a Mach-O universal binary with
-2 architectures: [x86_64:Mach-O 64-bit bundle x86_64] [arm64:Mach-O 64-bit bundle arm64]
-XCode 12.2 or newer is required to build this.
-
Command to build the native library:
make -f Makefile clean install
Don't commit the library that was locally built on the developer machine.
-Use the Jenkins job to build the library, sign it and commit it to the repo.
diff --git a/resources/bundles/org.eclipse.core.filesystem/natives/unix/fastlinux/fastlinuxfile.c b/resources/bundles/org.eclipse.core.filesystem/natives/unix/fastlinux/fastlinuxfile.c
index 6bc4238134a..96d68f744f8 100644
--- a/resources/bundles/org.eclipse.core.filesystem/natives/unix/fastlinux/fastlinuxfile.c
+++ b/resources/bundles/org.eclipse.core.filesystem/natives/unix/fastlinux/fastlinuxfile.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
+ * Copyright (c) 2010, 2026 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -133,96 +133,6 @@ jint convertStatToObject(JNIEnv *env, struct stat info, int errnoValue, jobject
return 0;
}
-/*
- * Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
- * Method: chmod
- * Signature: ([BI)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives_chmod
- (JNIEnv *env, jclass clazz, jbyteArray path, jint mode)
-{
- int code;
- char *name;
-
- name = (char*) getByteArray(env, path);
- if (name == NULL) {
- return -1;
- }
- code = chmod(name, mode);
- free(name);
- return code;
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
- * Method: stat
- * Signature: ([BLorg/eclipse/core/internal/filesystem/local/linux/LinuxStructStat;)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives_stat
- (JNIEnv *env, jclass clazz, jbyteArray path, jobject buf)
-{
- jint code;
- char *name;
- struct stat info = {0};
-
- name = (char*) getByteArray(env, path);
- if (name == NULL) {
- return -1;
- }
- code = fstatat(AT_FDCWD, name, &info, 0);
- free(name);
- return convertStatToObject(env, info, code == 0 ? 0 : errno, buf);
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
- * Method: lstat
- * Signature: ([BLorg/eclipse/core/internal/filesystem/local/linux/LinuxStructStat;)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives_lstat
- (JNIEnv *env, jclass clazz, jbyteArray path, jobject buf)
-{
- jint code;
- char *name;
- struct stat info = {0};
-
- name = (char*) getByteArray(env, path);
- if (name == NULL) {
- return -1;
- }
- code = fstatat(AT_FDCWD, name, &info, AT_SYMLINK_NOFOLLOW);
- free(name);
- return convertStatToObject(env, info, code == 0 ? 0 : errno, buf);
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
- * Method: readlink
- * Signature: ([B[BJ)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives_readlink
- (JNIEnv *env, jclass clazz, jbyteArray path, jbyteArray buf, jlong bufsiz) {
- jbyte *name;
- int len;
- char temp[PATH_MAX+1];
-
- name = getByteArray(env, path);
- if (name == NULL) {
- return -1;
- }
- len = readlink((const char*)name, temp, PATH_MAX);
- free(name);
- if (len > 0) {
- temp[len] = 0;
- (*env)->SetByteArrayRegion(env, buf, 0, len, (jbyte*) temp);
- }
- else {
- temp[0] = 0;
- (*env)->SetByteArrayRegion(env, buf, 0, 0, (jbyte*) temp);
- }
- return len;
-}
-
/*
* Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
* Method: getflag
diff --git a/resources/bundles/org.eclipse.core.filesystem/natives/unix/fastlinux/fastlinuxfile.h b/resources/bundles/org.eclipse.core.filesystem/natives/unix/fastlinux/fastlinuxfile.h
index ab59f9e5e85..f528673e16e 100644
--- a/resources/bundles/org.eclipse.core.filesystem/natives/unix/fastlinux/fastlinuxfile.h
+++ b/resources/bundles/org.eclipse.core.filesystem/natives/unix/fastlinux/fastlinuxfile.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
+ * Copyright (c) 2010, 2026 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -43,38 +43,6 @@ extern "C" {
JNIEXPORT void JNICALL Java_org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives_initializeLinuxStructStatFieldIDs
(JNIEnv *, jclass);
-/*
- * Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
- * Method: chmod
- * Signature: ([BI)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives_chmod
- (JNIEnv *, jclass, jbyteArray, jint);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
- * Method: stat
- * Signature: ([BLorg/eclipse/core/internal/filesystem/local/linux/LinuxStructStat;)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives_stat
- (JNIEnv *, jclass, jbyteArray, jobject);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
- * Method: lstat
- * Signature: ([BLorg/eclipse/core/internal/filesystem/local/linux/LinuxStructStat;)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives_lstat
- (JNIEnv *, jclass, jbyteArray, jobject);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
- * Method: readlink
- * Signature: ([B[BJ)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives_readlink
- (JNIEnv *, jclass, jbyteArray, jbyteArray, jlong);
-
/*
* Class: org_eclipse_core_internal_filesystem_local_linux_LinuxFileNatives
* Method: getflag
diff --git a/resources/bundles/org.eclipse.core.filesystem/natives/unix/linux/Makefile b/resources/bundles/org.eclipse.core.filesystem/natives/unix/linux/Makefile
deleted file mode 100644
index 5fd8afa51a8..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem/natives/unix/linux/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-#******************************************************************************
-# Copyright (c) 2010 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-#******************************************************************************/
-#
-# makefile for libunixfile_1_0_0.so
-
-CORE.C = ../unixfile.c
-CORE.O = unixfile.o
-LIB_NAME = libunixfile.so
-LIB_NAME_FULL = libunixfile_1_0_0.so
-
-#Set this to be your OS type
-OS_TYPE = linux
-
-#Set this to be the location of your JRE
-ifeq (${JAVA_HOME},)
- JAVA_HOME = /usr/lib/jvm/java-1.5.0-ibm-1.5.0.9/
-endif
-
-JDK_INCLUDE = -I ${JAVA_HOME}/include -I ${JAVA_HOME}/include/${OS_TYPE}
-OPT_FLAGS=-O2 -g -s -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-
-core:
- gcc $(OPT_FLAGS) -fPIC -c $(JDK_INCLUDE) -o $(CORE.O) $(CORE.C)
- gcc $(OPT_FLAGS) -shared -Wl,-soname,$(LIB_NAME) -o $(LIB_NAME_FULL) $(CORE.O) -lc
-
-clean:
- rm -f $(CORE.O) $(LIB_NAME_FULL)
-
-install: core
- rm -f ../../../../org.eclipse.core.filesystem.linux.x86/os/linux/x86/libunixfile_1_0_0.so
- mv libunixfile_1_0_0.so ../../../../org.eclipse.core.filesystem.linux.x86/os/linux/x86/
diff --git a/resources/bundles/org.eclipse.core.filesystem/natives/unix/macosx/Makefile b/resources/bundles/org.eclipse.core.filesystem/natives/unix/macosx/Makefile
deleted file mode 100755
index e996bb6bd22..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem/natives/unix/macosx/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-#******************************************************************************
-# Copyright (c) 2010 IBM Corporation and others.
-#
-# This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License 2.0
-# which accompanies this distribution, and is available at
-# https://www.eclipse.org/legal/epl-2.0/
-#
-# SPDX-License-Identifier: EPL-2.0
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-#******************************************************************************/
-#
-# makefile for libunixfile_1_0_0.jnilib
-
-CORE.C=../unixfile.c
-LIB_NAME_FULL=libunixfile_1_0_0.jnilib
-
-JAVA_HOME=$(shell /usr/libexec/java_home)
-
-$(info JAVA_HOME is $(JAVA_HOME))
-
-JDK_INCLUDE=-I $(JAVA_HOME)/include -I $(JAVA_HOME)/include/darwin
-MACOSX_DEPLOYMENT_TARGET=10.10
-
-FRAMEWORKS=-framework CoreServices
-# define MACOSX to include Mac OS X specific code
-CC_FLAGS=-arch x86_64 -arch arm64 -mmacosx-version-min=10.10 -DMACOSX
-
-core:
- cc $(JDK_INCLUDE) $(CORE.C) -o $(LIB_NAME_FULL) -bundle $(FRAMEWORKS) $(CC_FLAGS)
-
-clean:
- rm -f $(LIB_NAME_FULL)
-
-install: core
- rm -f ../../../../org.eclipse.core.filesystem.macosx/os/macosx/$(LIB_NAME_FULL)
- mv $(LIB_NAME_FULL) ../../../../org.eclipse.core.filesystem.macosx/os/macosx/
diff --git a/resources/bundles/org.eclipse.core.filesystem/natives/unix/unixfile.c b/resources/bundles/org.eclipse.core.filesystem/natives/unix/unixfile.c
deleted file mode 100644
index a23a89aa67a..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem/natives/unix/unixfile.c
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-#if defined MACOSX
-#include
-#endif
-
-#include "unixfile.h"
-
-/* The lstat stat field st_mode. */
-static jfieldID attrs_st_mode;
-/* The lstat stat field st_size. */
-static jfieldID attrs_st_size;
-/* The lstat stat field st_mtime_sec. */
-static jfieldID attrs_st_mtime;
-/* The lstat stat field st_mtime_nsec divided by 1 000 000. Only filled on Linux based operating systems. */
-static jfieldID attrs_st_mtime_msec;
-/* Only filled on MACOSX. */
-static jfieldID attrs_st_flags;
-
-/*
- * Class: Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_initializeStructStatFieldIDs
- * Method: initializeStructStatFieldIDs
- * Signature: ()V
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_initializeStructStatFieldIDs
- (JNIEnv *env, jclass clazz)
-{
- jclass structStatClass = (*env)->FindClass(env, "org/eclipse/core/internal/filesystem/local/unix/StructStat");
-
- attrs_st_mode = (*env)->GetFieldID(env, structStatClass, "st_mode", "I");
- attrs_st_size = (*env)->GetFieldID(env, structStatClass, "st_size", "J");
- attrs_st_mtime = (*env)->GetFieldID(env, structStatClass, "st_mtime", "J");
-
-#ifdef MACOSX
- attrs_st_flags = (*env)->GetFieldID(env, structStatClass, "st_flags", "J");
-#endif
-
-#ifndef MACOSX
- attrs_st_mtime_msec = (*env)->GetFieldID(env, structStatClass, "st_mtime_msec", "J");
-#endif
-}
-
-/*
- * Get a null-terminated byte array from a java byte array. The returned bytearray
- * needs to be freed when not used anymore. Use free(result) to do that.
- */
-jbyte* getByteArray(JNIEnv *env, jbyteArray target)
-{
- unsigned int len;
- jbyte *temp, *result;
-
- temp = (*env)->GetByteArrayElements(env, target, 0);
- len = (*env)->GetArrayLength(env, target);
- result = malloc((len + 1) * sizeof(jbyte));
- memcpy(result, temp, len * sizeof(jbyte));
- result[len] = '\0';
- (*env)->ReleaseByteArrayElements(env, target, temp, 0);
- return result;
-}
-
-/*
- * Fills StructStat object with data from struct stat.
- */
-jint convertStatToObject(JNIEnv *env, struct stat info, jobject stat_object)
-{
- jclass cls;
- jfieldID fid;
- jboolean readOnly;
-
- cls = (*env)->GetObjectClass(env, stat_object);
- if (cls == 0) return -1;
-
- if (attrs_st_mode == 0) return -1;
- (*env)->SetIntField(env, stat_object, attrs_st_mode, info.st_mode);
-
- if (attrs_st_size == 0) return -1;
- (*env)->SetLongField(env, stat_object, attrs_st_size, info.st_size);
-
- if (attrs_st_mtime == 0) return -1;
- (*env)->SetLongField(env, stat_object, attrs_st_mtime, info.st_mtime);
-
-#ifndef MACOSX
- if (attrs_st_mtime_msec == 0) return -1;
- (*env)->SetLongField(env, stat_object, attrs_st_mtime_msec, (info.st_mtim.tv_nsec / (1000 * 1000)));
-#endif
-
-
-#ifdef MACOSX
- if (attrs_st_flags == 0) return -1;
- (*env)->SetLongField(env, stat_object, attrs_st_flags, info.st_flags);
-#endif
-
- return 0;
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: chmod
- * Signature: ([BI)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_chmod
- (JNIEnv *env, jclass clazz, jbyteArray path, jint mode)
-{
- int code;
- char *name;
-
- name = (char*) getByteArray(env, path);
- code = chmod(name, mode);
- free(name);
- return code;
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: chflags
- * Signature: ([BI)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_chflags
- (JNIEnv *env, jclass clazz, jbyteArray path, jint flags)
-{
-#ifdef MACOSX
- int code;
- char *name;
-
- name = (char*) getByteArray(env, path);
- code = chflags(name, flags);
- free(name);
- return code;
-#else
- return -1;
-#endif
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: stat
- * Signature: ([BLorg/eclipse/core/internal/filesystem/local/unix/StructStat;)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_stat
- (JNIEnv *env, jclass clazz, jbyteArray path, jobject buf)
-{
- jint code;
- char *name;
- struct stat info;
-
- name = (char*) getByteArray(env, path);
- code = stat(name, &info);
- free(name);
- if (code != -1)
- return convertStatToObject(env, info, buf);
- else
- return code;
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: lstat
- * Signature: ([BLorg/eclipse/core/internal/filesystem/local/unix/StructStat;)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_lstat
- (JNIEnv *env, jclass clazz, jbyteArray path, jobject buf)
-{
- jint code;
- char *name;
- struct stat info;
-
- name = (char*) getByteArray(env, path);
- code = lstat(name, &info);
- free(name);
- if (code != -1)
- return convertStatToObject(env, info, buf);
- else
- return code;
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: readlink
- * Signature: ([B[BJ)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_readlink
- (JNIEnv *env, jclass clazz, jbyteArray path, jbyteArray buf, jlong bufsiz) {
- jint code;
- jbyte *name;
- int len;
- char temp[PATH_MAX+1];
- jstring linkTarget = NULL;
-
- name = getByteArray(env, path);
- len = readlink((const char*)name, temp, PATH_MAX);
- free(name);
- if (len > 0) {
- temp[len] = 0;
- (*env)->SetByteArrayRegion(env, buf, 0, len, (jbyte*) temp);
- }
- else {
- temp[0] = 0;
- (*env)->SetByteArrayRegion(env, buf, 0, 0, (jbyte*) temp);
- }
- return len;
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: errno
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_errno
- (JNIEnv *env, jclass clazz)
-{
- return errno;
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: libattr
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_libattr
- (JNIEnv *env, jclass clazz)
-{
-#ifdef MACOSX
- return UNICODE_SUPPORTED | CHFLAGS_SUPPORTED;
-#else
- return 0;
-#endif
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: tounicode
- * Signature: ([C)[B
- */
-JNIEXPORT jbyteArray JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_tounicode
- (JNIEnv *env, jclass clazz, jcharArray buf)
-{
-#ifdef MACOSX
- jchar *temp;
- jsize length;
- CFStringRef str_ref;
- CFIndex str_size;
- jbyte *unicode_bytes;
- jbyteArray ret;
-
- temp = (*env)->GetCharArrayElements(env, buf, 0);
- length = (*env)->GetArrayLength(env, buf);
- str_ref = CFStringCreateWithCharacters(kCFAllocatorDefault, temp, length);
- str_size = CFStringGetMaximumSizeForEncoding(length, kCFStringEncodingUTF8) + 1;
- unicode_bytes = (jbyte*) calloc(str_size, sizeof(jbyte));
- CFStringGetCString(str_ref, (char*) unicode_bytes, str_size, kCFStringEncodingUTF8);
- ret = (*env)->NewByteArray(env, str_size);
- if (ret == NULL)
- return NULL;
- (*env)->SetByteArrayRegion(env, ret, 0, str_size, unicode_bytes);
- CFRelease(str_ref);
- (*env)->ReleaseCharArrayElements(env, buf, temp, 0);
- free(unicode_bytes);
- return ret;
-#else
- return NULL;
-#endif
-}
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: getflag
- * Signature: ([B)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_getflag
- (JNIEnv *env, jclass clazz, jbyteArray buf)
-{
- char *flag;
- jint ret = -1;
-
- flag = (char*) getByteArray(env, buf);
- if (strcmp(flag, "PATH_MAX") == 0)
- ret = PATH_MAX;
- else if (strcmp(flag, "S_IFMT") == 0)
- ret = S_IFMT;
- else if (strcmp(flag, "S_IFLNK") == 0)
- ret = S_IFLNK;
- else if (strcmp(flag, "S_IFDIR") == 0)
- ret = S_IFDIR;
- else if (strcmp(flag, "S_IRUSR") == 0)
- ret = S_IRUSR;
- else if (strcmp(flag, "S_IWUSR") == 0)
- ret = S_IWUSR;
- else if (strcmp(flag, "S_IXUSR") == 0)
- ret = S_IXUSR;
- else if (strcmp(flag, "S_IRGRP") == 0)
- ret = S_IRGRP;
- else if (strcmp(flag, "S_IWGRP") == 0)
- ret = S_IWGRP;
- else if (strcmp(flag, "S_IXGRP") == 0)
- ret = S_IXGRP;
- else if (strcmp(flag, "S_IROTH") == 0)
- ret = S_IROTH;
- else if (strcmp(flag, "S_IWOTH") == 0)
- ret = S_IWOTH;
- else if (strcmp(flag, "S_IXOTH") == 0)
- ret = S_IXOTH;
-#ifdef MACOSX
- else if (strcmp(flag, "UF_IMMUTABLE") == 0)
- ret = UF_IMMUTABLE;
- else if (strcmp(flag, "SF_IMMUTABLE") == 0)
- ret = SF_IMMUTABLE;
-#endif
- free(flag);
- return ret;
-}
diff --git a/resources/bundles/org.eclipse.core.filesystem/natives/unix/unixfile.h b/resources/bundles/org.eclipse.core.filesystem/natives/unix/unixfile.h
deleted file mode 100644
index 8fc4a836457..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem/natives/unix/unixfile.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-#include
-
-#undef UNICODE_SUPPORTED
-#define UNICODE_SUPPORTED 1L
-#undef CHFLAGS_SUPPORTED
-#define CHFLAGS_SUPPORTED 2L
-
-/*
- * Get a null-terminated byte array from a java byte array. The returned bytearray
- * needs to be freed when not used anymore. Use free(result) to do that.
- */
-jbyte* getByteArray(JNIEnv *, jbyteArray);
-
-/*
- * Fills StructStat object with data from struct stat.
- */
-jint convertStatToObject(JNIEnv *, struct stat, jobject);
-
-/* DO NOT EDIT THIS FILE - it is machine generated */
-
-/* Header for class org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives */
-
-#ifndef _Included_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
-#define _Included_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * Class: Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_initializeStructStatFieldIDs
- * Method: initializeStructStatFieldIDs
- * Signature: ()V
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_initializeStructStatFieldIDs
- (JNIEnv *env, jclass clazz);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: chmod
- * Signature: ([BI)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_chmod
- (JNIEnv *, jclass, jbyteArray, jint);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: chflags
- * Signature: ([BI)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_chflags
- (JNIEnv *, jclass, jbyteArray, jint);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: stat
- * Signature: ([BLorg/eclipse/core/internal/filesystem/local/unix/StructStat;)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_stat
- (JNIEnv *, jclass, jbyteArray, jobject);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: lstat
- * Signature: ([BLorg/eclipse/core/internal/filesystem/local/unix/StructStat;)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_lstat
- (JNIEnv *, jclass, jbyteArray, jobject);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: readlink
- * Signature: ([B[BJ)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_readlink
- (JNIEnv *, jclass, jbyteArray, jbyteArray, jlong);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: errno
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_errno
- (JNIEnv *, jclass);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: libattr
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_libattr
- (JNIEnv *, jclass);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: tounicode
- * Signature: ([C)[B
- */
-JNIEXPORT jbyteArray JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_tounicode
- (JNIEnv *, jclass, jcharArray);
-
-/*
- * Class: org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives
- * Method: getflag
- * Signature: ([B)I
- */
-JNIEXPORT jint JNICALL Java_org_eclipse_core_internal_filesystem_local_unix_UnixFileNatives_getflag
- (JNIEnv *, jclass, jbyteArray);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/LocalFileNativesManager.java b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/LocalFileNativesManager.java
index 8a9fe40831f..6fdd02ef667 100644
--- a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/LocalFileNativesManager.java
+++ b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/LocalFileNativesManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2016 IBM Corporation and others.
+ * Copyright (c) 2010, 2026 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -22,21 +22,11 @@
import org.eclipse.core.internal.filesystem.local.linux.LinuxFileNatives;
import org.eclipse.core.internal.filesystem.local.nio.DefaultHandler;
import org.eclipse.core.internal.filesystem.local.nio.PosixHandler;
-import org.eclipse.core.internal.filesystem.local.unix.UnixFileHandler;
-import org.eclipse.core.internal.filesystem.local.unix.UnixFileNatives;
import org.eclipse.core.runtime.Platform;
/**
* Dispatches methods backed by native code to the appropriate platform specific
- * implementation depending on a library provided by a fragment. Failing this it tries
- * to use Java 7 NIO/2 API's.
- *
- * Use of native libraries can be disabled by adding -Declipse.filesystem.useNatives=false
- * to VM arguments.
- *
- * Please notice that the native implementation is significantly faster than the non-native
- * one. The BenchFileStore test runs 3.1 times faster on Linux with the native code than
- * without it.
+ * implementation.
*/
public class LocalFileNativesManager {
public static final boolean PROPERTY_USE_NATIVE_DEFAULT = true;
@@ -67,9 +57,6 @@ public static boolean setUsingNative(boolean useNatives, boolean useFastLinuxNat
// Linux x86_64 architecture supports faster (bulk) file info fetching.
HANDLER = new LinuxFileHandler();
nativesAreUsed = true;
- } else if (useNatives && !Platform.OS.isWindows() && UnixFileNatives.isUsingNatives()) {
- HANDLER = new UnixFileHandler();
- nativesAreUsed = true;
} else {
nativesAreUsed = false;
Set views = FileSystems.getDefault().supportedFileAttributeViews();
diff --git a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/linux/LinuxFileHandler.java b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/linux/LinuxFileHandler.java
index d739286efcd..575d7aa91be 100644
--- a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/linux/LinuxFileHandler.java
+++ b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/linux/LinuxFileHandler.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2012, 2015 IBM Corporation and others.
+ * Copyright (c) 2012, 2026 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -16,24 +16,27 @@
import org.eclipse.core.filesystem.IFileInfo;
import org.eclipse.core.filesystem.provider.FileInfo;
import org.eclipse.core.internal.filesystem.local.NativeHandler;
+import org.eclipse.core.internal.filesystem.local.nio.PosixHandler;
/**
* Native handler that delegates to LinuxFileNatives
*/
public class LinuxFileHandler extends NativeHandler {
+ private final PosixHandler posixHandler = new PosixHandler();
+
@Override
public int getSupportedAttributes() {
- return LinuxFileNatives.getSupportedAttributes();
+ return posixHandler.getSupportedAttributes();
}
@Override
public FileInfo fetchFileInfo(String fileName) {
- return LinuxFileNatives.fetchFileInfo(fileName);
+ return posixHandler.fetchFileInfo(fileName);
}
@Override
public boolean putFileInfo(String fileName, IFileInfo info, int options) {
- return LinuxFileNatives.putFileInfo(fileName, info, options);
+ return posixHandler.putFileInfo(fileName, info, options);
}
@Override
diff --git a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/linux/LinuxFileNatives.java b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/linux/LinuxFileNatives.java
index a50462736e2..4843eef9bd4 100644
--- a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/linux/LinuxFileNatives.java
+++ b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/linux/LinuxFileNatives.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2010, 2017 IBM Corporation and others.
+ * Copyright (c) 2010, 2026 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -14,26 +14,11 @@
*******************************************************************************/
package org.eclipse.core.internal.filesystem.local.linux;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.PATH_MAX;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IFLNK;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IFMT;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IRGRP;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IROTH;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IRUSR;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IWGRP;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IWOTH;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IWUSR;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IXGRP;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IXOTH;
-import static org.eclipse.core.internal.filesystem.local.linux.LinuxFileFlags.S_IXUSR;
-
-import java.io.File;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Enumeration;
import org.eclipse.core.filesystem.EFS;
import org.eclipse.core.filesystem.IFileInfo;
-import org.eclipse.core.filesystem.provider.FileInfo;
import org.eclipse.core.internal.filesystem.FileSystemAccess;
import org.eclipse.core.internal.filesystem.Messages;
import org.eclipse.core.internal.filesystem.Policy;
@@ -111,91 +96,6 @@ public static IFileInfo[] listDirectoryAndGetFileInfos(String pathName) {
return infos;
}
- public static FileInfo fetchFileInfo(String fileName) {
- FileInfo info = null;
- byte[] name = fileNameToBytes(fileName);
- LinuxStructStat stat = new LinuxStructStat();
- if (lstat(name, stat) == 0 || stat.errno == ENOENT) { // lstat fills errno even on failure
- if (stat.errno == ENOENT) {
- // file does not exist
- info = new FileInfo();
- } else if ((stat.st_mode & S_IFMT) == S_IFLNK) { // it's a link!
- LinuxStructStat targetStat = new LinuxStructStat();
- if (stat(name, targetStat) == 0) { // get the information about the file the link points to
- info = targetStat.toFileInfo(); // store the target file stats in info
- } else { // invalid link target
- info = new FileInfo();
- if (targetStat.errno != ENOENT) {
- info.setError(IFileInfo.IO_ERROR);
- }
- }
- info.setAttribute(EFS.ATTRIBUTE_SYMLINK, true); // set symlink attribute
- byte target[] = new byte[PATH_MAX];
- int length = readlink(name, target, target.length);
- if (length > 0) { // set target of the link
- info.setStringAttribute(EFS.ATTRIBUTE_LINK_TARGET, bytesToFileName(target, length));
- }
- } else { // regular file or directory
- info = stat.toFileInfo();
- }
- } else {
- info = new FileInfo();
- if (stat.errno != ENOENT) {
- info.setError(IFileInfo.IO_ERROR);
- }
- }
-
- if (info.getName().isEmpty()) {
- // If the file system is case insensitive, we don't know the real name of the file.
- // Since obtaining the real name in such situation is pretty expensive, we use the name
- // passed as a parameter, which may differ by case from the real name of the file
- // if the file system is case insensitive.
- info.setName(new File(fileName).getName());
- }
- return info;
- }
-
- public static boolean putFileInfo(String fileName, IFileInfo info, int options) {
- int code = 0;
- byte[] name = fileNameToBytes(fileName);
- if (name == null) {
- return false;
- }
-
- // Change permissions
- int mode = 0;
- if (info.getAttribute(EFS.ATTRIBUTE_OWNER_READ)) {
- mode |= S_IRUSR;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OWNER_WRITE)) {
- mode |= S_IWUSR;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OWNER_EXECUTE)) {
- mode |= S_IXUSR;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_GROUP_READ)) {
- mode |= S_IRGRP;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_GROUP_WRITE)) {
- mode |= S_IWGRP;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_GROUP_EXECUTE)) {
- mode |= S_IXGRP;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OTHER_READ)) {
- mode |= S_IROTH;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OTHER_WRITE)) {
- mode |= S_IWOTH;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OTHER_EXECUTE)) {
- mode |= S_IXOTH;
- }
- code |= chmod(name, mode);
-
- return code == 0;
- }
-
public static boolean isUsingNatives() {
return usingNatives;
}
@@ -217,14 +117,6 @@ private static String bytesToFileName(byte[] buf, int length) {
private static final native void initializeLinuxStructStatFieldIDs();
- private static final native int chmod(byte[] path, int mode);
-
- private static final native int stat(byte[] path, LinuxStructStat buf);
-
- private static final native int lstat(byte[] path, LinuxStructStat buf);
-
- private static final native int readlink(byte[] path, byte[] buf, long bufsiz);
-
private static final native int getflag(byte[] buf);
private static final native byte[][] listDir(byte[] path);
diff --git a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/StructStat.java b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/StructStat.java
deleted file mode 100644
index 22dbf3573d7..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/StructStat.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.filesystem.local.unix;
-
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.provider.FileInfo;
-
-/**
- * This class mirrors relevant fields of native struct stat
- * and is used by JNI calls wrapping OS file related functions.
- */
-public class StructStat {
- /** errno value for "No such file or directory" */
- public static final int ENOENT = 2;
-
- private static final boolean USE_MILLISECOND_RESOLUTION = Boolean.parseBoolean(System.getProperty("eclipse.filesystem.useNatives.modificationTimestampMillisecondsResolution", "true")); //$NON-NLS-1$ //$NON-NLS-2$
-
- public int st_mode;
- public long st_size;
- public long st_mtime;
- public long st_mtime_msec; // millisecond component of the file timestamp, filled on Linux systems
- public long st_flags; // Filled only on Mac OS X
-
- public FileInfo toFileInfo() {
- FileInfo info = new FileInfo();
- info.setExists(true);
- info.setLength(st_size);
- long lastModified = (st_mtime * 1_000);
- if (USE_MILLISECOND_RESOLUTION) {
- lastModified += st_mtime_msec;
- }
- info.setLastModified(lastModified);
- if ((st_mode & UnixFileFlags.S_IFMT) == UnixFileFlags.S_IFDIR) {
- info.setDirectory(true);
- }
- if ((st_flags & (UnixFileFlags.UF_IMMUTABLE | UnixFileFlags.SF_IMMUTABLE)) != 0) {
- info.setAttribute(EFS.ATTRIBUTE_IMMUTABLE, true);
- }
- if ((st_mode & UnixFileFlags.S_IRUSR) == 0) { // Set to true in FileInfo constructor
- info.setAttribute(EFS.ATTRIBUTE_OWNER_READ, false);
- }
- if ((st_mode & UnixFileFlags.S_IWUSR) == 0) { // Set to true in FileInfo constructor
- info.setAttribute(EFS.ATTRIBUTE_OWNER_WRITE, false);
- }
- if ((st_mode & UnixFileFlags.S_IXUSR) != 0) {
- info.setAttribute(EFS.ATTRIBUTE_OWNER_EXECUTE, true);
- }
- if ((st_mode & UnixFileFlags.S_IRGRP) != 0) {
- info.setAttribute(EFS.ATTRIBUTE_GROUP_READ, true);
- }
- if ((st_mode & UnixFileFlags.S_IWGRP) != 0) {
- info.setAttribute(EFS.ATTRIBUTE_GROUP_WRITE, true);
- }
- if ((st_mode & UnixFileFlags.S_IXGRP) != 0) {
- info.setAttribute(EFS.ATTRIBUTE_GROUP_EXECUTE, true);
- }
- if ((st_mode & UnixFileFlags.S_IROTH) != 0) {
- info.setAttribute(EFS.ATTRIBUTE_OTHER_READ, true);
- }
- if ((st_mode & UnixFileFlags.S_IWOTH) != 0) {
- info.setAttribute(EFS.ATTRIBUTE_OTHER_WRITE, true);
- }
- if ((st_mode & UnixFileFlags.S_IXOTH) != 0) {
- info.setAttribute(EFS.ATTRIBUTE_OTHER_EXECUTE, true);
- }
- return info;
- }
-
-}
diff --git a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileFlags.java b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileFlags.java
deleted file mode 100644
index 5f834436f9e..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileFlags.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.filesystem.local.unix;
-
-public class UnixFileFlags {
-
- static {
- PATH_MAX = UnixFileNatives.getFlag("PATH_MAX"); //$NON-NLS-1$
- S_IFMT = UnixFileNatives.getFlag("S_IFMT"); //$NON-NLS-1$
- S_IFLNK = UnixFileNatives.getFlag("S_IFLNK"); //$NON-NLS-1$
- S_IFDIR = UnixFileNatives.getFlag("S_IFDIR"); //$NON-NLS-1$
- S_IRUSR = UnixFileNatives.getFlag("S_IRUSR"); //$NON-NLS-1$
- S_IWUSR = UnixFileNatives.getFlag("S_IWUSR"); //$NON-NLS-1$
- S_IXUSR = UnixFileNatives.getFlag("S_IXUSR"); //$NON-NLS-1$
- S_IRGRP = UnixFileNatives.getFlag("S_IRGRP"); //$NON-NLS-1$
- S_IWGRP = UnixFileNatives.getFlag("S_IWGRP"); //$NON-NLS-1$
- S_IXGRP = UnixFileNatives.getFlag("S_IXGRP"); //$NON-NLS-1$
- S_IROTH = UnixFileNatives.getFlag("S_IROTH"); //$NON-NLS-1$
- S_IWOTH = UnixFileNatives.getFlag("S_IWOTH"); //$NON-NLS-1$
- S_IXOTH = UnixFileNatives.getFlag("S_IXOTH"); //$NON-NLS-1$
- UF_IMMUTABLE = UnixFileNatives.getFlag("UF_IMMUTABLE"); //$NON-NLS-1$
- SF_IMMUTABLE = UnixFileNatives.getFlag("SF_IMMUTABLE"); //$NON-NLS-1$
- }
-
- /**
- * chars in a path name including nul
- */
- public static final int PATH_MAX;
-
- /**
- * bitmask for the file type bitfields
- */
- public static final int S_IFMT;
- /**
- * symbolic link
- */
- public static final int S_IFLNK;
- /**
- * directory
- */
- public static final int S_IFDIR;
- /**
- * owner has read permission
- */
- public static final int S_IRUSR;
- /**
- * owner has write permission
- */
- public static final int S_IWUSR;
- /**
- * owner has execute permission
- */
- public static final int S_IXUSR;
- /**
- * group has read permission
- */
- public static final int S_IRGRP;
- /**
- * group has write permission
- */
- public static final int S_IWGRP;
- /**
- * group has execute permission
- */
- public static final int S_IXGRP;
- /**
- * others have read permission
- */
- public static final int S_IROTH;
- /**
- * others have write permission
- */
- public static final int S_IWOTH;
- /**
- * others have execute permission
- */
- public static final int S_IXOTH;
-
- /**
- * the file may not be changed
- */
- public static final int UF_IMMUTABLE;
- /**
- * the file may not be changed
- */
- public static final int SF_IMMUTABLE;
-
-}
diff --git a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileHandler.java b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileHandler.java
deleted file mode 100644
index c13ae00f851..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileHandler.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.internal.filesystem.local.unix;
-
-import org.eclipse.core.filesystem.IFileInfo;
-import org.eclipse.core.filesystem.provider.FileInfo;
-import org.eclipse.core.internal.filesystem.local.NativeHandler;
-
-/**
- * Native handler that delegates to UnixFileNatives
- */
-public class UnixFileHandler extends NativeHandler {
- @Override
- public int getSupportedAttributes() {
- return UnixFileNatives.getSupportedAttributes();
- }
-
- @Override
- public FileInfo fetchFileInfo(String fileName) {
- return UnixFileNatives.fetchFileInfo(fileName);
- }
-
- @Override
- public boolean putFileInfo(String fileName, IFileInfo info, int options) {
- return UnixFileNatives.putFileInfo(fileName, info, options);
- }
-}
diff --git a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileNatives.java b/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileNatives.java
deleted file mode 100644
index c69c79b2421..00000000000
--- a/resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileNatives.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2017 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Sergey Prigogin (Google) - ongoing development
- *******************************************************************************/
-package org.eclipse.core.internal.filesystem.local.unix;
-
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.PATH_MAX;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.SF_IMMUTABLE;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IFLNK;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IFMT;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IRGRP;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IROTH;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IRUSR;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IWGRP;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IWOTH;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IWUSR;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IXGRP;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IXOTH;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.S_IXUSR;
-import static org.eclipse.core.internal.filesystem.local.unix.UnixFileFlags.UF_IMMUTABLE;
-
-import java.io.File;
-import java.net.URL;
-import java.nio.charset.StandardCharsets;
-import java.util.Enumeration;
-import org.eclipse.core.filesystem.EFS;
-import org.eclipse.core.filesystem.IFileInfo;
-import org.eclipse.core.filesystem.provider.FileInfo;
-import org.eclipse.core.internal.filesystem.FileSystemAccess;
-import org.eclipse.core.internal.filesystem.Messages;
-import org.eclipse.core.internal.filesystem.Policy;
-import org.eclipse.core.internal.filesystem.local.Convert;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class UnixFileNatives {
- private static final String LIBRARY_NAME = "unixfile_1_0_0"; //$NON-NLS-1$
- private static final int UNICODE_SUPPORTED = 1 << 0;
- private static final int CHFLAGS_SUPPORTED = 1 << 1;
- private static final int ENOENT = StructStat.ENOENT; // errno value for "No such file or directory"
-
- private static final boolean usingNatives;
- private static final int libattr;
-
- static {
- boolean _usingNatives = false;
- int _libattr = 0;
- try {
- System.loadLibrary(LIBRARY_NAME);
- _usingNatives = true;
- initializeStructStatFieldIDs();
- _libattr = libattr();
- } catch (UnsatisfiedLinkError e) {
- if (isLibraryPresent()) {
- logMissingNativeLibrary(e);
- }
- } finally {
- usingNatives = _usingNatives;
- libattr = _libattr;
- }
- }
-
- private static boolean isLibraryPresent() {
- String libName = System.mapLibraryName(LIBRARY_NAME);
- Enumeration entries = FileSystemAccess.findEntries("/", libName, true); //$NON-NLS-1$
- return entries != null && entries.hasMoreElements();
- }
-
- private static void logMissingNativeLibrary(UnsatisfiedLinkError e) {
- String libName = System.mapLibraryName(LIBRARY_NAME);
- String message = NLS.bind(Messages.couldNotLoadLibrary, libName);
- Policy.log(IStatus.INFO, message, e);
- }
-
- public static int getSupportedAttributes() {
- if (!usingNatives) {
- return -1;
- }
- int ret = EFS.ATTRIBUTE_READ_ONLY | EFS.ATTRIBUTE_EXECUTABLE | EFS.ATTRIBUTE_SYMLINK | EFS.ATTRIBUTE_LINK_TARGET | EFS.ATTRIBUTE_OWNER_READ | EFS.ATTRIBUTE_OWNER_WRITE | EFS.ATTRIBUTE_OWNER_EXECUTE | EFS.ATTRIBUTE_GROUP_READ | EFS.ATTRIBUTE_GROUP_WRITE | EFS.ATTRIBUTE_GROUP_EXECUTE | EFS.ATTRIBUTE_OTHER_READ | EFS.ATTRIBUTE_OTHER_WRITE | EFS.ATTRIBUTE_OTHER_EXECUTE;
- if (isSupported(CHFLAGS_SUPPORTED)) {
- ret |= EFS.ATTRIBUTE_IMMUTABLE;
- }
- return ret;
- }
-
- public static FileInfo fetchFileInfo(String fileName) {
- FileInfo info = null;
- byte[] name = fileNameToBytes(fileName);
- StructStat stat = new StructStat();
- if (lstat(name, stat) == 0) { // return information about the link itself if the file is a symbolic link
- if ((stat.st_mode & S_IFMT) == S_IFLNK) { // it a link!
- if (stat(name, stat) == 0) { // get the information about the file the link points to
- info = stat.toFileInfo(); // store the target file stats in info
- } else { // invalid link target!
- info = new FileInfo();
- if (getErrno() != ENOENT) {
- info.setError(IFileInfo.IO_ERROR);
- }
- }
- info.setAttribute(EFS.ATTRIBUTE_SYMLINK, true); // set symlink attribute
- byte target[] = new byte[PATH_MAX];
- int length = readlink(name, target, target.length);
- if (length > 0) { // set target of the link
- info.setStringAttribute(EFS.ATTRIBUTE_LINK_TARGET, bytesToFileName(target, length));
- }
- } else { // regular file or directory
- info = stat.toFileInfo();
- }
- } else {
- info = new FileInfo();
- if (getErrno() != ENOENT) {
- info.setError(IFileInfo.IO_ERROR);
- }
- }
-
- if (info.getName().isEmpty()) {
- // If the file system is case insensitive, we don't know the real name of the file.
- // Since obtaining the real name in such situation is pretty expensive, we use the name
- // passed as a parameter, which may differ by case from the real name of the file
- // if the file system is case insensitive.
- File file = new File(fileName);
- info.setName(file.getName());
- }
- return info;
- }
-
- public static boolean putFileInfo(String fileName, IFileInfo info, int options) {
- int code = 0;
- byte[] name = fileNameToBytes(fileName);
- if (name == null) {
- return false;
- }
-
- // In case uchg flag is to be removed do it before calling chmod
- if (!info.getAttribute(EFS.ATTRIBUTE_IMMUTABLE) && isSupported(CHFLAGS_SUPPORTED)) {
- StructStat stat = new StructStat();
- if (stat(name, stat) == 0) {
- long flags = stat.st_flags;
- flags &= ~SF_IMMUTABLE;
- flags &= ~UF_IMMUTABLE;
- code |= chflags(name, (int) flags);
- }
- }
-
- // Change permissions
- int mode = 0;
- if (info.getAttribute(EFS.ATTRIBUTE_OWNER_READ)) {
- mode |= S_IRUSR;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OWNER_WRITE)) {
- mode |= S_IWUSR;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OWNER_EXECUTE)) {
- mode |= S_IXUSR;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_GROUP_READ)) {
- mode |= S_IRGRP;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_GROUP_WRITE)) {
- mode |= S_IWGRP;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_GROUP_EXECUTE)) {
- mode |= S_IXGRP;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OTHER_READ)) {
- mode |= S_IROTH;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OTHER_WRITE)) {
- mode |= S_IWOTH;
- }
- if (info.getAttribute(EFS.ATTRIBUTE_OTHER_EXECUTE)) {
- mode |= S_IXOTH;
- }
- code |= chmod(name, mode);
-
- // In case uchg flag is to be added do it after calling chmod
- if (info.getAttribute(EFS.ATTRIBUTE_IMMUTABLE) && isSupported(CHFLAGS_SUPPORTED)) {
- StructStat stat = new StructStat();
- if (stat(name, stat) == 0) {
- long flags = stat.st_flags;
- flags |= UF_IMMUTABLE;
- code |= chflags(name, (int) flags);
- }
- }
- return code == 0;
- }
-
- public static boolean isUsingNatives() {
- return usingNatives;
- }
-
- public static int getErrno() {
- return errno();
- }
-
- public static int getFlag(String flag) {
- if (!usingNatives) {
- return -1;
- }
- return getflag(flag.getBytes(StandardCharsets.US_ASCII));
- }
-
- private static byte[] fileNameToBytes(String fileName) {
- if (isSupported(UNICODE_SUPPORTED)) {
- return tounicode(fileName.toCharArray());
- }
- return Convert.toPlatformBytes(fileName);
- }
-
- private static String bytesToFileName(byte[] buf, int length) {
- if (isSupported(UNICODE_SUPPORTED)) {
- return new String(buf, 0, length);
- }
- return Convert.fromPlatformBytes(buf, length);
- }
-
- private static boolean isSupported(int attr) {
- return (libattr & attr) != 0;
- }
-
- private static final native void initializeStructStatFieldIDs();
-
- private static final native int chmod(byte[] path, int mode);
-
- private static final native int chflags(byte[] path, int flags);
-
- private static final native int stat(byte[] path, StructStat buf);
-
- private static final native int lstat(byte[] path, StructStat buf);
-
- private static final native int readlink(byte[] path, byte[] buf, long bufsiz);
-
- private static final native int errno();
-
- private static final native int libattr();
-
- private static final native byte[] tounicode(char[] buf);
-
- private static final native int getflag(byte[] buf);
-
-}
diff --git a/resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml b/resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
index 1e9534590fd..3112e159e4e 100644
--- a/resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
+++ b/resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
@@ -25,9 +25,4 @@
arch="x86_64"
version="0.0.0"/>
-
-