summaryrefslogtreecommitdiffstats
path: root/manifest/v3.cue
blob: 1293322813d549de83cdfbdb70d3d4c3bbdd7d0c (plain)
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
#path_string: string & =~ "^/"
#file_string: #path_string & =~ "[^/]$"
#octal_string: string & =~ "^[0-7]{3,4}$"

#HjemFile: {
	type!: string
	source?: #path_string
	target!: #path_string
	clobber?: bool
	permissions?: #octal_string
	uid?: int & >=0
	gid?: int & >=0
	deactivate?: bool
	ignore_modification?: bool
} & ({
	type: "copy"
	// "copy" only works with individual files
	source!: #file_string
	target!: #file_string
	...
} | {
	type: "symlink"
	source!: _
	// disallow inapplicable fields
	ignore_modification?: _|_
	permissions?: _|_
	uid?: _|_
	gid?: _|_
	...
} | {
	type: "delete" | "directory" | "modify"
	ignore_modification?: _|_
	source?: _|_
	...
})

close({
	version: 3
	files: [...#HjemFile]
})