Exclude project dependencies

This commit is contained in:
Tad Fisher
2019-06-04 13:56:44 -07:00
parent 09b5bfb11a
commit 7b0e167335
2 changed files with 33 additions and 12 deletions

View File

@@ -29,6 +29,7 @@ class SubprojectsTest {
} }
dependencies { dependencies {
implementation(project(":child-a"))
implementation("com.squareup.moshi:moshi:1.8.0") implementation("com.squareup.moshi:moshi:1.8.0")
} }
""".trimIndent()) """.trimIndent())
@@ -110,6 +111,14 @@ class SubprojectsTest {
pom("com.squareup.okio:okio-parent:1.16.0"), pom("com.squareup.okio:okio-parent:1.16.0"),
jar("com.squareup.okio:okio:1.16.0"), jar("com.squareup.okio:okio:1.16.0"),
pom("com.squareup.okio:okio:1.16.0"), pom("com.squareup.okio:okio:1.16.0"),
jar("com.squareup.okio:okio:2.2.2"),
pom("com.squareup.okio:okio:2.2.2"),
jar("org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60"),
pom("org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60"),
jar("org.jetbrains.kotlin:kotlin-stdlib:1.2.60"),
pom("org.jetbrains.kotlin:kotlin-stdlib:1.2.60"),
jar("org.jetbrains:annotations:13.0"),
pom("org.jetbrains:annotations:13.0"),
pom("org.sonatype.oss:oss-parent:7"), pom("org.sonatype.oss:oss-parent:7"),
actual = artifacts actual = artifacts
) )
@@ -138,6 +147,7 @@ class SubprojectsTest {
} }
dependencies { dependencies {
implementation project(':child-a')
implementation 'com.squareup.moshi:moshi:1.8.0' implementation 'com.squareup.moshi:moshi:1.8.0'
} }
""".trimIndent()) """.trimIndent())
@@ -217,6 +227,14 @@ class SubprojectsTest {
pom("com.squareup.okio:okio-parent:1.16.0"), pom("com.squareup.okio:okio-parent:1.16.0"),
jar("com.squareup.okio:okio:1.16.0"), jar("com.squareup.okio:okio:1.16.0"),
pom("com.squareup.okio:okio:1.16.0"), pom("com.squareup.okio:okio:1.16.0"),
jar("com.squareup.okio:okio:2.2.2"),
pom("com.squareup.okio:okio:2.2.2"),
jar("org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60"),
pom("org.jetbrains.kotlin:kotlin-stdlib-common:1.2.60"),
jar("org.jetbrains.kotlin:kotlin-stdlib:1.2.60"),
pom("org.jetbrains.kotlin:kotlin-stdlib:1.2.60"),
jar("org.jetbrains:annotations:13.0"),
pom("org.jetbrains:annotations:13.0"),
pom("org.sonatype.oss:oss-parent:7"), pom("org.sonatype.oss:oss-parent:7"),
actual = artifacts) actual = artifacts)
} }

View File

@@ -11,6 +11,7 @@ import org.gradle.api.artifacts.Configuration
import org.gradle.api.artifacts.ConfigurationContainer import org.gradle.api.artifacts.ConfigurationContainer
import org.gradle.api.artifacts.Dependency import org.gradle.api.artifacts.Dependency
import org.gradle.api.artifacts.component.ModuleComponentIdentifier import org.gradle.api.artifacts.component.ModuleComponentIdentifier
import org.gradle.api.artifacts.component.ProjectComponentIdentifier
import org.gradle.api.artifacts.dsl.DependencyHandler import org.gradle.api.artifacts.dsl.DependencyHandler
import org.gradle.api.artifacts.result.ResolvedArtifactResult import org.gradle.api.artifacts.result.ResolvedArtifactResult
import org.gradle.api.logging.Logger import org.gradle.api.logging.Logger
@@ -34,17 +35,19 @@ internal class DependencyResolver(
logger.warn("Cannot resolve configuration ${configuration.name}; ignoring.") logger.warn("Cannot resolve configuration ${configuration.name}; ignoring.")
return emptySet() return emptySet()
} }
return configuration.resolvedConfiguration.resolvedArtifacts.mapTo(sortedSetOf()) { return configuration.resolvedConfiguration.resolvedArtifacts
with (it) { .filterNot { it.id.componentIdentifier is ProjectComponentIdentifier }
DefaultArtifact( .mapTo(sortedSetOf()) {
groupId = moduleVersion.id.group, with (it) {
artifactId = moduleVersion.id.name, DefaultArtifact(
version = moduleVersion.id.version, groupId = moduleVersion.id.group,
classifier = classifier ?: "", artifactId = moduleVersion.id.name,
extension = extension, version = moduleVersion.id.version,
sha256 = sha256(file) classifier = classifier ?: "",
) extension = extension,
} sha256 = sha256(file)
)
}
} }
} }
@@ -153,7 +156,7 @@ private class MavenPomResolver(
override fun addRepository(repository: Repository, replace: Boolean) {} override fun addRepository(repository: Repository, replace: Boolean) {}
} }
private val HEX = "0123456789ABCDEF" private const val HEX = "0123456789abcdef"
private fun sha256(file: File): String = buildString { private fun sha256(file: File): String = buildString {
MessageDigest.getInstance("SHA-256").digest(file.readBytes()) MessageDigest.getInstance("SHA-256").digest(file.readBytes())