Skip to content

Commit 521eba8

Browse files
committed
chore: build config task refactor
1 parent 1d4ebb4 commit 521eba8

File tree

5 files changed

+18
-12
lines changed

5 files changed

+18
-12
lines changed

gradle/build-logic/src/main/kotlin/common/ProjectExtns.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
3232

3333
// val logger = LoggerFactory.getLogger("build-logic")
3434

35-
/** Returns version catalog of this project. */
35+
/** Returns the version catalog of this project. */
3636
internal val Project.libs
3737
get() = the<LibrariesForLibs>()
3838

gradle/build-logic/src/main/kotlin/dev.suresh.plugin.kotlin.jvm.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,11 @@ kopy { functions = KopyFunctions.Copy }
8282
val javaAgent by configurations.registering { isTransitive = false }
8383

8484
tasks {
85+
val buildConfigExtn = extensions.create<BuildConfigExtension>("buildConfig")
86+
val buildConfig = register<BuildConfig>("buildConfig", buildConfigExtn)
87+
buildConfig.configure { enabled = buildConfigExtn.enabled.get() }
88+
kotlin.sourceSets.main { kotlin.srcDirs(buildConfig) }
89+
8590
// Configure "compileJava" and "compileTestJava" tasks.
8691
withType<JavaCompile>().configureEach { configureJavac(project) }
8792

gradle/build-logic/src/main/kotlin/dev.suresh.plugin.kotlin.mpp.gradle.kts

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,11 @@ redacted {
9595
kopy { functions = KopyFunctions.Copy }
9696

9797
tasks {
98-
if (isSharedProject) {
99-
val buildConfigExtn = extensions.create<BuildConfigExtension>("buildConfig")
100-
val buildConfig by register<BuildConfig>("buildConfig", buildConfigExtn)
101-
kotlin.sourceSets.commonMain { kotlin.srcDirs(buildConfig) }
102-
// compileKotlinMetadata { dependsOn(buildConfig) }
103-
// maybeRegister<Task>("prepareKotlinIdeaImport") { dependsOn(buildConfig) }
104-
}
98+
val buildConfigExtn = extensions.create<BuildConfigExtension>("buildConfig")
99+
val buildConfig = register<BuildConfig>("buildConfig", buildConfigExtn)
100+
buildConfig.configure { enabled = buildConfigExtn.enabled.get() }
101+
kotlin.sourceSets.commonMain { kotlin.srcDirs(buildConfig) }
102+
// compileKotlinMetadata { dependsOn(buildConfig) }
105103

106104
withType<KspAATask>().configureEach { configureKspConfig() }
107105

gradle/build-logic/src/main/kotlin/tasks/BuildConfig.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package tasks
22

3+
import com.github.ajalt.mordant.rendering.TextColors
34
import com.javiersc.semver.project.gradle.plugin.Commit
45
import gg.jte.generated.precompiled.StaticTemplates
56
import javax.inject.Inject
@@ -32,7 +33,7 @@ abstract class BuildConfig @Inject constructor(@Nested val extn: BuildConfigExte
3233
val pkg = fqName.substringBeforeLast(".", "")
3334

3435
val file = dir.resolve("$className.kt")
35-
logger.quiet("Generated build config file: ${file.name}")
36+
logger.quiet(TextColors.magenta("Generated build config file: ${file.name}"))
3637

3738
// Get git commit info
3839
val gitCommit = run {
@@ -76,10 +77,11 @@ abstract class BuildConfig @Inject constructor(@Nested val extn: BuildConfigExte
7677
}
7778

7879
open class BuildConfigExtension @Inject constructor(layout: ProjectLayout, objects: ObjectFactory) {
80+
@get:Input val enabled = objects.property<Boolean>().convention(false)
7981
@get:Input val classFqName = objects.property<String>().convention("BuildConfig")
80-
@get:Input val projectVersion = objects.property<String>()
81-
@get:Input val projectName = objects.property<String>()
82-
@get:Input val projectDesc = objects.property<String>()
82+
@get:Input val projectVersion = objects.property<String>().convention("")
83+
@get:Input val projectName = objects.property<String>().convention("")
84+
@get:Input val projectDesc = objects.property<String>().convention("")
8385
@get:Input val catalogVersions = objects.mapProperty<String, String>().convention(emptyMap())
8486
@get:Input val dependencies = objects.listProperty<String>().convention(emptyList())
8587
@Internal val gitCommit = objects.property<Commit>()

shared/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ plugins {
1313
description = "Shared common module for all projects"
1414

1515
buildConfig {
16+
enabled = true
1617
projectName = rootProject.name
1718
projectVersion = project.version.toString()
1819
projectDesc = rootProject.description

0 commit comments

Comments
 (0)