Skip to content

Commit fe628f9

Browse files
Merge pull request #43 from SpineEventEngine/migrate-to-generated-source-plugin-guts
Migrate to `GenerateProtoTask.configureSourceSetDirs()` from ToolBase
2 parents 7456394 + ca5f552 commit fe628f9

File tree

9 files changed

+67
-136
lines changed

9 files changed

+67
-136
lines changed

buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ package io.spine.dependency.local
3434
@Suppress("ConstPropertyName", "unused")
3535
object ToolBase {
3636
const val group = Spine.toolsGroup
37-
const val version = "2.0.0-SNAPSHOT.364"
37+
const val version = "2.0.0-SNAPSHOT.366"
3838
const val dogfoodingVersion = "2.0.0-SNAPSHOT.361"
3939

4040
const val lib = "$group:tool-base:$version"

dependencies.md

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

22

3-
# Dependencies of `io.spine.tools:compiler-api:2.0.0-SNAPSHOT.027`
3+
# Dependencies of `io.spine.tools:compiler-api:2.0.0-SNAPSHOT.028`
44

55
## Runtime
66
1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0.
@@ -1143,14 +1143,14 @@
11431143

11441144
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
11451145

1146-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
1146+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
11471147
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
11481148
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
11491149

11501150

11511151

11521152

1153-
# Dependencies of `io.spine.tools:compiler-api-tests:2.0.0-SNAPSHOT.027`
1153+
# Dependencies of `io.spine.tools:compiler-api-tests:2.0.0-SNAPSHOT.028`
11541154

11551155
## Runtime
11561156
1. **Group** : org.jetbrains. **Name** : annotations. **Version** : 13.0.
@@ -1993,14 +1993,14 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
19931993

19941994
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
19951995

1996-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
1996+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
19971997
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
19981998
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
19991999

20002000

20012001

20022002

2003-
# Dependencies of `io.spine.tools:compiler-backend:2.0.0-SNAPSHOT.027`
2003+
# Dependencies of `io.spine.tools:compiler-backend:2.0.0-SNAPSHOT.028`
20042004

20052005
## Runtime
20062006
1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0.
@@ -3147,14 +3147,14 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
31473147

31483148
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
31493149

3150-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
3150+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
31513151
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
31523152
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
31533153

31543154

31553155

31563156

3157-
# Dependencies of `io.spine.tools:compiler-cli:2.0.0-SNAPSHOT.027`
3157+
# Dependencies of `io.spine.tools:compiler-cli:2.0.0-SNAPSHOT.028`
31583158

31593159
## Runtime
31603160
1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0.
@@ -4350,14 +4350,14 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
43504350

43514351
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
43524352

4353-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
4353+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
43544354
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
43554355
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
43564356

43574357

43584358

43594359

4360-
# Dependencies of `io.spine.tools:compiler-gradle-api:2.0.0-SNAPSHOT.027`
4360+
# Dependencies of `io.spine.tools:compiler-gradle-api:2.0.0-SNAPSHOT.028`
43614361

43624362
## Runtime
43634363
1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0.
@@ -5402,14 +5402,14 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
54025402

54035403
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
54045404

5405-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
5405+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
54065406
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
54075407
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
54085408

54095409

54105410

54115411

5412-
# Dependencies of `io.spine.tools:compiler-gradle-plugin:2.0.0-SNAPSHOT.027`
5412+
# Dependencies of `io.spine.tools:compiler-gradle-plugin:2.0.0-SNAPSHOT.028`
54135413

54145414
## Runtime
54155415
1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0.
@@ -6502,14 +6502,14 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
65026502

65036503
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
65046504

6505-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
6505+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
65066506
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
65076507
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
65086508

65096509

65106510

65116511

6512-
# Dependencies of `io.spine.tools:compiler-jvm:2.0.0-SNAPSHOT.027`
6512+
# Dependencies of `io.spine.tools:compiler-jvm:2.0.0-SNAPSHOT.028`
65136513

65146514
## Runtime
65156515
1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0.
@@ -7673,14 +7673,14 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
76737673

76747674
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
76757675

7676-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
7676+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
76777677
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
76787678
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
76797679

76807680

76817681

76827682

7683-
# Dependencies of `io.spine.tools:compiler-params:2.0.0-SNAPSHOT.027`
7683+
# Dependencies of `io.spine.tools:compiler-params:2.0.0-SNAPSHOT.028`
76847684

76857685
## Runtime
76867686
1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0.
@@ -8815,14 +8815,14 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
88158815

88168816
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
88178817

8818-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
8818+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
88198819
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
88208820
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
88218821

88228822

88238823

88248824

8825-
# Dependencies of `io.spine.tools:compiler-protoc-plugin:2.0.0-SNAPSHOT.027`
8825+
# Dependencies of `io.spine.tools:compiler-protoc-plugin:2.0.0-SNAPSHOT.028`
88268826

88278827
## Runtime
88288828
1. **Group** : com.google.code.findbugs. **Name** : jsr305. **Version** : 3.0.2.
@@ -9679,14 +9679,14 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
96799679

96809680
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
96819681

9682-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
9682+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
96839683
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
96849684
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
96859685

96869686

96879687

96889688

9689-
# Dependencies of `io.spine.tools:compiler-test-env:2.0.0-SNAPSHOT.027`
9689+
# Dependencies of `io.spine.tools:compiler-test-env:2.0.0-SNAPSHOT.028`
96909690

96919691
## Runtime
96929692
1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0.
@@ -10829,14 +10829,14 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
1082910829

1083010830
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
1083110831

10832-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
10832+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
1083310833
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
1083410834
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).
1083510835

