-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathtool.go
70 lines (54 loc) · 2.34 KB
/
tool.go
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
package cwl
type Tool struct {
CWLVersion string `json:"cwlVersion,omitempty"`
ID string `json:"id,omitempty"`
Label string `json:"label,omitempty"`
Doc string `json:"doc,omitempty"`
Hints []Requirement `json:"hints,omitempty"`
Requirements []Requirement `json:"requirements,omitempty"`
Inputs []CommandInput `json:"inputs,omitempty"`
Outputs []CommandOutput `json:"outputs,omitempty"`
BaseCommand []string `json:"baseCommand,omitempty"`
Arguments []*CommandLineBinding `json:"arguments,omitempty"`
Stdin Expression `json:"stdin,omitempty"`
Stderr Expression `json:"stderr,omitempty"`
Stdout Expression `json:"stdout,omitempty"`
SuccessCodes []int `json:"successCodes,omitempty"`
TemporaryFailCodes []int `json:",omitempty"`
PermanentFailCodes []int `json:",omitempty"`
}
type CommandInput struct {
ID string `json:"id,omitempty"`
Label string `json:"label,omitempty"`
Doc string `json:"doc,omitempty"`
Streamable bool `json:"streamable,omitempty"`
Default Value `json:"default,omitempty"`
Type []InputType `json:"type,omitempty"`
SecondaryFiles []Expression `json:"secondaryFiles,omitempty"`
Format []Expression `json:"format,omitempty"`
InputBinding *CommandLineBinding `json:"inputBinding,omitempty"`
}
type CommandOutput struct {
ID string `json:"id,omitempty"`
Label string `json:"label,omitempty"`
Doc string `json:"doc,omitempty"`
Streamable bool `json:"streamable,omitempty"`
Type []OutputType `json:"type,omitempty"`
SecondaryFiles []Expression `json:"secondaryFiles,omitempty"`
Format []Expression `json:"format,omitempty"`
OutputBinding *CommandOutputBinding `json:"outputBinding,omitempty"`
}
type CommandLineBinding struct {
LoadContents bool `json:"loadContents,omitempty"`
Position int `json:"position,omitempty"`
Prefix string `json:"prefix,omitempty"`
ItemSeparator string `json:"itemSeparator,omitempty"`
ValueFrom Expression `json:"valueFrom,omitempty"`
Separate OptOut `json:"separate,omitempty"`
ShellQuote OptOut `json:"shellQuote,omitempty"`
}
type CommandOutputBinding struct {
Glob []Expression `json:"glob,omitempty"`
LoadContents bool `json:"loadContents,omitempty"`
OutputEval Expression `json:"outputEval,omitempty"`
}