Skip to content

Commit 127a6d2

Browse files
author
Cole Turner
authored
feat(ClientUtilsConventions): ignore dependency locking for shared core (#572)
* feat(ClientUtilsConventions): ignore dependency locking * add some info logging * populate ignoredDependencies separate from skippedDependencies
1 parent 335e560 commit 127a6d2

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

graphql-dgs-codegen-gradle/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ apply plugin: 'java-gradle-plugin'
2424

2525
dependencies {
2626
api project(":graphql-dgs-codegen-core")
27+
compileOnly "com.netflix.nebula:gradle-dependency-lock-plugin:latest.release"
2728
compileOnly "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.KOTLIN_VERSION}"
2829

2930
testApi gradleTestKit()

graphql-dgs-codegen-gradle/src/main/kotlin/com/netflix/graphql/dgs/codegen/gradle/ClientUtilsConventions.kt

+15
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
package com.netflix.graphql.dgs.codegen.gradle
2020

21+
import nebula.plugin.dependencylock.DependencyLockExtension
2122
import org.gradle.api.Project
2223
import org.gradle.api.logging.Logging
2324
import java.io.FileNotFoundException
@@ -29,6 +30,7 @@ object ClientUtilsConventions {
2930

3031
private const val CLIENT_UTILS_ARTIFACT_GROUP = "com.netflix.graphql.dgs.codegen"
3132
private const val CLIENT_UTILS_ARTIFACT_NAME = "graphql-dgs-codegen-shared-core"
33+
private const val CLIENT_UTILS_NEBULA_LOCK_ID = "com.netflix.nebula.dependency-lock"
3234

3335
private val logger = Logging.getLogger(ClientUtilsConventions::class.java)
3436

@@ -38,10 +40,23 @@ object ClientUtilsConventions {
3840
optionalCodeClientDependencyScope: Optional<String> = Optional.empty()
3941
) {
4042
clientCoreArtifact(optionalCodeUtilsVersion).ifPresent { dependencyString ->
43+
val dependencyLockString = dependencyString.split(":").take(2).joinToString(":")
44+
4145
val dependencyConfiguration = optionalCodeClientDependencyScope.orElse(GRADLE_CLASSPATH_CONFIGURATION)
4246
val configurationDependencies = project.configurations.getByName(dependencyConfiguration).dependencies
4347
configurationDependencies.add(project.dependencies.create(dependencyString))
4448
logger.info("DGS CodeGen added [{}] to the {} dependencies.", dependencyString, dependencyConfiguration)
49+
50+
project.dependencyLocking.ignoredDependencies.add(dependencyLockString)
51+
logger.info("DGS CodeGen added [{}] to the ignoredDependencies.", dependencyLockString, dependencyConfiguration)
52+
53+
project.plugins.withId(CLIENT_UTILS_NEBULA_LOCK_ID) {
54+
val extension = project.extensions.getByType(DependencyLockExtension::class.java)
55+
if (extension != null) {
56+
extension.skippedDependencies.add(dependencyLockString)
57+
logger.info("DGS CodeGen added [{}] to the skippedDependencies.", dependencyLockString, dependencyConfiguration)
58+
}
59+
}
4560
}
4661
}
4762

0 commit comments

Comments
 (0)