From 21fd71e591fc5e937205a8b542e6fe42b44c623e Mon Sep 17 00:00:00 2001 From: Hannes Wellmann Date: Fri, 11 Sep 2026 19:04:33 +0200 Subject: [PATCH 1/2] Replace native UnixFileHandler by Java NIO to fetch/put file-info With Java-25 the java.nio.file APIs have similar performance like the native C implementations invoked by the UnixFileHandler. In order to reduce native code and native fragments, remove the UnixFileHandler in favor of the org.eclipse.core.internal.filesystem.local.PosixHandler. The native LinuxFileHandler remains partially because the native implementation to list directory contents is still significantly faster. But its methods to fetch/put file-infos delegate to PosixHandler and the native code for that is removed. Fixes https://github.com/eclipse-platform/eclipse.platform/issues/302 --- .../.project | 22 -- .../org.eclipse.core.resources.prefs | 2 - .../.settings/org.eclipse.core.runtime.prefs | 2 - .../META-INF/MANIFEST.MF | 9 - .../about.html | 36 -- .../build.properties | 19 - .../fragment.properties | 15 - .../os/linux/aarch64/libunixfile_1_0_0.so | Bin 10160 -> 0 bytes .../pom.xml | 29 -- .../.project | 22 -- .../org.eclipse.core.resources.prefs | 2 - .../.settings/org.eclipse.core.runtime.prefs | 2 - .../META-INF/MANIFEST.MF | 9 - .../about.html | 36 -- .../build.properties | 19 - .../fragment.properties | 15 - .../os/linux/loongarch64/libunixfile_1_0_0.so | Bin 67392 -> 0 bytes .../pom.xml | 46 --- .../.project | 22 -- .../org.eclipse.core.resources.prefs | 2 - .../.settings/org.eclipse.core.runtime.prefs | 2 - .../META-INF/MANIFEST.MF | 9 - .../about.html | 36 -- .../build.properties | 19 - .../fragment.properties | 15 - .../os/linux/ppc64le/libunixfile_1_0_0.so | Bin 10024 -> 0 bytes .../pom.xml | 28 -- .../os/linux/x86_64/libunixfile_1_0_0.so | Bin 10320 -> 0 bytes .../.project | 11 - .../org.eclipse.core.resources.prefs | 2 - .../.settings/org.eclipse.core.runtime.prefs | 2 - .../BUILD_INFO.txt | 9 - .../META-INF/MANIFEST.MF | 9 - .../about.html | 36 -- .../build.properties | 20 -- .../fragment.properties | 15 - .../os/macosx/libunixfile_1_0_0.jnilib | Bin 153136 -> 0 bytes .../pom.xml | 28 -- .../META-INF/MANIFEST.MF | 3 +- .../natives/unix/README.TXT | 5 - .../natives/unix/fastlinux/fastlinuxfile.c | 92 +---- .../natives/unix/fastlinux/fastlinuxfile.h | 34 +- .../natives/unix/linux/Makefile | 42 --- .../natives/unix/macosx/Makefile | 39 --- .../natives/unix/unixfile.c | 331 ------------------ .../natives/unix/unixfile.h | 125 ------- .../local/LocalFileNativesManager.java | 17 +- .../local/linux/LinuxFileHandler.java | 11 +- .../local/linux/LinuxFileNatives.java | 110 +----- .../filesystem/local/unix/StructStat.java | 80 ----- .../filesystem/local/unix/UnixFileFlags.java | 99 ------ .../local/unix/UnixFileHandler.java | 38 -- .../local/unix/UnixFileNatives.java | 251 ------------- .../feature.xml | 5 - 54 files changed, 13 insertions(+), 1819 deletions(-) delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.project delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.settings/org.eclipse.core.resources.prefs delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.aarch64/.settings/org.eclipse.core.runtime.prefs delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.aarch64/META-INF/MANIFEST.MF delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.aarch64/about.html delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.aarch64/build.properties delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.aarch64/fragment.properties delete mode 100755 resources/bundles/org.eclipse.core.filesystem.linux.aarch64/os/linux/aarch64/libunixfile_1_0_0.so delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.aarch64/pom.xml delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.project delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.settings/org.eclipse.core.resources.prefs delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/.settings/org.eclipse.core.runtime.prefs delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/META-INF/MANIFEST.MF delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/about.html delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/build.properties delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/fragment.properties delete mode 100755 resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/os/linux/loongarch64/libunixfile_1_0_0.so delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.loongarch64/pom.xml delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.project delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.settings/org.eclipse.core.resources.prefs delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/.settings/org.eclipse.core.runtime.prefs delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/META-INF/MANIFEST.MF delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/about.html delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/build.properties delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/fragment.properties delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/os/linux/ppc64le/libunixfile_1_0_0.so delete mode 100644 resources/bundles/org.eclipse.core.filesystem.linux.ppc64le/pom.xml delete mode 100755 resources/bundles/org.eclipse.core.filesystem.linux.x86_64/os/linux/x86_64/libunixfile_1_0_0.so delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/.project delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/.settings/org.eclipse.core.resources.prefs delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/.settings/org.eclipse.core.runtime.prefs delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/BUILD_INFO.txt delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/META-INF/MANIFEST.MF delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/about.html delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/build.properties delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/fragment.properties delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/os/macosx/libunixfile_1_0_0.jnilib delete mode 100644 resources/bundles/org.eclipse.core.filesystem.macosx/pom.xml delete mode 100644 resources/bundles/org.eclipse.core.filesystem/natives/unix/linux/Makefile delete mode 100755 resources/bundles/org.eclipse.core.filesystem/natives/unix/macosx/Makefile delete mode 100644 resources/bundles/org.eclipse.core.filesystem/natives/unix/unixfile.c delete mode 100644 resources/bundles/org.eclipse.core.filesystem/natives/unix/unixfile.h delete mode 100644 resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/StructStat.java delete mode 100644 resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileFlags.java delete mode 100644 resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileHandler.java delete mode 100644 resources/bundles/org.eclipse.core.filesystem/src/org/eclipse/core/internal/filesystem/local/unix/UnixFileNatives.java 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 0024dc1477c52fbf03ac91a0c3bff937c90b09d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10160 zcmeHNe{hrK9e?So(c;;biLC*dLXd4mhAI=-sjuCgm!vf z_s@=}_vZ6_Ki?nE_xbfcZ{GB=g-aKiO(wxb6E6vpY!h|Hp%l#}sseC`3Nap^*NExT zcHFS)lA3jzPB9AUp?~H9= z_A7lZ&Q^AeWJ_hmN3jN~mlsL#65OQIf|32c2S3X5%NDCLbgA}68yA}z4@T7;**8j2 z!&S3NfGX*;zUjc$dge<&*Ae zTvKtaU!Hk>$3XXngU_v7-)a50{@WelEx)-VzTts8Z+dk5Gp9}O|NM>VbK4HqPV|0Y z`=R;hTX6ZWMH5$u=>?aXXlSv~#y!#X2LO{VHI=#BM&SPn_mS))=;%oNBE*HKt+ z^K6-Cfk-Ky?VnI_cBwd$WKkfR3w5Gj@gFO`UfEYG{#_NvK?@6oT2mHR+ z*d*j@YzjAs)e-*~bAZe=*^9w-C;oJ2o+cDrj&_qelFmhF~D{;MnBo zk3>RYbX=lbPO(5ZG&Zq=0k0<(i;PXMSQx9^7j77%#e)q%t4Bm*5nofYK&n1_G;E(o zHQG+J$3TdhrAwSu?%V9QeoO6ldD5BjssGW*M}LH-QU1u2bZ_DwqHZf!By&#&o}VK=Qpc?SC4Mee!77-KG)a`yfM#G1J7p)1u8f2SIEfvM}>hm_RC@5 z)gzd6SZv^pj}$8myc&9GzskU?BS-S}23{Rqk{@h+wR=z#35O8L!PYgFFke*)-h#jgV&<Y-Dro`jG65s+MKIsyo4)U&&Q#F}N*xN+$kCQ28{j_Fuxj z4ZhC)nv4^5hw>e4eMQd0nF5h%M_cv#D(5>);+rzBzM2ehx6Ea(BlFvAcH8^7Y$EQe z-)EYCrofRIY~3g4E{)tN@4?nTb(<(hab<$$*DM^FGqtAfGn(i*d!M;Gi8k>3yURJ< zk@>x|5c9v_$T{d5FsH|X*h9P0+LRujD1@)rwXvl#jWLpG#$ z))yv{CrpXiusg0z?U8nQB17@Wj<_M)cwvI#Nt+3}4e2k6monHCicDHF%{fzB*?smt zXZK+1YqGC;KmXWm7V$&WM=ht1=QLA~FYU~npCK~!$oo9{<(2)@b8+r;V!js~`AidY za8sJ(#+aVaisqb!-EnPNPYq5b+qhdFuYK5K zUW?dWFZ%&K_K0OqCB|op9P@qHb6(A$$C|%Lk3Hx$i`~BGo;-A1E9!ae+#gO;tg7A* zPQQr#;PdsJ9;f0xv7zcY-+-&#H?Z+Q7sg4T-`rQ818|f7jWtL8rG9arPnL>$ip^eA##I5xvQFlr+C63GWYUwds~WvlOnoX5S0#!>o9j_ffv?9ktOb`rT9kP z2HqTZEu;9F!QKJh6nE87e6xYCw6yL~qSrhZX6$|muTm0YR-ICOtTg+Qc&BuN(tK0LE_%fF&vR{gxAPE|$n_;sDHvBwJc{#xC1h-lDOPM=LJHKAt zeq-`$TV`*)p=#T#oV=Q0KN0izW$f=l%r4jmVc$#forS$NXUEShojlfXLo40`SpaYf+z z4BTvRrQkjUC*K39d9G?VCr##+`T$X^%jNP2TpoeTBXD^HE|0+f$q4X!Nq!HB<5U)U zw@F1Fq`8ouB?2DuDC|&`Tge%CG+`vt&;gYD4pR{Sbz3HHcWEAN`&7% z_N#|0ez&*+=QS067x;HCG)uUEBQke2#;2>znrHEH)g=UdwwWZ`|qas?{1=h&b386)YbaQK~QKE%lPEy|znUAg{^;3zM?PxAj$F!KEl zCbHztzYna@KX>2vD?bML9SZ_uD94}wPl(aVH&hjX^XGW95iV+9ohy94a64?DoBw*{ zf15IJD1XM>{JDKRoBeoRUWPB3 zuzyOOyD7Xpqf)BF&?oydrl2wU^SRxp{NqEOdWHQM|B~a+=SrjPVtZX0-ajn=4Hb&T z`8V724maC$i&7niKDk{c4x>UI - - - 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 6bb6746a38104131ba9d5e76241d1a0e750e4c92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67392 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 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 7d0ef31b370b257117c4bac0e49b245f22865ab7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10024 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 - - - 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/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 9067085dfacebbed918a3fa3fc3a15de2cff2e08..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10320 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 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 5a9647b70297792946768eb7f3fb58a4ae89426a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153136 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®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 Xi~vReBY+XW2w(&-0vLgR6M_E^w~3A+ 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"/> - - From 8665ca12f8bc39750bec9a43360e97b9407fbdb2 Mon Sep 17 00:00:00 2001 From: Eclipse Platform Bot Date: Sat, 12 Sep 2026 14:30:29 +0000 Subject: [PATCH 2/2] Version bump(s) for 4.42 stream --- .../META-INF/MANIFEST.MF | 2 +- .../bundles/org.eclipse.core.filesystem.linux.x86_64/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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/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