-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathproject.cmd
executable file
·84 lines (76 loc) · 2.92 KB
/
project.cmd
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
::/*#! 2> /dev/null #
@ 2>/dev/null # 2>nul & echo off & goto BOF #
if [ -z "${SIREUM_HOME}" ]; then #
echo "Please set SIREUM_HOME env var" #
exit -1 #
fi #
exec "${SIREUM_HOME}/bin/sireum" slang run "$0" "$@" #
:BOF
setlocal
if not defined SIREUM_HOME (
echo Please set SIREUM_HOME env var
exit /B -1
)
"%SIREUM_HOME%\bin\sireum.bat" slang run %0 %*
exit /B %errorlevel%
::!#*/
// #Sireum
// Example Sireum Proyek build definitions -- the contents of this file will not be overwritten
//
// To install Sireum (Proyek and IVE) see https://sireum.org/getting-started/
//
// The following commands should be executed in the parent of the 'bin' directory.
//
// Command Line:
// To run the demo from the command line using the default scheduler:
// sireum proyek run . isolette.Demo
//
// To see the available CLI options:
// sireum proyek run . isolette.Demo -h
//
// To run the example unit tests from the command line:
// sireum proyek test .
//
// To build an executable jar:
// sireum proyek assemble --uber --main isolette.Demo .
//
// Sireum IVE:
//
// Create the IVE project if Codegen was not run locally or if its no-proyek-ive
// option was used:
// sireum proyek ive .
//
// Then in IVE select 'File > Open ...' and navigate to the parent of the
// 'bin' directory and click 'OK'.
//
// To run the demo from within Sireum IVE:
// Right click src/main/architecture/isolette/Demo.scala and choose "Run 'Demo'"
//
// To run the unit test cases from within Sireum IVE:
// Right click the src/test/bridge and choose "Run ScalaTests in bridge"
import org.sireum._
import org.sireum.project.{Module, Project, Target}
val home: Os.Path = Os.slashDir.up.canon
val slangModule: Module = Module(
id = "isolette_single_sensor_Instance",
basePath = (home / "src").string,
subPathOpt = None(),
deps = ISZ(),
targets = ISZ(Target.Jvm),
ivyDeps = ISZ("org.sireum.kekinian::library:",
"org.sireum.kekinian::hamr-vision:"),
sources = for(m <- ISZ("art", "architecture", "bridge", "component", "data", "nix", "seL4Nix", "util")) yield (Os.path("main") / m).string,
resources = ISZ(),
testSources = for (m <- ISZ("bridge", "system", "util")) yield (Os.path("test") / m).string,
testResources = ISZ(),
publishInfoOpt = None()
)
val inspectorModule: Module = slangModule(
sources = slangModule.sources :+ (Os.path("main") / "inspector").string,
ivyDeps = slangModule.ivyDeps ++ ISZ("org.sireum:inspector-capabilities:", "org.sireum:inspector-gui:", "org.sireum:inspector-services-jvm:")
)
val slangProject: Project = Project.empty + slangModule
val inspectorProject: Project = Project.empty + inspectorModule
val prj: Project = slangProject
//val prj: Project = inspectorProject()
println(project.JSON.fromProject(prj, T))