Skip to content

Commit 2f80985

Browse files
committed
Remove deprecated PlatformHelper
This is necessary so that we can get rid of the lazy isWindows which causes issues with the configuration-cache on 8.4 nightly.
1 parent 0125322 commit 2f80985

25 files changed

+58
-287
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
* Removed deprecated `nodeModulesDir` from `NodeExtension`
55
* The resolved/computed node directory and platform are stored in `resolvedNodeDir` and `resolvedPlatform` on `NodeExtension`
66
* Fixes configuration-cache issue in Gradle 8.4
7+
* Removes the entire `PlatformHelper` as the functionality has migrated into top-level functions
8+
* Removes the deprecated `HelperExecution`
79

810
## Version 5.0.0 *(2023-05-13)*
911
* Support configuration-cache on Gradle 8.1 [#271](https://github.com/node-gradle/gradle-node-plugin/issues/271)

src/main/kotlin/com/github/gradle/node/PackageJsonExtension.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import com.fasterxml.jackson.databind.JsonNode
44
import com.fasterxml.jackson.databind.ObjectMapper
55
import org.gradle.api.Project
66
import org.gradle.kotlin.dsl.property
7-
import org.gradle.util.GradleVersion
87

98
/**
109
* Provides a parsed view of package.json

src/main/kotlin/com/github/gradle/node/exec/NodeExecRunner.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ fun buildExecConfiguration(
1919
):
2020
Provider<ExecConfiguration> {
2121
val nodeDirProvider = nodeExtension.resolvedNodeDir
22-
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider)
22+
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider, nodeExtension.resolvedPlatform)
2323
val executableProvider = computeNodeExec(nodeExtension, nodeBinDirProvider)
2424
val additionalBinPathProvider = computeAdditionalBinPath(nodeExtension, nodeBinDirProvider)
2525
return zip(executableProvider, additionalBinPathProvider)

src/main/kotlin/com/github/gradle/node/npm/exec/NpmExecRunner.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,8 @@ abstract class NpmExecRunner {
8383
Provider<ExecutableAndScript> {
8484
val nodeDirProvider = nodeExtension.resolvedNodeDir
8585
val npmDirProvider = variantComputer.computeNpmDir(nodeExtension, nodeDirProvider)
86-
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider)
87-
val npmBinDirProvider = variantComputer.computeNpmBinDir(npmDirProvider)
86+
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider, nodeExtension.resolvedPlatform)
87+
val npmBinDirProvider = variantComputer.computeNpmBinDir(npmDirProvider, nodeExtension.resolvedPlatform)
8888
val nodeExecProvider = computeNodeExec(nodeExtension, nodeBinDirProvider)
8989
val executableProvider =
9090
npmExecConfiguration.commandExecComputer(variantComputer, nodeExtension, npmBinDirProvider)
@@ -121,9 +121,9 @@ abstract class NpmExecRunner {
121121
providers.provider { listOf<String>() }
122122
}
123123
val nodeDirProvider = nodeExtension.resolvedNodeDir
124-
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider)
124+
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider, nodeExtension.resolvedPlatform)
125125
val npmDirProvider = variantComputer.computeNpmDir(nodeExtension, nodeDirProvider)
126-
val npmBinDirProvider = variantComputer.computeNpmBinDir(npmDirProvider)
126+
val npmBinDirProvider = variantComputer.computeNpmBinDir(npmDirProvider, nodeExtension.resolvedPlatform)
127127
zip(npmBinDirProvider, nodeBinDirProvider).map { (npmBinDir, nodeBinDir) ->
128128
listOf(npmBinDir, nodeBinDir).map { file -> file.asFile.absolutePath }
129129
}

src/main/kotlin/com/github/gradle/node/pnpm/exec/PnpmExecRunner.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ abstract class PnpmExecRunner {
7676
Provider<ExecutableAndScript> {
7777
val nodeDirProvider = nodeExtension.resolvedNodeDir
7878
val pnpmDirProvider = variantComputer.computePnpmDir(nodeExtension)
79-
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider)
80-
val pnpmBinDirProvider = variantComputer.computePnpmBinDir(pnpmDirProvider)
79+
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider, nodeExtension.resolvedPlatform)
80+
val pnpmBinDirProvider = variantComputer.computePnpmBinDir(pnpmDirProvider, nodeExtension.resolvedPlatform)
8181
val nodeExecProvider = computeNodeExec(nodeExtension, nodeBinDirProvider)
8282
val executableProvider =
8383
pnpmExecConfiguration.commandExecComputer(variantComputer, nodeExtension, pnpmBinDirProvider)
@@ -106,9 +106,9 @@ abstract class PnpmExecRunner {
106106
providers.provider { listOf<String>() }
107107
}
108108
val nodeDirProvider = nodeExtension.resolvedNodeDir
109-
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider)
109+
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider, nodeExtension.resolvedPlatform)
110110
val pnpmDirProvider = variantComputer.computePnpmDir(nodeExtension)
111-
val pnpmBinDirProvider = variantComputer.computePnpmBinDir(pnpmDirProvider)
111+
val pnpmBinDirProvider = variantComputer.computePnpmBinDir(pnpmDirProvider, nodeExtension.resolvedPlatform)
112112
zip(pnpmBinDirProvider, nodeBinDirProvider).map { (pnpmBinDir, nodeBinDir) ->
113113
listOf(pnpmBinDir, nodeBinDir).map { file -> file.asFile.absolutePath }
114114
}

src/main/kotlin/com/github/gradle/node/pnpm/task/PnpmInstallTask.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.github.gradle.node.pnpm.task
22

3-
import com.github.gradle.node.NodeExtension
43
import com.github.gradle.node.NodePlugin
54
import com.github.gradle.node.util.zip
65
import org.gradle.api.Action

src/main/kotlin/com/github/gradle/node/pnpm/task/PnpmSetupTask.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.github.gradle.node.pnpm.task
22

33
import com.github.gradle.node.NodePlugin
4-
import com.github.gradle.node.npm.proxy.NpmProxy
54
import com.github.gradle.node.npm.task.NpmSetupTask
65
import com.github.gradle.node.variant.VariantComputer
76
import org.gradle.api.provider.Provider
@@ -25,7 +24,7 @@ abstract class PnpmSetupTask : NpmSetupTask() {
2524

2625
@get:OutputDirectory
2726
val pnpmDir by lazy {
28-
val variantComputer = VariantComputer(platformHelper)
27+
val variantComputer = VariantComputer()
2928
variantComputer.computePnpmDir(nodeExtension)
3029
}
3130

src/main/kotlin/com/github/gradle/node/task/BaseTask.kt

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,18 @@
11
package com.github.gradle.node.task
22

3-
import com.github.gradle.node.util.PlatformHelper
43
import com.github.gradle.node.variant.VariantComputer
54
import org.gradle.api.DefaultTask
65
import org.gradle.api.tasks.Internal
7-
import org.gradle.process.ExecOperations
86
import org.gradle.process.ExecResult
9-
import javax.inject.Inject
107

118
abstract class BaseTask : DefaultTask() {
129

1310
@get:Internal
1411
var result: ExecResult? = null
1512

16-
@get:Internal
17-
var platformHelper = PlatformHelper()
18-
1913
@get:Internal
2014
internal val variantComputer by lazy {
21-
VariantComputer(platformHelper)
15+
VariantComputer()
2216
}
2317

2418

src/main/kotlin/com/github/gradle/node/task/NodeSetupTask.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ abstract class NodeSetupTask : BaseTask() {
6363
private fun unpackNodeArchive() {
6464
val archiveFile = nodeArchiveFile.get().asFile
6565
val nodeDirProvider = nodeExtension.resolvedNodeDir
66-
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider)
66+
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider, nodeExtension.resolvedPlatform)
6767
val archivePath = nodeDirProvider.map { it.dir("../") }
6868
if (archiveFile.name.endsWith("zip")) {
6969
projectHelper.copy {
@@ -92,7 +92,10 @@ abstract class NodeSetupTask : BaseTask() {
9292

9393
private fun setExecutableFlag() {
9494
if (!nodeExtension.resolvedPlatform.get().isWindows()) {
95-
val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeExtension.resolvedNodeDir)
95+
val nodeBinDirProvider = variantComputer.computeNodeBinDir(
96+
nodeExtension.resolvedNodeDir,
97+
nodeExtension.resolvedPlatform
98+
)
9699
val nodeExecProvider = computeNodeExec(nodeExtension, nodeBinDirProvider)
97100
File(nodeExecProvider.get()).setExecutable(true)
98101
}

src/main/kotlin/com/github/gradle/node/util/PlatformHelper.kt

Lines changed: 0 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,6 @@ package com.github.gradle.node.util
22

33
import java.util.concurrent.Callable
44

5-
6-
@Deprecated(message = "This class is no longer needed, the computed output is stored in the NodeExtension")
7-
internal class DefaultHelperExecution : HelperExecution {
8-
override fun exec(command: String, vararg args: String, timeout: Long): String {
9-
return execute(command, *args, timeout = timeout)
10-
}
11-
}
12-
13-
@Deprecated(message = "This class is no longer needed, the computed output is stored in the NodeExtension")
14-
interface HelperExecution {
15-
fun exec(command: String, vararg args: String, timeout: Long = 60): String
16-
}
17-
185
fun parsePlatform(name: String, arch: String, uname: () -> String): Platform {
196
return Platform(parseOsName(name.toLowerCase()), parseOsArch(arch.toLowerCase(), uname))
207
}
@@ -46,39 +33,6 @@ fun parseOsArch(arch: String, uname: Callable<String>): String {
4633
}
4734
}
4835

49-
open class PlatformHelper(private val execution: HelperExecution = DefaultHelperExecution()) {
50-
@get:Deprecated(message = "moved to NodeExtension")
51-
open val osName: String by lazy {
52-
parseOsName(property("os.name").toLowerCase())
53-
}
54-
55-
@get:Deprecated(message = "moved to NodeExtension")
56-
open val osArch: String by lazy {
57-
val arch = property("os.arch").toLowerCase()
58-
val uname = { property("uname") }
59-
parseOsArch(arch, uname)
60-
}
61-
62-
@get:Deprecated(message = "moved to NodeExtension",
63-
replaceWith = ReplaceWith("nodeExtension.resolvedPlatform.get().isWindows()"))
64-
open val isWindows: Boolean by lazy { osName == "win" }
65-
66-
private fun property(name: String): String {
67-
return getSystemProperty(name) ?:
68-
// Added so that we can test osArch on Windows and on non-arm systems
69-
if (name == "uname") execution.exec("uname", "-m")
70-
else error("Unable to find a value for property [$name].")
71-
}
72-
73-
open fun getSystemProperty(name: String): String? {
74-
return System.getProperty(name)
75-
}
76-
77-
companion object {
78-
var INSTANCE = PlatformHelper()
79-
}
80-
}
81-
8236
fun main(args: Array<String>) {
8337
val osName = System.getProperty("os.name")
8438
val osArch = System.getProperty("os.arch")

0 commit comments

Comments
 (0)