1083610836

1083710837

1083810838

10839-
# Dependencies of `io.spine.tools:compiler-testlib:2.0.0-SNAPSHOT.027`
10839+
# Dependencies of `io.spine.tools:compiler-testlib:2.0.0-SNAPSHOT.028`
1084010840

1084110841
## Runtime
1084210842
1. **Group** : com.fasterxml.jackson. **Name** : jackson-bom. **Version** : 2.20.0.
@@ -12086,6 +12086,6 @@ This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
1208612086

1208712087
The dependencies distributed under several licenses, are used according their commercial-use-friendly license.
1208812088

12089-
This report was generated on **Sun Oct 19 18:21:02 WEST 2025** using
12089+
This report was generated on **Tue Oct 21 00:14:55 WEST 2025** using
1209012090
[Gradle-License-Report plugin](https://github.com/jk1/Gradle-License-Report) by Evgeny Naumenko, licensed under
1209112091
[Apache 2.0 License](https://github.com/jk1/Gradle-License-Report/blob/master/LICENSE).

gradle-plugin/src/main/kotlin/io/spine/tools/compiler/gradle/plugin/ConfigureIdea.kt

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@ package io.spine.tools.compiler.gradle.plugin
2929
import com.google.protobuf.gradle.GenerateProtoTask
3030
import io.spine.tools.compiler.gradle.api.builtins
3131
import io.spine.tools.compiler.gradle.api.debug
32-
import io.spine.tools.compiler.gradle.api.plugins
3332
import io.spine.tools.compiler.gradle.api.generatedDir
34-
import io.spine.tools.protobuf.gradle.generatedSourceProtoDir
35-
import java.io.File
33+
import io.spine.tools.compiler.gradle.api.plugins
3634
import java.nio.file.Path
3735
import java.nio.file.Paths
3836
import kotlin.io.path.Path
@@ -47,7 +45,7 @@ import org.gradle.plugins.ide.idea.model.IdeaModule
4745
* not included in the IDEA project.
4846
*
4947
* IDEA should only see the sources generated by the Compiler as
50-
* we define in [GenerateProtoTask.configureSourceSetDirs].
48+
* we define in [io.spine.tools.protobuf.gradle.plugin.configureSourceSetDirs].
5149
*/
5250
internal fun Project.configureIdea() {
5351
afterEvaluate {
@@ -77,15 +75,6 @@ private fun IdeaModule.setupDirectories(project: Project) {
7775
excludeExtractedDirs(project)
7876
}
7977

80-
/**
81-
* Obtains the root directory into which Protobuf Gradle Plugin assigns the `protoc` output.
82-
*
83-
* This is an alias for [io.spine.tools.gradle.protobuf.generatedSourceProtoDir] which
84-
* also returns [File] instead of [Path].
85-
*/
86-
private val Project.protocOutputDir: File
87-
get() = generatedSourceProtoDir.toFile()
88-
8978
/**
9079
* Traverses [generatedSourceDirs][IdeaModule.generatedSourceDirs] excluding those
9180
* belonging to `protoc` output directory.

gradle-plugin/src/main/kotlin/io/spine/tools/compiler/gradle/plugin/Extension.kt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ import io.spine.tools.compiler.gradle.api.Names.EXTENSION_NAME
3232
import io.spine.tools.compiler.gradle.plugin.Extension.Companion.defaultSubdirectories
3333
import io.spine.tools.fs.DirectoryName.generated
3434
import io.spine.tools.gradle.DslSpec
35-
import io.spine.tools.protobuf.gradle.generatedSourceProtoDir
3635
import org.gradle.api.Project
3736
import org.gradle.api.file.Directory
3837
import org.gradle.api.file.DirectoryProperty
@@ -64,13 +63,13 @@ public class Extension(private val project: Project): CompilerSettings {
6463

6564
/**
6665
* Synthetic property for providing the source directories for the given
67-
* source set under [Project.generatedSourceProtoDir].
66+
* source set under [Project.protocOutputDir].
6867
*
6968
* @see sourceDirs
7069
*/
7170
private val srcBaseDirProperty: DirectoryProperty = with(project) {
7271
objects.directoryProperty().convention(provider {
73-
layout.projectDirectory.dir(generatedSourceProtoDir.toString())
72+
layout.projectDirectory.dir(protocOutputDir.toString())
7473
})
7574
}
7675

gradle-plugin/src/main/kotlin/io/spine/tools/compiler/gradle/plugin/Paths.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,19 @@
2626

2727
package io.spine.tools.compiler.gradle.plugin
2828

29+
import io.spine.tools.protobuf.gradle.protobufExtension
2930
import java.io.File
3031
import java.nio.file.Path
32+
import org.gradle.api.Project
33+
34+
/**
35+
* Obtains the root directory into which Protobuf Gradle Plugin assigns the `protoc` output.
36+
*/
37+
internal val Project.protocOutputDir: File
38+
get() {
39+
val path = protobufExtension!!.generatedFilesBaseDir
40+
return File(path)
41+
}
3142

3243
/**
3344
* Obtains a list of directories resolved as nested into this one.

0 commit comments

Comments
 (0)