Skip to content

Commit

Permalink
Update dependency resolution for types
Browse files Browse the repository at this point in the history
  • Loading branch information
Goooler committed Mar 7, 2025
1 parent 706ff36 commit ea840ba
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
11 changes: 11 additions & 0 deletions lint-baseline.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 8.9.0" type="baseline" client="gradle" dependencies="false" name="AGP (8.9.0)" variant="all" version="8.9.0">

<issue
id="InternalGradleApiUsage"
message="Avoid using internal Gradle APIs"
errorLine1="import org.gradle.api.internal.catalog.DependencyValueSource"
errorLine2="~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/kotlin/com/github/jengelman/gradle/plugins/shadow/internal/AbstractDependencyFilter.kt"
line="10"
column="1"/>
</issue>

<issue
id="InternalGradleApiUsage"
message="Avoid using internal Gradle APIs"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import org.gradle.api.artifacts.Dependency
import org.gradle.api.artifacts.ResolvedArtifact
import org.gradle.api.artifacts.ResolvedDependency
import org.gradle.api.file.FileCollection
import org.gradle.api.internal.catalog.DependencyValueSource
import org.gradle.api.provider.Provider
import org.gradle.api.specs.Spec

internal sealed class AbstractDependencyFilter(
Expand Down Expand Up @@ -52,7 +54,15 @@ internal sealed class AbstractDependencyFilter(
}

override fun dependency(dependencyNotation: Any): Spec<ResolvedDependency> {
return dependency(project.dependencies.create(dependencyNotation))
val realNotation = when (dependencyNotation) {
is Provider<*> -> dependencyNotation.get()
is DependencyValueSource -> {
val model = requireNotNull(dependencyNotation.obtain())
"${model.group}:${model.name}:${model.versionRef}"
}
else -> dependencyNotation
}
return dependency(project.dependencies.create(realNotation))
}

override fun dependency(dependency: Dependency): Spec<ResolvedDependency> {
Expand Down

0 comments on commit ea840ba

Please sign in to comment.