@@ -17,7 +17,6 @@ import groovy.json.JsonSlurper
1717import nebula.plugin.BaseIntegrationTestKitSpec
1818import nebula.plugin.dependencylock.dependencyfixture.Fixture
1919import nebula.plugin.dependencylock.util.LockGenerator
20- import nebula.plugin.dependencylock.utils.GradleVersionUtils
2120import nebula.test.dependencies.DependencyGraphBuilder
2221import nebula.test.dependencies.GradleDependencyGenerator
2322import nebula.test.dependencies.ModuleBuilder
@@ -40,7 +39,7 @@ class DependencyLockLauncherSpec extends BaseIntegrationTestKitSpec {
4039 def setup () {
4140 definePluginOutsideOfPluginBlock = true
4241 }
43-
42+
4443 static final String SPECIFIC_BUILD_GRADLE = """ \
4544 apply plugin: 'java'
4645 apply plugin: 'com.netflix.nebula.dependency-lock'
@@ -1945,6 +1944,44 @@ class DependencyLockLauncherSpec extends BaseIntegrationTestKitSpec {
19451944 result. output. contains ' test.example:foo:1.0.1 -> 1.0.0'
19461945 }
19471946
1947+ def ' does not lock DependenciesMetadata configurations' () {
1948+ buildFile << """ \
1949+ buildscript {
1950+ repositories { maven { url = "https://plugins.gradle.org/m2/" } }
1951+ dependencies {
1952+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.20"
1953+ }
1954+ }
1955+ plugins {
1956+ id 'com.netflix.nebula.dependency-lock'
1957+ }
1958+ apply plugin: "org.jetbrains.kotlin.jvm" // the *DependenciesMetadata configurations are resolved by the Kotlin Multiplatform plugin
1959+ repositories { mavenCentral() }
1960+ dependencies {
1961+ implementation 'org.jetbrains.kotlin:kotlin-stdlib:2.2.0'
1962+ }
1963+ """ . stripIndent()
1964+
1965+ when : " show configurations and ensure that the *DependenciesMetadata configurations exist"
1966+ def result = runTasks(' dependencies' )
1967+
1968+ then :
1969+ result. output. contains(' apiDependenciesMetadata' )
1970+ result. output. contains(' compileOnlyDependenciesMetadata' )
1971+ result. output. contains(' implementationDependenciesMetadata' )
1972+ result. output. contains(' testApiDependenciesMetadata' )
1973+ result. output. contains(' testCompileOnlyDependenciesMetadata' )
1974+ result. output. contains(' testImplementationDependenciesMetadata' )
1975+
1976+ when : " update locks"
1977+ runTasks(' generateLock' , ' saveLock' )
1978+
1979+ then : " lockfile should not contain *DependenciesMetadata configurations"
1980+ def lockFile = new File (projectDir, ' dependencies.lock' )
1981+ ! lockFile. text. contains(' implementationDependenciesMetadata' )
1982+ lockFile. text. contains(' org.jetbrains.kotlin:kotlin-stdlib' )
1983+ }
1984+
19481985 def ' does not fail with configuration caching enabled' () {
19491986 when :
19501987 runTasks(' help' , ' --configuration-cache' )
0 commit comments