Skip to content

Commit

Permalink
feat(ClientUtilsConventions): ignore dependency locking for shared co…
Browse files Browse the repository at this point in the history
…re (#572)

* feat(ClientUtilsConventions): ignore dependency locking

* add some info logging

* populate ignoredDependencies separate from skippedDependencies
  • Loading branch information
Cole Turner authored Jun 12, 2023
1 parent 335e560 commit 127a6d2
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
1 change: 1 addition & 0 deletions graphql-dgs-codegen-gradle/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ apply plugin: 'java-gradle-plugin'

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

testApi gradleTestKit()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@

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

import nebula.plugin.dependencylock.DependencyLockExtension
import org.gradle.api.Project
import org.gradle.api.logging.Logging
import java.io.FileNotFoundException
Expand All @@ -29,6 +30,7 @@ object ClientUtilsConventions {

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

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

Expand All @@ -38,10 +40,23 @@ object ClientUtilsConventions {
optionalCodeClientDependencyScope: Optional<String> = Optional.empty()
) {
clientCoreArtifact(optionalCodeUtilsVersion).ifPresent { dependencyString ->
val dependencyLockString = dependencyString.split(":").take(2).joinToString(":")

val dependencyConfiguration = optionalCodeClientDependencyScope.orElse(GRADLE_CLASSPATH_CONFIGURATION)
val configurationDependencies = project.configurations.getByName(dependencyConfiguration).dependencies
configurationDependencies.add(project.dependencies.create(dependencyString))
logger.info("DGS CodeGen added [{}] to the {} dependencies.", dependencyString, dependencyConfiguration)

project.dependencyLocking.ignoredDependencies.add(dependencyLockString)
logger.info("DGS CodeGen added [{}] to the ignoredDependencies.", dependencyLockString, dependencyConfiguration)

project.plugins.withId(CLIENT_UTILS_NEBULA_LOCK_ID) {
val extension = project.extensions.getByType(DependencyLockExtension::class.java)
if (extension != null) {
extension.skippedDependencies.add(dependencyLockString)
logger.info("DGS CodeGen added [{}] to the skippedDependencies.", dependencyLockString, dependencyConfiguration)
}
}
}
}

Expand Down

0 comments on commit 127a6d2

Please sign in to comment.