author | wenzelm |
Thu, 21 Mar 2024 14:19:05 +0100 | |
changeset 79951 | 84f2d481d6d7 |
parent 79624 | 8e97d1fcbbc2 |
child 79976 | c7e6a508a65b |
permissions | -rw-r--r-- |
62829
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
1 |
/* Title: Pure/System/isabelle_tool.scala |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
2 |
Author: Makarius |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
3 |
|
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
4 |
Isabelle system tools: external executables or internal Scala functions. |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
5 |
*/ |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
6 |
|
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
7 |
package isabelle |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
8 |
|
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
9 |
|
75393 | 10 |
object Isabelle_Tool { |
62829
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
11 |
/* external tools */ |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
12 |
|
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
13 |
private def dirs(): List[Path] = Path.split(Isabelle_System.getenv_strict("ISABELLE_TOOLS")) |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
14 |
|
75642
bb048086468a
discontinued Isabelle tools implemented as .scala scripts;
wenzelm
parents:
75628
diff
changeset
|
15 |
private def is_external(dir: Path, name: String): Boolean = { |
bb048086468a
discontinued Isabelle tools implemented as .scala scripts;
wenzelm
parents:
75628
diff
changeset
|
16 |
val file = (dir + Path.explode(name)).file |
75906
2167b9e3157a
clarified signature: support for adhoc file types;
wenzelm
parents:
75644
diff
changeset
|
17 |
try { file.isFile && file.canRead && file.canExecute && !File.is_backup(name) } |
62829
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
18 |
catch { case _: SecurityException => false } |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
19 |
} |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
20 |
|
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
21 |
private def find_external(name: String): Option[List[String] => Unit] = |
75394 | 22 |
dirs().collectFirst( |
23 |
{ |
|
24 |
case dir if is_external(dir, name) => |
|
25 |
{ (args: List[String]) => |
|
26 |
val tool = dir + Path.explode(name) |
|
27 |
val result = Isabelle_System.bash(File.bash_path(tool) + " " + Bash.strings(args)) |
|
28 |
sys.exit(result.print_stdout.rc) |
|
29 |
} |
|
30 |
}) |
|
62830 | 31 |
|
32 |
||
33 |
/* internal tools */ |
|
34 |
||
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
35 |
private lazy val internal_tools: List[Isabelle_Tool] = |
72159
40b5ee5889d2
clarified management of services: static declarations vs. dynamic instances (e.g. relevant for stateful Session.Protocol_Handler, notably Scala.Handler and session "System");
wenzelm
parents:
71808
diff
changeset
|
36 |
Isabelle_System.make_services(classOf[Isabelle_Scala_Tools]).flatMap(_.tools) |
62830 | 37 |
|
38 |
private def find_internal(name: String): Option[List[String] => Unit] = |
|
62960
cfbb6a5b427c
simplified -- avoid odd mutable state, which potentially causes problems with module initialization;
wenzelm
parents:
62838
diff
changeset
|
39 |
internal_tools.collectFirst({ |
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
40 |
case tool if tool.name == name => |
71632 | 41 |
args => Command_Line.tool { tool.body(args) } |
62960
cfbb6a5b427c
simplified -- avoid odd mutable state, which potentially causes problems with module initialization;
wenzelm
parents:
62838
diff
changeset
|
42 |
}) |
62831 | 43 |
|
62829
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
44 |
|
72763 | 45 |
/* list tools */ |
46 |
||
75393 | 47 |
abstract class Entry { |
72763 | 48 |
def name: String |
49 |
def position: Properties.T |
|
50 |
def description: String |
|
51 |
def print: String = |
|
52 |
description match { |
|
53 |
case "" => name |
|
54 |
case descr => name + " - " + descr |
|
55 |
} |
|
56 |
} |
|
57 |
||
75393 | 58 |
sealed case class External(name: String, path: Path) extends Entry { |
72763 | 59 |
def position: Properties.T = Position.File(path.absolute.implode) |
75393 | 60 |
def description: String = { |
72763 | 61 |
val Pattern = """.*\bDESCRIPTION: *(.*)""".r |
62 |
split_lines(File.read(path)).collectFirst({ case Pattern(s) => s }) getOrElse "" |
|
63 |
} |
|
64 |
} |
|
65 |
||
75393 | 66 |
def external_tools(): List[External] = { |
72763 | 67 |
for { |
68 |
dir <- dirs() if dir.is_dir |
|
75642
bb048086468a
discontinued Isabelle tools implemented as .scala scripts;
wenzelm
parents:
75628
diff
changeset
|
69 |
name <- File.read_dir(dir) if is_external(dir, name) |
bb048086468a
discontinued Isabelle tools implemented as .scala scripts;
wenzelm
parents:
75628
diff
changeset
|
70 |
} yield External(name, dir + Path.explode(name)) |
72763 | 71 |
} |
72 |
||
73 |
def isabelle_tools(): List[Entry] = |
|
74 |
(external_tools() ::: internal_tools).sortBy(_.name) |
|
75 |
||
75393 | 76 |
object Isabelle_Tools extends Scala.Fun_String("isabelle_tools") { |
72763 | 77 |
val here = Scala_Project.here |
78 |
def apply(arg: String): String = |
|
79 |
if (arg.nonEmpty) error("Bad argument: " + quote(arg)) |
|
80 |
else { |
|
81 |
val result = isabelle_tools().map(entry => (entry.name, entry.position)) |
|
82 |
val body = { import XML.Encode._; list(pair(string, properties))(result) } |
|
83 |
YXML.string_of_body(body) |
|
84 |
} |
|
85 |
} |
|
86 |
||
87 |
||
62829
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
88 |
/* command line entry point */ |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
89 |
|
79624 | 90 |
def exe(isabelle_home: Path): Path = isabelle_home + Path.explode("bin/isabelle") |
91 |
||
75393 | 92 |
def main(args: Array[String]): Unit = { |
71632 | 93 |
Command_Line.tool { |
62829
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
94 |
args.toList match { |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
95 |
case Nil | List("-?") => |
72763 | 96 |
val tool_descriptions = isabelle_tools().map(_.print) |
62829
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
97 |
Getopts(""" |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
98 |
Usage: isabelle TOOL [ARGS ...] |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
99 |
|
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
100 |
Start Isabelle TOOL with ARGS; pass "-?" for tool-specific help. |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
101 |
|
73367 | 102 |
Available tools:""" + tool_descriptions.mkString("\n ", "\n ", "\n")).usage() |
62829
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
103 |
case tool_name :: tool_args => |
62830 | 104 |
find_external(tool_name) orElse find_internal(tool_name) match { |
105 |
case Some(tool) => tool(tool_args) |
|
62829
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
106 |
case None => error("Unknown Isabelle tool: " + quote(tool_name)) |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
107 |
} |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
108 |
} |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
109 |
} |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
110 |
} |
4141c2a8458b
clarified Isabelle tool wrapper: bash, Scala, no perl, no ML;
wenzelm
parents:
diff
changeset
|
111 |
} |
62830 | 112 |
|
72763 | 113 |
sealed case class Isabelle_Tool( |
114 |
name: String, |
|
115 |
description: String, |
|
116 |
here: Scala_Project.Here, |
|
75393 | 117 |
body: List[String] => Unit |
118 |
) extends Isabelle_Tool.Entry { |
|
72763 | 119 |
def position: Position.T = here.position |
120 |
} |
|
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
121 |
|
71736 | 122 |
class Isabelle_Scala_Tools(val tools: Isabelle_Tool*) extends Isabelle_System.Service |
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
123 |
|
69810 | 124 |
class Tools extends Isabelle_Scala_Tools( |
77553 | 125 |
Build.isabelle_tool1, |
126 |
Build.isabelle_tool2, |
|
77557 | 127 |
Build.isabelle_tool3, |
78562 | 128 |
Build.isabelle_tool4, |
79620 | 129 |
Build_Benchmark.isabelle_tool, |
79182
6202d0ff36b4
added build schedule command-line wrapper;
Fabian Huch <huch@in.tum.de>
parents:
78854
diff
changeset
|
130 |
Build_Schedule.isabelle_tool, |
76222
3c4e373922ca
restructured ci profile into modular ci build system;
Fabian Huch <huch@in.tum.de>
parents:
76075
diff
changeset
|
131 |
CI_Build.isabelle_tool, |
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
132 |
Doc.isabelle_tool, |
77567
b975f5aaf6b8
renamed "isabelle build_docker" to "isabelle docker_build" (unrelated to "isabelle build");
wenzelm
parents:
77566
diff
changeset
|
133 |
Docker_Build.isabelle_tool, |
73718 | 134 |
Document_Build.isabelle_tool, |
76480 | 135 |
Dotnet_Setup.isabelle_tool, |
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
136 |
Dump.isabelle_tool, |
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
137 |
Export.isabelle_tool, |
77564 | 138 |
Logo.isabelle_tool, |
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
139 |
ML_Process.isabelle_tool, |
75474 | 140 |
Mercurial.isabelle_tool1, |
141 |
Mercurial.isabelle_tool2, |
|
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
142 |
Mkroot.isabelle_tool, |
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
143 |
Options.isabelle_tool, |
70967 | 144 |
Phabricator.isabelle_tool1, |
145 |
Phabricator.isabelle_tool2, |
|
71097 | 146 |
Phabricator.isabelle_tool3, |
71109
8c1c717a830b
configure SSH hosting via "isabelle phabricator_setup_ssh";
wenzelm
parents:
71097
diff
changeset
|
147 |
Phabricator.isabelle_tool4, |
78315 | 148 |
Profiling.isabelle_tool, |
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
149 |
Profiling_Report.isabelle_tool, |
77564 | 150 |
Scala_Project.isabelle_tool, |
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
151 |
Server.isabelle_tool, |
71808 | 152 |
Sessions.isabelle_tool, |
75555
197a5b3a1ea2
promote "isabelle sync" to regular user-space tool, with proper documentation;
wenzelm
parents:
75549
diff
changeset
|
153 |
Sync.isabelle_tool, |
69557 | 154 |
Update.isabelle_tool, |
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
155 |
Update_Cartouches.isabelle_tool, |
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
156 |
Update_Comments.isabelle_tool, |
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
157 |
Update_Header.isabelle_tool, |
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
158 |
Update_Then.isabelle_tool, |
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
159 |
Update_Theorems.isabelle_tool, |
73691
2f9877db82a1
reimplemented Mirabelle as Isabelle/ML presentation hook + Isabelle/Scala tool, but sledgehammer is still inactive;
wenzelm
parents:
73653
diff
changeset
|
160 |
isabelle.mirabelle.Mirabelle.isabelle_tool, |
75562 | 161 |
isabelle.vscode.Language_Server.isabelle_tool, |
162 |
isabelle.vscode.VSCode_Main.isabelle_tool) |
|
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
163 |
|
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
164 |
class Admin_Tools extends Isabelle_Scala_Tools( |
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
165 |
Build_Doc.isabelle_tool, |
77749 | 166 |
Build_Log.isabelle_tool, |
69277
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
167 |
Build_Status.isabelle_tool, |
258bef08b31e
support for user-defined Isabelle/Scala command-line tools;
wenzelm
parents:
69168
diff
changeset
|
168 |
Check_Sources.isabelle_tool, |
77566
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
169 |
Component_CSDP.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
170 |
Component_CVC5.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
171 |
Component_Cygwin.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
172 |
Component_E.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
173 |
Component_EPTCS.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
174 |
Component_Easychair.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
175 |
Component_Foiltex.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
176 |
Component_Fonts.isabelle_tool, |
78746
a748a244a028
add component build tool for hugo from afp-devel;
Fabian Huch <huch@in.tum.de>
parents:
78562
diff
changeset
|
177 |
Component_Hugo.isabelle_tool, |
78827
06f0e720b913
added component for javax mail;
Fabian Huch <huch@in.tum.de>
parents:
78746
diff
changeset
|
178 |
Component_Javamail.isabelle_tool, |
77566
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
179 |
Component_JDK.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
180 |
Component_JEdit.isabelle_tool, |
77619
6d0985955872
discontinued apache-commons in favour of jsoup, which is smaller and more useful;
wenzelm
parents:
77567
diff
changeset
|
181 |
Component_Jsoup.isabelle_tool, |
77566
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
182 |
Component_LIPIcs.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
183 |
Component_LLNCS.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
184 |
Component_Minisat.isabelle_tool, |
79951
84f2d481d6d7
update to mlton-20210117-2, which covers x86_64-linux, x86_64-darwin, arm64-darwin;
wenzelm
parents:
79624
diff
changeset
|
185 |
Component_MLton.isabelle_tool, |
77566
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
186 |
Component_PDFjs.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
187 |
Component_PolyML.isabelle_tool1, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
188 |
Component_PolyML.isabelle_tool2, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
189 |
Component_PostgreSQL.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
190 |
Component_Prismjs.isabelle_tool, |
77753
2b5b093a1c08
build rsync from sources, to avoid divergence of protocols on various platforms;
wenzelm
parents:
77749
diff
changeset
|
191 |
Component_Rsync.isabelle_tool, |
77566
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
192 |
Component_SPASS.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
193 |
Component_SQLite.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
194 |
Component_Scala.isabelle_tool, |
78301 | 195 |
Component_Stack.isabelle_tool, |
77566
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
196 |
Component_Vampire.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
197 |
Component_VeriT.isabelle_tool, |
79569
b5d199871f2f
build Isabelle windows_app component from GNU binutils and launch4j;
wenzelm
parents:
79182
diff
changeset
|
198 |
Component_Windows_App.isabelle_tool, |
77566
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
199 |
Component_Zipperposition.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
200 |
Component_Zstd.isabelle_tool, |
69429
dc5fbcb07c7b
replaced "isabelle components_checksum" shell script by "isabelle build_components" in Scala, with more functionality;
wenzelm
parents:
69401
diff
changeset
|
201 |
Components.isabelle_tool, |
77566
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
202 |
isabelle.vscode.Component_VSCode.isabelle_tool, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
203 |
isabelle.vscode.Component_VSCodium.isabelle_tool1, |
2a99fcb283ee
renamed administrative tools to build Isabelle components (unrelated to "isabelle build");
wenzelm
parents:
77564
diff
changeset
|
204 |
isabelle.vscode.Component_VSCodium.isabelle_tool2) |