@@ -10,6 +10,7 @@ import com.github.gradle.node.pnpm.task.PnpmSetupTask
1010import com.github.gradle.node.pnpm.task.PnpmTask
1111import com.github.gradle.node.task.NodeSetupTask
1212import com.github.gradle.node.task.NodeTask
13+ import com.github.gradle.node.util.NodeVersionSource
1314import com.github.gradle.node.yarn.task.YarnInstallTask
1415import com.github.gradle.node.yarn.task.YarnSetupTask
1516import com.github.gradle.node.yarn.task.YarnTask
@@ -18,6 +19,7 @@ import org.gradle.api.Project
1819import org.gradle.api.provider.Property
1920import org.gradle.kotlin.dsl.create
2021import org.gradle.kotlin.dsl.named
22+ import org.gradle.kotlin.dsl.of
2123import org.gradle.kotlin.dsl.register
2224import org.gradle.util.GradleVersion
2325import java.io.File
@@ -26,6 +28,9 @@ class NodePlugin : Plugin<Project> {
2628 private lateinit var project: Project
2729
2830 override fun apply (project : Project ) {
31+ if (GradleVersion .current() < MINIMAL_SUPPORTED_GRADLE_VERSION ) {
32+ project.logger.error(" This version of the plugin requires $MINIMAL_SUPPORTED_GRADLE_VERSION or newer." )
33+ }
2934 this .project = project
3035 val nodeExtension = NodeExtension .create(project)
3136 project.extensions.create<PackageJsonExtension >(PackageJsonExtension .NAME , project)
@@ -128,8 +133,11 @@ class NodePlugin : Plugin<Project> {
128133 }
129134
130135 private fun configureNodeSetupTask (nodeExtension : NodeExtension ) {
136+ val versionSource = project.providers.of(NodeVersionSource ::class ) {
137+ parameters.nodeVersion.set(nodeExtension.version)
138+ }
131139 project.tasks.named<NodeSetupTask >(NodeSetupTask .NAME ) {
132- val nodeArchiveDependencyProvider = variantComputer.computeNodeArchiveDependency(nodeExtension )
140+ val nodeArchiveDependencyProvider = versionSource.get( )
133141 val archiveFileProvider = nodeArchiveDependencyProvider
134142 .map { nodeArchiveDependency ->
135143 resolveNodeArchiveFile(nodeArchiveDependency)
@@ -146,6 +154,7 @@ class NodePlugin : Plugin<Project> {
146154 }
147155
148156 companion object {
157+ val MINIMAL_SUPPORTED_GRADLE_VERSION : GradleVersion = GradleVersion .version(" 7.5.1" )
149158 const val NODE_GROUP = " Node"
150159 const val NPM_GROUP = " npm"
151160 const val PNPM_GROUP = " pnpm"
0 commit comments