@@ -35,7 +35,8 @@ val testTaskUsingNpx = tasks.register<NpxTask>("testNpx") {
35
35
}
36
36
inputs.dir(" node_modules" )
37
37
inputs.file(" package.json" )
38
- inputs.files(" index.js" , " test.js" )
38
+ inputs.dir(" src" )
39
+ inputs.dir(" test" )
39
40
outputs.upToDateWhen {
40
41
true
41
42
}
@@ -52,7 +53,8 @@ val testTaskUsingNpm = tasks.register<NpmTask>("testNpm") {
52
53
}
53
54
inputs.dir(" node_modules" )
54
55
inputs.file(" package.json" )
55
- inputs.files(" index.js" , " test.js" )
56
+ inputs.dir(" src" )
57
+ inputs.dir(" test" )
56
58
outputs.upToDateWhen {
57
59
true
58
60
}
@@ -69,24 +71,57 @@ val testTaskUsingYarn = tasks.register<YarnTask>("testYarn") {
69
71
}
70
72
inputs.dir(" node_modules" )
71
73
inputs.file(" package.json" )
72
- inputs.files(" index.js" , " test.js" )
74
+ inputs.dir(" src" )
75
+ inputs.dir(" test" )
73
76
outputs.upToDateWhen {
74
77
true
75
78
}
76
79
}
77
80
78
81
tasks.register<NodeTask >(" run" ) {
79
82
dependsOn(testTaskUsingNpx, testTaskUsingNpm, testTaskUsingYarn)
80
- script = file(" main.js" )
83
+ script = file(" src/ main.js" )
81
84
args = listOf (" Bobby" )
82
85
ignoreExitValue = false
83
86
environment = mapOf (" MY_CUSTOM_VARIABLE" to " hello" )
84
87
workingDir = file(" ./" )
85
88
execOverrides = {
86
89
standardOutput = System .out
87
90
}
88
- inputs.files( " index.js " , " main.js " )
91
+ inputs.dir( " src " )
89
92
outputs.upToDateWhen {
90
93
false
91
94
}
92
95
}
96
+
97
+ val buildTaskUsingNpx = tasks.register<NpxTask >(" buildNpx" ) {
98
+ dependsOn(npmInstallTask)
99
+ command = " babel"
100
+ args = listOf (" src" , " --out-dir" , " ${buildDir} /npx-output" )
101
+ inputs.dir(" src" )
102
+ outputs.dir(" ${buildDir} /npx-output" )
103
+ }
104
+
105
+ val buildTaskUsingNpm = tasks.register<NpmTask >(" buildNpm" ) {
106
+ dependsOn(npmInstallTask)
107
+ // For some reason the --out-dir parameter is not passed to babel, so we use a dedicated command
108
+ npmCommand = listOf (" run" , " buildNpm" )
109
+ args = listOf ()
110
+ inputs.dir(" src" )
111
+ outputs.dir(" ${buildDir} /npm-output" )
112
+ }
113
+
114
+ val buildTaskUsingYarn = tasks.register<YarnTask >(" buildYarn" ) {
115
+ dependsOn(npmInstallTask)
116
+ yarnCommand = listOf (" run" , " build" )
117
+ args = listOf (" --out-dir" , " ${buildDir} /yarn-output" )
118
+ inputs.dir(" src" )
119
+ outputs.dir(" ${buildDir} /yarn-output" )
120
+ }
121
+
122
+ tasks.register<Zip >(" package" ) {
123
+ // Using old deprecated properties to get it work with Gradle 5.0
124
+ archiveName = " app.zip"
125
+ destinationDir = buildDir
126
+ from(buildTaskUsingNpx, buildTaskUsingNpm, buildTaskUsingYarn)
127
+ }
0 commit comments