src/Tools/VSCode/src/component_vscodium.scala
changeset 80224 db92e0b6a11a
parent 79556 0631dfc0db07
child 80368 9db395953106
equal deleted inserted replaced
80223:d389577a6fba 80224:db92e0b6a11a
    84       Isabelle_System.bash(
    84       Isabelle_System.bash(
    85         List(
    85         List(
    86           "set -e",
    86           "set -e",
    87           "git clone -n " + Bash.string(vscodium_repository) + " .",
    87           "git clone -n " + Bash.string(vscodium_repository) + " .",
    88           "git checkout -q " + Bash.string(version)
    88           "git checkout -q " + Bash.string(version)
    89         ).mkString("\n"), cwd = build_dir.file).check
    89         ).mkString("\n"), cwd = build_dir).check
    90 
    90 
    91       progress.echo("Getting VSCode repository ...")
    91       progress.echo("Getting VSCode repository ...")
    92       Isabelle_System.bash(environment + "\n" + "./get_repo.sh", cwd = build_dir.file).check
    92       Isabelle_System.bash(environment + "\n" + "./get_repo.sh", cwd = build_dir).check
    93     }
    93     }
    94 
    94 
    95     def platform_dir(dir: Path): Path = {
    95     def platform_dir(dir: Path): Path = {
    96       val platform_name =
    96       val platform_name =
    97         if (platform == Platform.Family.windows) Platform.Family.native(platform)
    97         if (platform == Platform.Family.windows) Platform.Family.native(platform)
   128         // explicit patches
   128         // explicit patches
   129         {
   129         {
   130           val patches_dir = Path.explode("$ISABELLE_VSCODE_HOME/patches")
   130           val patches_dir = Path.explode("$ISABELLE_VSCODE_HOME/patches")
   131           for (name <- Seq("cli", "isabelle_encoding", "no_ocaml_icons")) {
   131           for (name <- Seq("cli", "isabelle_encoding", "no_ocaml_icons")) {
   132             val path = patches_dir + Path.explode(name).patch
   132             val path = patches_dir + Path.explode(name).patch
   133             Isabelle_System.bash("patch -p1 < " + File.bash_path(path), cwd = dir.file).check
   133             Isabelle_System.bash("patch -p1 < " + File.bash_path(path), cwd = dir).check
   134           }
   134           }
   135         }
   135         }
   136 
   136 
   137         Isabelle_System.make_patch(base_dir, dir.base.orig, dir.base)
   137         Isabelle_System.make_patch(base_dir, dir.base.orig, dir.base)
   138       }
   138       }
   290             "set -e",
   290             "set -e",
   291             platform_info.environment,
   291             platform_info.environment,
   292             "./prepare_vscode.sh",
   292             "./prepare_vscode.sh",
   293             // enforce binary diff of code.xpm
   293             // enforce binary diff of code.xpm
   294             "cp vscode/resources/linux/code.png vscode/resources/linux/rpm/code.xpm"
   294             "cp vscode/resources/linux/code.png vscode/resources/linux/rpm/code.xpm"
   295           ).mkString("\n"), cwd = build_dir.file, echo = progress.verbose).check
   295           ).mkString("\n"), cwd = build_dir, echo = progress.verbose).check
   296         Isabelle_System.make_patch(build_dir, vscode_dir.orig.base, vscode_dir.base,
   296         Isabelle_System.make_patch(build_dir, vscode_dir.orig.base, vscode_dir.base,
   297           diff_options = "--exclude=.git --exclude=node_modules")
   297           diff_options = "--exclude=.git --exclude=node_modules")
   298       }
   298       }
   299     }
   299     }
   300   }
   300   }
   344         val sources_patch = platform_info.patch_sources(build_dir)
   344         val sources_patch = platform_info.patch_sources(build_dir)
   345         if (platform_info.primary) write_patch("02-isabelle_sources", sources_patch)
   345         if (platform_info.primary) write_patch("02-isabelle_sources", sources_patch)
   346 
   346 
   347         progress.echo("Build ...")
   347         progress.echo("Build ...")
   348         progress.bash(platform_info.environment + "\n" + "./build.sh",
   348         progress.bash(platform_info.environment + "\n" + "./build.sh",
   349           cwd = build_dir.file, echo = progress.verbose).check
   349           cwd = build_dir, echo = progress.verbose).check
   350 
   350 
   351         if (platform_info.primary) {
   351         if (platform_info.primary) {
   352           Isabelle_System.copy_file(build_dir + Path.explode("LICENSE"), component_dir.path)
   352           Isabelle_System.copy_file(build_dir + Path.explode("LICENSE"), component_dir.path)
   353         }
   353         }
   354 
   354 
   366 
   366 
   367         platform_info.setup_executables(platform_dir)
   367         platform_info.setup_executables(platform_dir)
   368       }
   368       }
   369     }
   369     }
   370 
   370 
   371     Isabelle_System.bash("gzip *.patch", cwd = patches_dir.file).check
   371     Isabelle_System.bash("gzip *.patch", cwd = patches_dir).check
   372 
   372 
   373 
   373 
   374     /* settings */
   374     /* settings */
   375 
   375 
   376     component_dir.write_settings("""
   376     component_dir.write_settings("""