src/Pure/Admin/build_vscodium.scala
changeset 75223 8c09e1f82f81
parent 75222 aef3926eb6ce
child 75224 419781ac89bf
--- a/src/Pure/Admin/build_vscodium.scala	Sat Mar 05 14:24:33 2022 +0100
+++ b/src/Pure/Admin/build_vscodium.scala	Sat Mar 05 14:31:29 2022 +0100
@@ -9,6 +9,7 @@
 
 import java.security.MessageDigest
 import java.util.Base64
+import java.io.{File => JFile}
 
 
 object Build_VSCodium
@@ -114,7 +115,7 @@
 
   private def vscodium_exe(dir: Path): Path = dir + Path.explode("bin/codium")
 
-  private def macos_exe: String =
+  def macos_exe: String =
 """#!/usr/bin/env bash
 
 unset CDPATH
@@ -126,6 +127,12 @@
 exit $?
 """
 
+  def is_windows_exe(file: JFile): Boolean =
+  {
+    val name = file.getName
+    name.endsWith(".dll") || name.endsWith(".exe") || name.endsWith(".node")
+  }
+
   def build_vscodium(
     target_dir: Path = Path.current,
     platforms: List[Platform.Family.Value] = default_platforms,
@@ -185,9 +192,7 @@
             File.set_executable(exe, true)
           case Platform.Family.windows =>
             val files1 = File.find_files(exe.dir.file)
-            val files2 =
-              File.find_files(platform_dir.file,
-                pred = file => file.getName.endsWith(".exe") || file.getName.endsWith(".dll"))
+            val files2 = File.find_files(platform_dir.file, pred = is_windows_exe)
             for (file <- files1 ::: files2) File.set_executable(File.path(file), true)
             Isabelle_System.bash("chmod -R o-w " + File.bash_path(platform_dir))
           case _ =>