-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.gradle.kts
63 lines (52 loc) · 1.83 KB
/
build.gradle.kts
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
import com.moowork.gradle.node.task.NodeTask
plugins {
id("com.moowork.node").version("1.3.1")
}
// manually kept in sync with manifest for now
val version = "1.0"
val scriptName = "kittenclicker"
val artifactName = "$scriptName-$version.zip"
val artifactsDir = File(buildDir, "artifacts")
val bundle = File(artifactsDir, artifactName)
val srcDir = file("src")
val secretsFile = file("secrets.properties")
val webExtFile = file("node_modules/web-ext/bin/web-ext")
tasks {
withType(NodeTask::class.java) {
dependsOn(named("npmInstall"))
}
val assemble = register("assemble", NodeTask::class.java) {
description = "build extension without signing"
inputs.dir(srcDir)
outputs.file(bundle)
setScript(webExtFile)
setArgs(listOf("build", "--source-dir", srcDir.absolutePath, "--artifacts-dir", artifactsDir.absolutePath, "--overwrite-dest"))
}
val sign = register("sign", NodeTask::class.java) {
description = "build and sign extension"
val secrets: java.util.Properties = secretsFile.inputStream().use {
java.util.Properties().apply {
load(it)
}
}
inputs.dir(srcDir)
inputs.file(secretsFile)
outputs.file(bundle)
setScript(webExtFile)
setArgs(listOf("sign",
"--source-dir", srcDir,
"--artifacts-dir", artifactsDir,
"--api-key", secrets["jwtIssuer"],
"--api-secret", secrets["jwtSecret"]))
}
val run = register("run", NodeTask::class.java) {
setScript(webExtFile)
setArgs(listOf("run",
"--source-dir", srcDir,
"--artifacts-dir", artifactsDir))
}
val clean = register("clean", Delete::class.java) {
delete(buildDir)
delete("node_modules")
}
}