Skip to content

Commit 9ac90e4

Browse files
committed
Add StructureExtension.group
1 parent e579c9c commit 9ac90e4

File tree

3 files changed

+12
-5
lines changed

3 files changed

+12
-5
lines changed

src/main/kotlin/io/github/sgtsilvio/gradle/structure/StructureExtension.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import org.gradle.api.initialization.ProjectDescriptor
66
import org.gradle.api.initialization.Settings
77
import org.gradle.api.model.ObjectFactory
88
import org.gradle.kotlin.dsl.newInstance
9+
import org.gradle.kotlin.dsl.property
910
import javax.inject.Inject
1011

1112
/**
@@ -17,6 +18,8 @@ abstract class StructureExtension @Inject constructor(settings: Settings, object
1718
private var rootProjectName: String? = null
1819
internal val rootProjectDefinition = objectFactory.newInstance<ProjectDefinition>(settings.rootProject, settings)
1920

21+
val group = objectFactory.property<String>()
22+
2023
fun rootProject(name: String, configuration: Action<in ProjectDefinition>) {
2124
if (rootProjectName == null) {
2225
rootProjectName = name

src/main/kotlin/io/github/sgtsilvio/gradle/structure/StructurePlugin.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@ class StructurePlugin : Plugin<Settings> {
1515

1616
override fun apply(settings: Settings) {
1717
val extension = settings.extensions.create(EXTENSION_NAME, StructureExtension::class, settings)
18-
val rootProjectDefinition = extension.rootProjectDefinition
1918
settings.gradle.settingsEvaluated {
20-
val projectPathMapping = ProjectPathMapping(rootProjectDefinition)
19+
val projectPathMapping = ProjectPathMapping(extension.rootProjectDefinition)
2120
updateTaskPaths(startParameter, projectPathMapping, rootDir)
2221
if (GradleVersion.current() >= GradleVersion.version("8.8")) {
23-
gradle.lifecycle.beforeProject(StructureProjectIsolatedAction(projectPathMapping))
22+
gradle.lifecycle.beforeProject(StructureProjectIsolatedAction(projectPathMapping, extension.group))
2423
} else {
25-
gradle.beforeProject(StructureProjectAction(projectPathMapping))
24+
gradle.beforeProject(StructureProjectAction(projectPathMapping, extension.group))
2625
}
2726
}
2827
}

src/main/kotlin/io/github/sgtsilvio/gradle/structure/StructureProjectAction.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,21 @@ package io.github.sgtsilvio.gradle.structure
33
import org.gradle.api.Action
44
import org.gradle.api.IsolatedAction
55
import org.gradle.api.Project
6+
import org.gradle.api.provider.Provider
67
import org.gradle.kotlin.dsl.create
78

89
open class StructureProjectAction internal constructor(
910
private val projectPathMapping: ProjectPathMapping,
11+
private val group: Provider<String>,
1012
) : Action<Project> {
13+
1114
override fun execute(project: Project) {
15+
group.orNull?.let { project.group = it }
1216
project.extensions.create(EXTENSION_NAME, StructureProjectExtension::class, projectPathMapping)
1317
}
1418
}
1519

1620
class StructureProjectIsolatedAction internal constructor(
1721
projectPathMapping: ProjectPathMapping,
18-
) : StructureProjectAction(projectPathMapping), IsolatedAction<Project>
22+
group: Provider<String>,
23+
) : StructureProjectAction(projectPathMapping, group), IsolatedAction<Project>

0 commit comments

Comments
 (0)