/
build.gradle
58 lines (47 loc) · 1.3 KB
/
build.gradle
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
class MyTask extends DefaultTask {
@Nested
TextResource config
@OutputFile
File output
@TaskAction
void generate() {
getOutput().text = getConfig().asString()
}
}
def generateConfigFile = tasks.register("generateConfigFile") {
outputs.file "config.txt"
doLast {
file("config.txt").text = "my config"
}
}
task generateConfigZip(type: Zip) {
destinationDirectory = projectDir
archiveFileName = "config.zip"
from generateConfigFile.get()
}
configurations {
sharedConfig
}
dependencies {
sharedConfig generateConfigZip.outputs.files
}
task stringText(type: MyTask) {
config = resources.text.fromString("my config")
output = project.file("output.txt")
}
task fileText(type: MyTask) {
config = resources.text.fromFile("config.txt")
output = project.file("output.txt")
}
task fileCollectionText(type: MyTask) {
config = resources.text.fromFile(generateConfigFile.get())
output = project.file("output.txt")
}
task fileCollectionTextUsingTaskProvider(type: MyTask) {
config = resources.text.fromFile(generateConfigFile)
output = project.file("output.txt")
}
task archiveEntryText(type: MyTask) {
config = resources.text.fromArchiveEntry(configurations.sharedConfig, "config.txt")
output = project.file("output.txt")
}