-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmod.dang
More file actions
59 lines (52 loc) · 1.19 KB
/
mod.dang
File metadata and controls
59 lines (52 loc) · 1.19 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
"""
A Dagger module that uses the Python SDK.
"""
type Mod {
"""
Workspace-relative path of this module root.
"""
pub path: String!
"""
The workspace this module belongs to.
"""
let ws: Workspace!
"""
Marker filename that skips generate when found at or above this module root.
"""
let skipGenerateFilename: String!
"""
Whether this module or an ancestor contains the configured generate skip marker.
"""
pub skipGenerate: Boolean! {
ws.findUp(name: skipGenerateFilename, from: path) != null
}
"""
Manage this module's Dagger dependencies.
"""
pub deps: ModDeps! {
ModDeps(path: path, ws: ws)
}
"""
Manage the Dagger engine version required by this module.
"""
pub engine: ModEngine! {
ModEngine(path: path, ws: ws)
}
"""
Manage this module's Python build configuration (pyproject.toml).
"""
pub config: ModConfig! {
ModConfig(path: path, ws: ws)
}
"""
Generate this module.
If the generate skip marker is present, the changeset is empty.
"""
pub generate: Changeset! {
if (skipGenerate) {
polyfill.workspace(ws).fork.changes
} else {
polyfill.workspace(ws).moduleSource(path).generate.changes
}
}
}