Skip to content

Commit 5368b0f

Browse files
authored
Merge branch 'develop' into feat/logging/colorful
2 parents 1e14e5b + 8c45934 commit 5368b0f

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

buildSrc/src/main/kotlin/io/tnboot/gradle/build/PublishPlugin.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ class PublishPlugin : Plugin<Project> {
2020
}
2121
}
2222

23-
open class Extension {
23+
open class Extension(
24+
private val project: Project,
25+
) {
2426
var enabled = true
2527
var evenWithChildren = false
2628

@@ -37,13 +39,15 @@ class PublishPlugin : Plugin<Project> {
3739
fun configure(block: MavenPublication.() -> Unit) {
3840
configurations.add(block)
3941
}
42+
43+
val isPublished get() = enabled && (evenWithChildren || project.childProjects.isEmpty())
4044
}
4145

4246
override fun apply(target: Project) {
43-
target.extensions.add(Extension::class.java, "publish", Extension())
47+
target.extensions.add(Extension::class.java, "publish", Extension(target))
4448
target.afterEvaluate {
4549
target.extensions.getByType(Extension::class.java).let { extension ->
46-
if (!extension.enabled || (target.childProjects.isNotEmpty() && !extension.evenWithChildren)) return@afterEvaluate
50+
if (!extension.isPublished) return@afterEvaluate
4751
log.debug("Enabling Maven Publications for project {}", target.name)
4852
target.mavenPublish {
4953
extension.configurations.forEach {

buildSrc/src/main/kotlin/io/tnboot/gradle/build/mavenPublish.kt renamed to buildSrc/src/main/kotlin/io/tnboot/gradle/build/PublishUtil.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,10 @@ fun Project.mavenPublish(block: MavenPublication.() -> Unit) {
3232
}
3333
}
3434
}
35+
36+
val Project.publishedProjects get() = rootProject.allprojects.filter {
37+
it != project && it.plugins.hasPlugin(PublishPlugin::class.java) &&
38+
it.extensions.getByType(PublishPlugin.Extension::class.java).isPublished
39+
}
40+
41+
val Project.notation get() = "$group:$name:$version"

telenor-boot-dependencies/build.gradle.kts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import io.tnboot.gradle.build.DependencyGroups
22
import io.tnboot.gradle.build.mavenPublish
3+
import io.tnboot.gradle.build.notation
4+
import io.tnboot.gradle.build.publishedProjects
35

46
plugins {
57
`java-platform`
@@ -15,6 +17,7 @@ val bom = DependencyGroups(
1517
dependencies {
1618
constraints {
1719
bom.dependencies.forEach { add("api", it) }
20+
publishedProjects.forEach { add("api", it.notation) }
1821
}
1922
}
2023

0 commit comments

Comments
 (0)