Skip to content

Commit 05fe538

Browse files
committed
Skip running NpmInstall when package.json is missing #174
1 parent 610c145 commit 05fe538

2 files changed

Lines changed: 29 additions & 0 deletions

File tree

src/main/kotlin/com/github/gradle/node/npm/task/NpmInstallTask.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ abstract class NpmInstallTask : NpmTask() {
2929

3030
@PathSensitive(RELATIVE)
3131
@InputFile
32+
@SkipWhenEmpty
3233
protected fun getPackageJsonFile(): Provider<File> {
3334
return projectFileIfExists("package.json")
3435
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.github.gradle.node.npm.task
2+
3+
import com.github.gradle.AbstractIntegTest
4+
import org.gradle.testkit.runner.TaskOutcome
5+
import org.junit.Rule
6+
import org.junit.contrib.java.lang.system.EnvironmentVariables
7+
8+
class NpmInstallTask_integTest extends AbstractIntegTest {
9+
@Rule
10+
EnvironmentVariables environmentVariables = new EnvironmentVariables()
11+
12+
def 'do not fail build if package.json is missing (#gv.version)'() {
13+
given:
14+
gradleVersion = gv
15+
16+
copyResources("fixtures/node-env/")
17+
18+
when:
19+
def result1 = build(":npmInstall")
20+
21+
then:
22+
result1.task(":npmInstall").outcome == TaskOutcome.NO_SOURCE
23+
24+
where:
25+
gv << GRADLE_VERSIONS_UNDER_TEST
26+
}
27+
28+
}

0 commit comments

Comments
 (0)