This repository was archived by the owner on May 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgenScripts.yaml
More file actions
94 lines (84 loc) · 3.04 KB
/
genScripts.yaml
File metadata and controls
94 lines (84 loc) · 3.04 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
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
85
86
87
88
89
90
91
92
93
ojob:
async: true
logToConsole: true
todo:
- Detect OS
- Detect Python version
- Generate API key
- Generate Python script
- Generate OS script
- Generate Watchdog oJob
jobs:
#----------------
- name: Detect OS
exec: |
ow.loadFormat();
global.os = (ow.format.getOS().match(/windows/i) ? "win" : "unix");
log("OS type: " + global.os);
#----------------------------
- name: Detect Python version
exec: |
var res = $sh("python --version").get(0);
res = res.stdout + res.stderr;
global.python = (res.match(/ 2\./) ? 2 : 3);
log("Python version: " + global.python);
#-----------------------
- name: Generate API key
exec: |
if (isUnDef(args.APIKEY) && io.fileExists(getOPackPath("roJob") + "/.apikey"))
args.APIKEY = io.readFileString(getOPackPath("roJob") + "/.apikey");
var key = ( isDef(args.APIKEY) ? args.APIKEY : sha512(genUUID()) );
key = key.trim().replace(/\n/g, "");
io.writeFileString(getOPackPath("roJob") + "/.apikey", key);
global.key = key;
log("APIKEY: " + key);
#-----------------------------
- name: Generate Python script
deps:
- Detect Python version
- Generate API key
exec: |
var script;
if (global.python == 2) {
script = io.readFileString(getOPackPath("roJob") + "/rojob.py.sample2");
} else {
script = io.readFileString(getOPackPath("roJob") + "/rojob.py.sample3");
}
script = script.replace(/APIKEY = \"[^"]*\"/, "APIKEY = \"" + global.key + "\"");
io.writeFileString(getOPackPath("roJob") + "/rojob.py", script);
log("Generated " + getOPackPath("roJob") + "/rojob.py.");
#-------------------------
- name: Generate OS script
deps:
- Detect OS
- Generate Python script
exec: |
var script = "";
if (global.os == "win") {
script += "@echo off\n\n";
script += "python " + getOPackPath("roJob") + "\\rojob.py %*\n";
io.writeFileString(getOPackPath("roJob") + "\\rojob.bat", script);
log("Generated rojob.bat.");
} else {
script += "#!/bin/sh\n\n";
script += "python " + getOPackPath("roJob") + "/rojob.py \"$@\"\n";
io.writeFileString(getOPackPath("roJob") + "/rojob.sh", script);
sh("chmod u+x " + getOPackPath("roJob") + "/rojob.sh");
log("Generated rojob.sh.");
}
#-----------------------------
- name: Generate Watchdog oJob
deps:
- Detect OS
exec: |
args.CDISC = _$(args.CDISC).default("127.0.0.1:8787");
args.PORTS = _$(args.PORTS).default("8787,8788");
args.PORTS = args.PORTS.split(/,/);
io.writeFileString(getOPackPath("roJob") + "/watchdog.yaml", templify(io.readFileString(getOPackPath("roJob") + "/watchdog.yaml.sample"), {
win: (global.os == "win"),
opackHome: getOPackPath("roJob").replace(/\\/g, "/"),
openafHome: getOpenAFPath().replace(/\\/g, "/"),
cdisc: args.CDISC,
ports: args.PORTS
}));
log("Generated watchdog.yaml.");