Skip to content

Commit e818de9

Browse files
committed
chore: build-logic refactorings
1 parent 8c6f0f8 commit e818de9

File tree

6 files changed

+23
-20
lines changed

6 files changed

+23
-20
lines changed

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ org-name = "suresh.dev"
2020
org-url = "https://suresh.dev"
2121

2222
# Dependency Versions
23-
bc-plugins = "1.22.0"
23+
bc-plugins = "1.23.0"
2424
kotlinx-kover = "0.9.1"
2525
kotlinx-bcv = "0.17.0"
2626
kotlin-dokka = "2.0.0"

plugins/project/src/main/kotlin/common/Multiplatform.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ fun KotlinMultiplatformExtension.jvmTarget(project: Project) =
103103
testRuns.configureEach { executionTask.configure { configureJavaTest() } }
104104

105105
// Configures JavaExec task with name "runJvm" and Gradle distribution "jvmDistZip"
106-
if (isKmpExecEnabled) {
106+
if (extraProp("enableKmpExec", false)) {
107107
binaries {
108108
executable {
109109
mainClass = libs.versions.app.mainclass

plugins/project/src/main/kotlin/common/ProjectExtns.kt

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ val Project.isSharedProject
6464
get() = name == sharedProjectName
6565

6666
val Project.skipTest
67-
get() = gradleBooleanProperty("skip.test").get()
67+
get() = gradleBooleanProp("skip.test").get()
6868

6969
val Project.hasCleanTask
7070
get() = gradle.startParameter.taskNames.any { it in listOf("clean", "cleanAll") }
@@ -74,19 +74,16 @@ val Project.runsOnCI
7474

7575
// val debug: String? by project
7676
val Project.debugEnabled
77-
get() = gradleBooleanProperty("debug").get()
77+
get() = gradleBooleanProp("debug").get()
7878

7979
val Project.isSnapshotVersion
8080
get() = version.toString().endsWith("-SNAPSHOT", true)
8181

82-
val Project.isKmpExecEnabled
83-
get() = extra.has("enableKmpExec") && extra["enableKmpExec"] as Boolean
84-
8582
val Project.isNativeTargetEnabled: Boolean
86-
get() = gradleBooleanProperty("kotlin.target.native.enabled").get()
83+
get() = gradleBooleanProp("kotlin.target.native.enabled").get()
8784

8885
val Project.isWinTargetEnabled: Boolean
89-
get() = gradleBooleanProperty("kotlin.target.win.enabled").get()
86+
get() = gradleBooleanProp("kotlin.target.win.enabled").get()
9087

9188
/** Java version properties. */
9289
val Project.javaVersion
@@ -105,7 +102,7 @@ val Project.addModules
105102
get() = libs.versions.java.addModules.get()
106103

107104
val Project.isAutomaticModuleEnabled
108-
get() = gradleBooleanProperty("java.automatic.module.enabled").get()
105+
get() = gradleBooleanProp("java.automatic.module.enabled").get()
109106

110107
val Project.defaultJarManifest
111108
get() = buildMap {
@@ -511,6 +508,7 @@ fun KotlinJvmCompilerOptions.configureKotlinJvm(project: Project) =
511508
// "-Xgenerate-strict-metadata-version",
512509
// "-Xuse-kapt4",
513510
)
511+
// jvmDefault = JvmDefaultMode.NO_COMPATIBILITY
514512
}
515513

516514
fun Test.configureJavaTest() {
@@ -633,7 +631,7 @@ fun Project.appRunCmd(binary: Path, args: List<String>): String {
633631
prefix =
634632
"""
635633
|To Run the app,
636-
|${'$'} java -jar $lineCont $newLine
634+
|$ java -jar $lineCont $newLine
637635
"""
638636
.trimMargin(),
639637
postfix = "$newLine$indent$path",
@@ -747,9 +745,14 @@ fun Project.addFileToJavaComponent(file: File) {
747745
}
748746
}
749747

750-
fun Project.gradleBooleanProperty(name: String): Provider<Boolean> =
748+
fun Project.gradleBooleanProp(name: String): Provider<Boolean> =
751749
providers.gradleProperty(name).map(String::toBoolean).orElse(false)
752750

751+
inline fun <reified T> Project.extraProp(name: String, defaultValue: T): T =
752+
if (extra.has(name)) {
753+
extra[name] as? T ?: defaultValue
754+
} else defaultValue
755+
753756
/** Lazy version of [TaskContainer.maybeCreate] */
754757
inline fun <reified T : Task> TaskContainer.maybeRegister(
755758
name: String,

plugins/settings/src/main/kotlin/common/SettingsExtns.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@ package common
33
import org.gradle.api.initialization.Settings
44
import org.gradle.api.provider.Provider
55

6-
fun Settings.gradleBooleanProperty(name: String): Provider<Boolean> =
6+
fun Settings.gradleBooleanProp(name: String): Provider<Boolean> =
77
providers.gradleProperty(name).map(String::toBoolean).orElse(false)
88

99
val Settings.isNativeTargetEnabled: Boolean
10-
get() = gradleBooleanProperty("kotlin.target.native.enabled").get()
10+
get() = gradleBooleanProp("kotlin.target.native.enabled").get()
1111

1212
val Settings.isWinTargetEnabled: Boolean
13-
get() = gradleBooleanProperty("kotlin.target.win.enabled").get()
13+
get() = gradleBooleanProp("kotlin.target.win.enabled").get()
1414

1515
val Settings.isComposeEnabled: Boolean
16-
get() = gradleBooleanProperty("compose.enabled").get()
16+
get() = gradleBooleanProp("compose.enabled").get()
1717

1818
val Settings.isSpringBootEnabled: Boolean
19-
get() = gradleBooleanProperty("springboot.enabled").get()
19+
get() = gradleBooleanProp("springboot.enabled").get()

plugins/settings/src/main/kotlin/dev.suresh.plugin.repos.settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ fun RepositoryHandler.nodeJS() {
137137
}
138138

139139
fun RepositoryHandler.mavenSnapshot() {
140-
val mvnSnapshot = gradleBooleanProperty("maven.snapshot.repo.enabled").get()
140+
val mvnSnapshot = gradleBooleanProp("maven.snapshot.repo.enabled").get()
141141
if (mvnSnapshot) {
142142
logger.lifecycle("❖ Maven Snapshot is enabled!")
143143
maven(url = versionCatalog?.getString("repo-mvn-snapshot").orEmpty()) {

sandbox/gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ semver.logOnlyOnRootProject=true
5757
# semver.remote=origin
5858

5959
# Snapshot Repo
60-
maven.snapshot.repo.enabled=false
6160
debug=false
62-
61+
maven.snapshot.repo.enabled=false
62+
java.automatic.module.enabled=false
6363
kotlin.target.native.enabled=false
6464
kotlin.target.win.enabled=false

0 commit comments

Comments
 (0)