Skip to content

Commit 3580f6e

Browse files
committed
Attempted to improve configuration avoidance for the ResourceConfigurationsPlugin by adding the porject artifact variant only when the corresponding consumable configuration is realized.
1 parent d50e616 commit 3580f6e

File tree

2 files changed

+27
-26
lines changed

2 files changed

+27
-26
lines changed

build-logic/src/main/kotlin/org/sdkotlin/buildlogic/plugins/resources/ResourceConfigurationVariants.kt

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -61,34 +61,34 @@ abstract class ResourceConfigurationVariants @Inject constructor(
6161

6262
with(resourceConfigurationVariant) {
6363

64-
val theConsumableConfigurationName =
65-
consumableConfigurationName.get()
66-
val theResourceDirectory = resourceDirectory.get()
64+
if (resourceDirectory.get().asFile.exists()) {
6765

68-
// Create a variant-aware consumable configuration for this resource
69-
// configuration's artifacts.
70-
@Suppress("UnstableApiUsage")
71-
project.configurations.consumable(theConsumableConfigurationName) {
72-
// TODO: Remove debug logging.
73-
logger.warn(
74-
"Configuring $theConsumableConfigurationName...",
75-
RuntimeException("Configuration configureAction stacktrace")
76-
)
66+
val theConsumableConfigurationName =
67+
consumableConfigurationName.get()
7768

78-
attributes {
79-
applyVariantAttributes()
80-
}
81-
}
69+
// Create a variant-aware consumable configuration for this resource
70+
// configuration's artifacts.
71+
@Suppress("UnstableApiUsage")
72+
project.configurations.consumable(theConsumableConfigurationName) {
73+
// TODO: Remove debug logging.
74+
logger.warn(
75+
"Configuring $theConsumableConfigurationName...",
76+
RuntimeException("Configuration configureAction stacktrace")
77+
)
78+
79+
attributes {
80+
applyVariantAttributes()
81+
}
8282

83-
// Any files in "src/main/<resourceConfigurationName>/" are
84-
// resources for this configuration. No build step is necessary, so
85-
// directly add the directory as a project artifact.
86-
if (theResourceDirectory.asFile.exists()) {
87-
project.artifacts.add(
88-
theConsumableConfigurationName,
89-
theResourceDirectory
90-
) {
91-
type = JVM_RESOURCES_DIRECTORY
83+
// Any files in "src/main/<resourceConfigurationName>/" are
84+
// resources for this configuration. No build step is necessary,
85+
// so directly add the directory as a project artifact.
86+
project.artifacts.add(
87+
theConsumableConfigurationName,
88+
resourceDirectory
89+
) {
90+
type = JVM_RESOURCES_DIRECTORY
91+
}
9292
}
9393
}
9494
}

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ org.gradle.parallel=true
1313
# https://github.com/gradle/gradle/issues/17955.
1414
org.gradle.vfs.watch=true
1515

16-
# Workaround for KGP eager configuration realization.
16+
# Workaround for KGP eager configuration realization:
17+
# https://youtrack.jetbrains.com/issue/KT-76797
1718
kotlin.stdlib.jdk.variants.version.alignment = false
1819

1920
dependency.analysis.print.build.health=true

0 commit comments

Comments
 (0)