-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfmide-cli.sc
More file actions
50 lines (47 loc) · 2.62 KB
/
fmide-cli.sc
File metadata and controls
50 lines (47 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// #Sireum
import org.sireum._
import org.sireum.cli.CliOpt._
// the usage field will be placed inside a ST so to get newlines that don't have large
// indentations we need to nest another ST inside that.
val tqs: String = "\"\"\""
val usage: String ="<option>*"
val fmideTool: Tool = Tool(
name = "fmide",
command = "fmide",
description = "FMIDE Installer",
header = "FMIDE Installer",
usage = usage,
usageDescOpt = None(),
opts = ISZ(
Opt(name = "awas", longKey = "awas", shortKey = None(),
tpe = Type.Str(sep = None(), default = Some("1.2025.09161533.4336a133")), description = "AWAS version"),
Opt(name = "gumbo", longKey = "gumbo", shortKey = None(),
tpe = Type.Str(sep = None(), default = Some("1.2026.03261303.8534bc4d")), description = "Sireum GUMBO version"),
Opt(name = "hamr", longKey = "hamr", shortKey = None(),
tpe = Type.Str(sep = None(), default = Some("1.2025.09161533.4336a133")), description = "Sireum HAMR version"),
Opt(name = "agree", longKey = "agree", shortKey = None(),
tpe = Type.Str(sep = None(), default = Some("2.11.2")), description = "AGREE version"),
Opt(name = "briefcase", longKey = "briefcase", shortKey = None(),
tpe = Type.Str(sep = None(), default = Some("0.9.2")), description = "BriefCASE version"),
Opt(name = "jkind", longKey = "jkind", shortKey = None(),
tpe = Type.Str(sep = None(), default = Some("4.5.2")), description = "JKind version"),
Opt(name = "resolute", longKey = "resolute", shortKey = None(),
tpe = Type.Str(sep = None(), default = Some("4.1.100")), description = "Resolute version"),
Opt(name = "osate", longKey = "osate", shortKey = None(),
tpe = Type.Str(sep = None(), default = Some("2.14.0-vfinal")), description = "OSATE version"),
Opt(name = "eclipse", longKey = "eclipse", shortKey = None(),
tpe = Type.Str(sep = None(), default = Some("2023-12")), description = "Eclipse release version")
),
groups = ISZ(
OptGroup(name = "Installation", opts = ISZ(
Opt(name = "existingInstall", longKey = "existing-install", shortKey = None(),
tpe = Type.Path(multiple = F, default = None()),
description="Path to an existing OSATE installation where the FMIDE plugins will be installed/updated. The '--osate' option will be ignored if provided"),
Opt(name = "verbose", longKey = "verbose", shortKey = Some('v'),
tpe = Type.Flag(F), description = "Verbose output"),
Opt(name = "verbosePlus", longKey = "verbose+", shortKey = None(),
tpe = Type.Flag(F), description = "Increased verbose output ")
))
)
)
println(org.sireum.cli.JSON.fromCliOpt(fmideTool, T))