Skip to content

Commit 6f2aeff

Browse files
Merge pull request #235 from SpineEventEngine/migrate-to-core-jvm-compiler
Migrate to the CoreJvm Compiler
2 parents 7fd99ec + 28e0f67 commit 6f2aeff

34 files changed

+9473
-580
lines changed

build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import io.spine.dependency.lib.KotlinPoet
3030
import io.spine.dependency.lib.Roaster
31+
import io.spine.dependency.local.Base
3132
import io.spine.dependency.local.CoreJava
3233
import io.spine.dependency.local.Logging
3334
import io.spine.dependency.local.Compiler
@@ -114,7 +115,7 @@ allprojects {
114115
Compiler.pluginLib,
115116
Compiler.backend,
116117
Compiler.jvm,
117-
Spine.base,
118+
Base.lib,
118119
Logging.lib,
119120
CoreJava.client,
120121
CoreJava.server,

buildSrc/src/main/kotlin/BuildExtensions.kt

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,9 @@ import io.spine.dependency.build.GradleDoctor
3131
import io.spine.dependency.build.Ksp
3232
import io.spine.dependency.build.PluginPublishPlugin
3333
import io.spine.dependency.lib.Protobuf
34-
import io.spine.dependency.local.McJava
34+
import io.spine.dependency.local.CoreJvmCompiler
3535
import io.spine.dependency.local.Compiler
36+
import io.spine.dependency.local.McJava
3637
import io.spine.dependency.local.ProtoTap
3738
import io.spine.dependency.test.Kotest
3839
import io.spine.dependency.test.Kover
@@ -79,20 +80,26 @@ fun ScriptHandlerScope.standardSpineSdkRepositories() {
7980
val ScriptHandlerScope.protobuf: Protobuf
8081
get() = Protobuf
8182

83+
/**
84+
* Shortcut to [CoreJvmCompiler] dependency object for using under `buildScript`.
85+
*/
86+
val ScriptHandlerScope.coreJvmCompiler: CoreJvmCompiler
87+
get() = CoreJvmCompiler
88+
8289
/**
8390
* Shortcut to [McJava] dependency object for using under `buildScript`.
8491
*/
8592
val ScriptHandlerScope.mcJava: McJava
8693
get() = McJava
8794

8895
/**
89-
* Shortcut to [McJava] dependency object.
96+
* Shortcut to [CoreJvmCompiler] dependency object.
9097
*
9198
* This plugin is not published to Gradle Portal and cannot be applied directly to a project.
9299
* Firstly, it should be put to buildscript's classpath and then applied by ID only.
93100
*/
94-
val PluginDependenciesSpec.mcJava: McJava
95-
get() = McJava
101+
val PluginDependenciesSpec.coreJvmCompiler: CoreJvmCompiler
102+
get() = CoreJvmCompiler
96103

97104
/**
98105
* Shortcut to [Compiler] dependency object for using under `buildscript`.
@@ -162,11 +169,11 @@ val PluginDependenciesSpec.`plugin-publish`: PluginDependencySpec
162169

163170
/**
164171
* Configures the dependencies between third-party Gradle tasks
165-
* and those defined via ProtoData and Spine Model Compiler.
172+
* and those defined via the Spine Compiler and its plugins.
166173
*
167174
* It is required to avoid warnings in build logs, detecting the undeclared
168175
* usage of Spine-specific task output by other tasks,
169-
* e.g., the output of `launchProtoData` is used by `compileKotlin`.
176+
* e.g., the output of `launchSpineCompiler` is used by `compileKotlin`.
170177
*/
171178
@Suppress("unused")
172179
fun Project.configureTaskDependencies() {
@@ -297,7 +304,7 @@ fun Project.setRemoteDebug(taskName: String, enabled: Boolean = true) {
297304
}
298305

299306
/**
300-
* Sets remote debug options for the `launchProtoData` task.
307+
* Sets remote debug options for the `launchSpineCompiler` task.
301308
*
302309
* @param enabled if `true` the task will be suspended.
303310
*
@@ -307,7 +314,7 @@ fun Project.spineCompilerRemoteDebug(enabled: Boolean = true) =
307314
setRemoteDebug("launchSpineCompiler", enabled)
308315

309316
/**
310-
* Sets remote debug options for the `launchTestProtoData` task.
317+
* Sets remote debug options for the `launchTestSpineCompiler` task.
311318
*
312319
* @param enabled if `true` the task will be suspended.
313320
*
@@ -317,7 +324,7 @@ fun Project.testSpineCompilerRemoteDebug(enabled: Boolean = true) =
317324
setRemoteDebug("launchTestSpineCompiler", enabled)
318325

319326
/**
320-
* Sets remote debug options for the `launchTestFixturesProtoData` task.
327+
* Sets remote debug options for the `launchTestFixturesSpineCompiler` task.
321328
*
322329
* @param enabled if `true` the task will be suspended.
323330
*

buildSrc/src/main/kotlin/DokkaExts.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,17 @@ fun DependencyHandlerScope.useDokkaWithSpineExtensions() {
6969
private fun DependencyHandler.dokkaPlugin(dependencyNotation: Any): Dependency? =
7070
add("dokkaPlugin", dependencyNotation)
7171

72+
/**
73+
* Resolves the directory where Dokka outputs HTML documentation for the given language.
74+
*/
7275
internal fun Project.dokkaOutput(language: String): File {
7376
val lng = language.titleCaseFirstChar()
7477
return layout.buildDirectory.dir("docs/dokka$lng").get().asFile
7578
}
7679

80+
/**
81+
* Locates a Dokka configuration file under the `buildSrc` resources.
82+
*/
7783
fun Project.dokkaConfigFile(file: String): File {
7884
val dokkaConfDir = project.rootDir.resolve("buildSrc/src/main/resources/dokka")
7985
return dokkaConfDir.resolve(file)

buildSrc/src/main/kotlin/ForcePlugins.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2525
*/
2626

27+
import io.spine.dependency.local.CoreJvmCompiler
2728
import org.gradle.kotlin.dsl.ScriptHandlerScope
2829

2930
/**
@@ -41,7 +42,7 @@ fun ScriptHandlerScope.forceCodegenPlugins() {
4142
standardSpineSdkRepositories()
4243

4344
dependencies {
44-
mcJava.run {
45+
CoreJvmCompiler.run {
4546
classpath(pluginLib(version))
4647
}
4748
spineCompiler.run {
@@ -58,7 +59,7 @@ fun ScriptHandlerScope.forceCodegenPlugins() {
5859
spineCompiler.backend,
5960
spineCompiler.protocPlugin,
6061

61-
mcJava.pluginsArtifact
62+
CoreJvmCompiler.pluginsArtifact
6263
)
6364
}
6465
}

buildSrc/src/main/kotlin/io/spine/dependency/lib/KotlinPoet.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ package io.spine.dependency.lib
2929
// https://github.com/square/kotlinpoet
3030
@Suppress("unused", "ConstPropertyName")
3131
object KotlinPoet {
32-
private const val version = "2.0.0"
32+
private const val version = "2.2.0"
3333
const val lib = "com.squareup:kotlinpoet:$version"
3434
const val ksp = "com.squareup:kotlinpoet-ksp:$version"
3535
}

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

Lines changed: 0 additions & 137 deletions
This file was deleted.

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ object Base {
3838
const val group = Spine.group
3939
const val artifact = "spine-base"
4040
const val lib = "$group:$artifact:$version"
41-
const val annotations = "$group:spine-annotations:$version"
4241
const val format = "$group:spine-format:$version"
4342
const val libForBuildScript = "$group:$artifact:$versionForBuildScript"
43+
const val annotations = "$group:spine-annotations:$version"
4444
}

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626

2727
package io.spine.dependency.local
2828

29+
import io.spine.dependency.local.ToolBase
30+
2931
/**
3032
* Dependencies on `core-java` modules.
3133
*
@@ -44,5 +46,5 @@ object CoreJava {
4446
const val client = "$group:$clientArtifact:$version"
4547
const val server = "$group:$serverArtifact:$version"
4648

47-
const val testUtilServer = "${Spine.toolsGroup}:spine-testutil-server:$version"
49+
const val testUtilServer = "${ToolBase.group}:spine-testutil-server:$version"
4850
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ package io.spine.dependency.local
2929
import io.spine.dependency.local.ToolBase
3030

3131
/**
32-
* Dependencies on the CoreJvm Compiler artifacts.
32+
* Dependencies on the CoreJvm Compiler artifacts.
3333
*
3434
* See [mc-java](https://github.com/SpineEventEngine/core-jvm-compiler).
3535
*/
@@ -48,12 +48,12 @@ object CoreJvmCompiler {
4848
/**
4949
* The version used to in the build classpath.
5050
*/
51-
const val dogfoodingVersion = "2.0.0-SNAPSHOT.003"
51+
const val dogfoodingVersion = "2.0.0-SNAPSHOT.006"
5252

5353
/**
5454
* The version to be used for integration tests.
5555
*/
56-
const val version = "2.0.0-SNAPSHOT.003"
56+
const val version = "2.0.0-SNAPSHOT.006"
5757

5858
/**
5959
* The ID of the Gradle plugin.

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626

2727
package io.spine.dependency.local
2828

29+
import io.spine.dependency.local.ToolBase
30+
2931
/**
3032
* Dependencies on the artifacts of the Spine Logging library.
3133
*
@@ -46,7 +48,7 @@ object Logging {
4648
const val grpcContext = "$group:spine-logging-grpc-context:$version"
4749
const val smokeTest = "$group:spine-logging-smoke-test:$version"
4850

49-
const val testLib = "${Spine.toolsGroup}:spine-logging-testlib:$version"
51+
const val testLib = "${ToolBase.group}:spine-logging-testlib:$version"
5052

5153
// Transitive dependencies.
5254
// Make `public` and use them to force a version in a particular repository, if needed.

0 commit comments

Comments
 (0)