File tree Expand file tree Collapse file tree 3 files changed +35
-2
lines changed
main/kotlin/com/github/gradle/node/task
test/groovy/com/github/gradle Expand file tree Collapse file tree 3 files changed +35
-2
lines changed Original file line number Diff line number Diff line change @@ -56,7 +56,9 @@ abstract class NodeSetupTask : BaseTask() {
5656
5757 private fun deleteExistingNode () {
5858 projectHelper.delete {
59- delete(nodeDir.get().dir(" ../" ))
59+ delete(nodeDir.get().dir(" ../" ).asFileTree.matching {
60+ include(" node-v*/**" )
61+ })
6062 }
6163 }
6264
Original file line number Diff line number Diff line change @@ -61,10 +61,11 @@ abstract class AbstractIntegTest extends Specification {
6161 return new File (temporaryFolder. getRoot(), name)
6262 }
6363
64- protected final void writeFile (final String name , final String text ) {
64+ protected final File writeFile (final String name , final String text ) {
6565 File file = createFile(name)
6666 file. parentFile. mkdirs()
6767 file << text
68+ return file
6869 }
6970
7071 protected final void writePackageJson (final String text ) {
Original file line number Diff line number Diff line change @@ -47,4 +47,34 @@ node {
4747 gv << GRADLE_VERSIONS_UNDER_TEST
4848 }
4949
50+ def 'nodeSetup should only delete old node versions (#gv.version)'() {
51+ given:
52+ gradleVersion = gv
53+
54+ def badVersion = "node-v18.17.0"
55+ def goodVersion = "18.17.1"
56+ createFile("build.gradle") << """plugins {
57+ id "com.github.node-gradle.node"
58+ }
59+
60+ node {
61+ version = "${goodVersion}"
62+ download = true
63+ workDir = file("build/node")
64+ }"""
65+ def badFile = writeFile("build/node/$badVersion/bin/node.js", "console.log(\" bad\" );")
66+ def goodFile = writeFile("build/node/important.txt", "should not be deleted by nodeSetup")
67+
68+ when:
69+ def result1 = build("nodeSetup")
70+
71+ then:
72+ result1.task(":nodeSetup").outcome == TaskOutcome.SUCCESS
73+ !badFile.exists()
74+ goodFile.exists()
75+
76+ where:
77+ gv << GRADLE_VERSIONS_UNDER_TEST
78+ }
79+
5080}
You can’t perform that action at this time.
0 commit comments