@@ -20,53 +20,76 @@ abstract class NpmExecRunner {
2020 @get:Inject
2121 abstract val providers: ProviderFactory
2222
23- fun executeNpmCommand (project : ProjectApiHelper , extension : NodeExtension , nodeExecConfiguration : NodeExecConfiguration , variants : VariantComputer ): ExecResult {
24- val npmExecConfiguration = NpmExecConfiguration (" npm"
23+ fun executeNpmCommand (
24+ project : ProjectApiHelper ,
25+ extension : NodeExtension ,
26+ nodeExecConfiguration : NodeExecConfiguration ,
27+ variants : VariantComputer
28+ ): ExecResult {
29+ val npmExecConfiguration = NpmExecConfiguration (
30+ " npm"
2531 ) { variantComputer, nodeExtension, npmBinDir -> variantComputer.computeNpmExec(nodeExtension, npmBinDir) }
26- return executeCommand(project, extension, NpmProxy .addProxyEnvironmentVariables(extension.nodeProxySettings.get(), nodeExecConfiguration),
27- npmExecConfiguration,
28- variants)
32+ return executeCommand(
33+ project,
34+ extension,
35+ NpmProxy .addProxyEnvironmentVariables(extension.nodeProxySettings.get(), nodeExecConfiguration),
36+ npmExecConfiguration,
37+ variants
38+ )
2939 }
3040
31- fun executeNpxCommand (project : ProjectApiHelper , extension : NodeExtension , nodeExecConfiguration : NodeExecConfiguration , variants : VariantComputer ): ExecResult {
41+ fun executeNpxCommand (
42+ project : ProjectApiHelper ,
43+ extension : NodeExtension ,
44+ nodeExecConfiguration : NodeExecConfiguration ,
45+ variants : VariantComputer
46+ ): ExecResult {
3247 val npxExecConfiguration = NpmExecConfiguration (" npx" ) { variantComputer, nodeExtension, npmBinDir ->
3348 variantComputer.computeNpxExec(nodeExtension, npmBinDir)
3449 }
3550
3651 return executeCommand(project, extension, nodeExecConfiguration, npxExecConfiguration, variants)
3752 }
3853
39- private fun executeCommand (project : ProjectApiHelper , extension : NodeExtension , nodeExecConfiguration : NodeExecConfiguration ,
40- npmExecConfiguration : NpmExecConfiguration ,
41- variantComputer : VariantComputer ): ExecResult {
54+ private fun executeCommand (
55+ project : ProjectApiHelper ,
56+ extension : NodeExtension ,
57+ nodeExecConfiguration : NodeExecConfiguration ,
58+ npmExecConfiguration : NpmExecConfiguration ,
59+ variantComputer : VariantComputer
60+ ): ExecResult {
4261 val execConfiguration =
43- computeExecConfiguration(extension, npmExecConfiguration, nodeExecConfiguration, variantComputer).get()
62+ computeExecConfiguration(extension, npmExecConfiguration, nodeExecConfiguration, variantComputer).get()
4463 val execRunner = ExecRunner ()
4564 return execRunner.execute(project, extension, execConfiguration)
4665 }
4766
48- private fun computeExecConfiguration (extension : NodeExtension , npmExecConfiguration : NpmExecConfiguration ,
49- nodeExecConfiguration : NodeExecConfiguration ,
50- variantComputer : VariantComputer ): Provider <ExecConfiguration > {
67+ private fun computeExecConfiguration (
68+ extension : NodeExtension ,
69+ npmExecConfiguration : NpmExecConfiguration ,
70+ nodeExecConfiguration : NodeExecConfiguration ,
71+ variantComputer : VariantComputer
72+ ): Provider <ExecConfiguration > {
5173 val additionalBinPathProvider = computeAdditionalBinPath(extension, variantComputer)
5274 val executableAndScriptProvider = computeExecutable(extension, npmExecConfiguration, variantComputer)
5375 return zip(additionalBinPathProvider, executableAndScriptProvider)
54- .map { (additionalBinPath, executableAndScript) ->
55- val argsPrefix =
56- if (executableAndScript.script != null ) listOf (executableAndScript.script) else listOf ()
57- val args = argsPrefix.plus(nodeExecConfiguration.command)
58- ExecConfiguration (executableAndScript.executable, args, additionalBinPath,
59- nodeExecConfiguration.environment, nodeExecConfiguration.workingDir,
60- nodeExecConfiguration.ignoreExitValue, nodeExecConfiguration.execOverrides)
61- }
76+ .map { (additionalBinPath, executableAndScript) ->
77+ val argsPrefix =
78+ if (executableAndScript.script != null ) listOf (executableAndScript.script) else listOf ()
79+ val args = argsPrefix.plus(nodeExecConfiguration.command)
80+ ExecConfiguration (
81+ executableAndScript.executable, args, additionalBinPath,
82+ nodeExecConfiguration.environment, nodeExecConfiguration.workingDir,
83+ nodeExecConfiguration.ignoreExitValue, nodeExecConfiguration.execOverrides
84+ )
85+ }
6286 }
6387
6488 private fun computeExecutable (
6589 nodeExtension : NodeExtension ,
6690 npmExecConfiguration : NpmExecConfiguration ,
6791 variantComputer : VariantComputer
68- ):
69- Provider <ExecutableAndScript > {
92+ ): Provider <ExecutableAndScript > {
7093 val nodeDirProvider = nodeExtension.resolvedNodeDir
7194 val npmDirProvider = variantComputer.computeNpmDir(nodeExtension, nodeDirProvider)
7295 val nodeBinDirProvider = variantComputer.computeNodeBinDir(nodeDirProvider, nodeExtension.resolvedPlatform)
@@ -97,11 +120,14 @@ abstract class NpmExecRunner {
97120 }
98121
99122 private data class ExecutableAndScript (
100- val executable : String ,
101- val script : String? = null
123+ val executable : String ,
124+ val script : String? = null
102125 )
103126
104- private fun computeAdditionalBinPath (nodeExtension : NodeExtension , variantComputer : VariantComputer ): Provider <List <String >> {
127+ private fun computeAdditionalBinPath (
128+ nodeExtension : NodeExtension ,
129+ variantComputer : VariantComputer
130+ ): Provider <List <String >> {
105131 return nodeExtension.download.flatMap { download ->
106132 if (! download) {
107133 providers.provider { listOf<String >() }
0 commit comments