Build: Introduce global implicitDependencies configuration

It is used to pre-download all dependencies and check that
verification-metadata.xml is up-to-date
 #KTI-72
This commit is contained in:
Vyacheslav Gerasimov
2023-05-23 10:47:32 +02:00
committed by Space Team
parent 4a66279f00
commit 7c1ffc4eb2
2 changed files with 14 additions and 22 deletions
@@ -30,6 +30,7 @@ dependencies {
project.configureJvmDefaultToolchain()
project.addEmbeddedConfigurations()
project.addImplicitDependenciesConfiguration()
project.configureJavaCompile()
project.configureJavaBasePlugin()
project.configureKotlinCompilationOptions()
@@ -54,6 +55,13 @@ afterEvaluate {
}
}
fun Project.addImplicitDependenciesConfiguration() {
configurations.maybeCreate("implicitDependencies").apply {
isCanBeConsumed = false
isCanBeResolved = false
}
}
fun Project.addEmbeddedConfigurations() {
configurations.maybeCreate("embedded").apply {
isCanBeConsumed = false
+6 -22
View File
@@ -15,30 +15,14 @@ import org.gradle.kotlin.dsl.accessors.runtime.addDependencyTo
import org.gradle.kotlin.dsl.accessors.runtime.addExternalModuleDependencyTo
import org.gradle.kotlin.dsl.add
val NamedDomainObjectContainer<Configuration>.embedded: NamedDomainObjectProvider<Configuration> get() = named("embedded")
val NamedDomainObjectContainer<Configuration>.embedded: NamedDomainObjectProvider<Configuration>
get() = named("embedded")
fun DependencyHandler.embedded(dependencyNotation: Any): Dependency? =
add("embedded", dependencyNotation)
fun DependencyHandler.embedded(
dependencyNotation: String,
dependencyConfiguration: Action<ExternalModuleDependency>
): ExternalModuleDependency =
addDependencyTo(this, "embedded", dependencyNotation, dependencyConfiguration)
val NamedDomainObjectContainer<Configuration>.implicitDependencies: NamedDomainObjectProvider<Configuration>
get() = named("implicitDependencies")
fun DependencyHandler.embedded(
group: String,
name: String,
version: String? = null,
configuration: String? = null,
classifier: String? = null,
ext: String? = null,
dependencyConfiguration: Action<ExternalModuleDependency>? = null
): ExternalModuleDependency = addExternalModuleDependencyTo(
this, "embedded", group, name, version, configuration, classifier, ext, dependencyConfiguration
)
fun <T : ModuleDependency> DependencyHandler.embedded(
dependency: T,
dependencyConfiguration: T.() -> Unit
): T = add("embedded", dependency, dependencyConfiguration)
fun DependencyHandler.implicitDependencies(dependencyNotation: Any): Dependency? =
add("implicitDependencies", dependencyNotation)