diff --git a/.idea/live-templates/README.md b/.idea/live-templates/README.md index 66713b347..94c3226cd 100644 --- a/.idea/live-templates/README.md +++ b/.idea/live-templates/README.md @@ -5,7 +5,7 @@ This directory contains two live template groups: 1. `Spine.xml`: shortcuts for the repeated patterns used in the framework. 2. `User.xml`: a single shortcut to generate TODO comments. -### Instlallation +### Installation Live templates are not picked up by IDEA automatically. They should be added manually. In order to add these templates, perform the following steps: diff --git a/TESTING.md b/TESTING.md index 61acef730..9866cedb6 100644 --- a/TESTING.md +++ b/TESTING.md @@ -22,14 +22,14 @@ We need to have separate test-only modules because of the following reasons. resources by [ProtoTap][prototap] using [`PipelineSetup`][pipeline-setup] API. * We need this code to be "vanilla" Protobuf — not the one produced by the previous -version of McJava — because ProtoData plugins run on top of such code. +version of McJava — because the Compiler plugins run on top of such code. * We use `testFixtures` source set for storing input proto files for the code generation tests. * It is not possible to apply a Gradle plugin to a source set. Plugins are applied to a project. * The module `mc-java-signal` needs McJava plugin for generating events and entity states for -the Signal ProtoData plugin. Once McJava plugin is applied to a project, it serves all +the Signal Compiler plugin. Once McJava plugin is applied to a project, it serves all the source sets, including `testFixtures`, making the generated code enhanced with Spine features, which we need to avoid. @@ -37,4 +37,4 @@ Therefore, to have "vanilla" Protobuf code generated for our stub types, we need a separate Gradle project [prototap]: https://github.com/SpineEventEngine/ProtoTap -[pipeline-setup]: https://github.com/SpineEventEngine/ProtoData/blob/master/testlib/src/main/kotlin/io/spine/protodata/testing/PipelineSetup.kt +[pipeline-setup]: https://github.com/SpineEventEngine/compiler/blob/master/testlib/src/main/kotlin/io/spine/compiler/testing/PipelineSetup.kt diff --git a/annotation/build.gradle.kts b/annotation/build.gradle.kts index 7c253d551..f54a7b57b 100644 --- a/annotation/build.gradle.kts +++ b/annotation/build.gradle.kts @@ -30,7 +30,7 @@ import io.spine.dependency.local.TestLib import io.spine.dependency.local.ToolBase plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } dependencies { @@ -69,7 +69,7 @@ tasks.withType().configureEach { * Disable the generation of rejections because: * 1. We don't have rejections in this code. * 2. We want to avoid errors that may be caused by the code which has not yet - * fully migrated to the latest ProtoData API. + * fully migrated to the latest Compiler API. */ modelCompiler { java { @@ -79,4 +79,4 @@ modelCompiler { } } -protoDataRemoteDebug(enabled = false) +spineCompilerRemoteDebug(enabled = false) diff --git a/annotation/src/main/kotlin/io/spine/tools/core/annotation/ApiAnnotationsPlugin.kt b/annotation/src/main/kotlin/io/spine/tools/core/annotation/ApiAnnotationsPlugin.kt index 1612874a0..c8b69587f 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/annotation/ApiAnnotationsPlugin.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/annotation/ApiAnnotationsPlugin.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.annotation -import io.spine.protodata.plugin.Plugin +import io.spine.tools.compiler.plugin.Plugin import io.spine.server.BoundedContextBuilder import io.spine.tools.core.jvm.annotation.ClassPatternAnnotator import io.spine.tools.core.jvm.annotation.EnumAnnotator diff --git a/annotation/src/main/kotlin/io/spine/tools/core/annotation/ApiOption.kt b/annotation/src/main/kotlin/io/spine/tools/core/annotation/ApiOption.kt index 4ae6d7332..64b46798f 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/annotation/ApiOption.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/annotation/ApiOption.kt @@ -30,9 +30,9 @@ import com.google.protobuf.BoolValue import com.google.protobuf.kotlin.isA import com.google.protobuf.kotlin.unpack import io.spine.protobuf.pack -import io.spine.protodata.ast.Option -import io.spine.protodata.ast.TypeInstances -import io.spine.protodata.ast.option +import io.spine.tools.compiler.ast.Option +import io.spine.tools.compiler.ast.TypeInstances +import io.spine.tools.compiler.ast.option import com.google.protobuf.Any as ProtoAny /** diff --git a/annotation/src/main/kotlin/io/spine/tools/core/annotation/EnumAnnotationsView.kt b/annotation/src/main/kotlin/io/spine/tools/core/annotation/EnumAnnotationsView.kt index efdfe6dd4..666c9983a 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/annotation/EnumAnnotationsView.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/annotation/EnumAnnotationsView.kt @@ -28,10 +28,10 @@ package io.spine.tools.core.annotation import io.spine.core.External import io.spine.core.Subscribe -import io.spine.protodata.ast.TypeName -import io.spine.protodata.ast.event.EnumOptionDiscovered -import io.spine.protodata.plugin.View -import io.spine.protodata.plugin.ViewRepository +import io.spine.tools.compiler.ast.TypeName +import io.spine.tools.compiler.ast.event.EnumOptionDiscovered +import io.spine.tools.compiler.plugin.View +import io.spine.tools.compiler.plugin.ViewRepository import io.spine.server.entity.alter import io.spine.server.route.EventRouting import io.spine.server.route.Route diff --git a/annotation/src/main/kotlin/io/spine/tools/core/annotation/FileOptionsProcess.kt b/annotation/src/main/kotlin/io/spine/tools/core/annotation/FileOptionsProcess.kt index dd2da9cfc..833b81ad5 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/annotation/FileOptionsProcess.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/annotation/FileOptionsProcess.kt @@ -29,11 +29,11 @@ package io.spine.tools.core.annotation import io.spine.core.External -import io.spine.protodata.ast.File -import io.spine.protodata.ast.Option -import io.spine.protodata.ast.ProtobufSourceFile -import io.spine.protodata.ast.event.FileExited -import io.spine.protodata.ast.event.FileOptionDiscovered +import io.spine.tools.compiler.ast.File +import io.spine.tools.compiler.ast.Option +import io.spine.tools.compiler.ast.ProtobufSourceFile +import io.spine.tools.compiler.ast.event.FileExited +import io.spine.tools.compiler.ast.event.FileOptionDiscovered import io.spine.server.entity.alter import io.spine.server.entity.state import io.spine.server.event.NoReaction diff --git a/annotation/src/main/kotlin/io/spine/tools/core/annotation/MessageAnnotationsView.kt b/annotation/src/main/kotlin/io/spine/tools/core/annotation/MessageAnnotationsView.kt index c7252d379..0e4c765e2 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/annotation/MessageAnnotationsView.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/annotation/MessageAnnotationsView.kt @@ -28,10 +28,10 @@ package io.spine.tools.core.annotation import io.spine.core.External import io.spine.core.Subscribe -import io.spine.protodata.ast.TypeName -import io.spine.protodata.ast.event.FieldOptionDiscovered -import io.spine.protodata.ast.event.MessageOptionDiscovered -import io.spine.protodata.plugin.View +import io.spine.tools.compiler.ast.TypeName +import io.spine.tools.compiler.ast.event.FieldOptionDiscovered +import io.spine.tools.compiler.ast.event.MessageOptionDiscovered +import io.spine.tools.compiler.plugin.View import io.spine.server.entity.alter import io.spine.server.route.Route import io.spine.tools.core.annotation.event.FileOptionMatched diff --git a/annotation/src/main/kotlin/io/spine/tools/core/annotation/MessageFieldAnnotationsView.kt b/annotation/src/main/kotlin/io/spine/tools/core/annotation/MessageFieldAnnotationsView.kt index 9399d174b..9e01676f1 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/annotation/MessageFieldAnnotationsView.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/annotation/MessageFieldAnnotationsView.kt @@ -28,9 +28,9 @@ package io.spine.tools.core.annotation import io.spine.core.External import io.spine.core.Subscribe -import io.spine.protodata.ast.TypeName -import io.spine.protodata.ast.event.FieldOptionDiscovered -import io.spine.protodata.plugin.View +import io.spine.tools.compiler.ast.TypeName +import io.spine.tools.compiler.ast.event.FieldOptionDiscovered +import io.spine.tools.compiler.plugin.View import io.spine.server.entity.alter import io.spine.server.route.Route diff --git a/annotation/src/main/kotlin/io/spine/tools/core/annotation/RoutingExts.kt b/annotation/src/main/kotlin/io/spine/tools/core/annotation/RoutingExts.kt index c544f8c59..536e73f4d 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/annotation/RoutingExts.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/annotation/RoutingExts.kt @@ -26,8 +26,8 @@ package io.spine.tools.core.annotation -import io.spine.protodata.ast.ServiceName -import io.spine.protodata.ast.TypeName +import io.spine.tools.compiler.ast.ServiceName +import io.spine.tools.compiler.ast.TypeName import io.spine.tools.core.annotation.event.FileOptionMatched import io.spine.tools.core.annotation.event.FileOptionMatched.TargetCase.ENUM_TYPE import io.spine.tools.core.annotation.event.FileOptionMatched.TargetCase.MESSAGE_TYPE diff --git a/annotation/src/main/kotlin/io/spine/tools/core/annotation/ServiceAnnotationsView.kt b/annotation/src/main/kotlin/io/spine/tools/core/annotation/ServiceAnnotationsView.kt index 83926e269..b05b55924 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/annotation/ServiceAnnotationsView.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/annotation/ServiceAnnotationsView.kt @@ -28,9 +28,9 @@ package io.spine.tools.core.annotation import io.spine.core.External import io.spine.core.Subscribe -import io.spine.protodata.ast.ServiceName -import io.spine.protodata.ast.event.ServiceOptionDiscovered -import io.spine.protodata.plugin.View +import io.spine.tools.compiler.ast.ServiceName +import io.spine.tools.compiler.ast.event.ServiceOptionDiscovered +import io.spine.tools.compiler.plugin.View import io.spine.server.entity.alter import io.spine.server.route.Route import io.spine.tools.core.annotation.event.FileOptionMatched diff --git a/annotation/src/main/kotlin/io/spine/tools/core/annotation/WithOptions.kt b/annotation/src/main/kotlin/io/spine/tools/core/annotation/WithOptions.kt index bd9a4522b..039d69563 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/annotation/WithOptions.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/annotation/WithOptions.kt @@ -27,8 +27,8 @@ package io.spine.tools.core.annotation import io.spine.annotation.GeneratedMixin -import io.spine.protodata.ast.File -import io.spine.protodata.ast.Option +import io.spine.tools.compiler.ast.File +import io.spine.tools.compiler.ast.Option /** * Common interface for views that deal with API options. diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/Annotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/Annotator.kt index 17560e0c0..7956de8e8 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/Annotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/Annotator.kt @@ -26,10 +26,10 @@ package io.spine.tools.core.jvm.annotation -import io.spine.protodata.java.file.hasJavaRoot -import io.spine.protodata.java.render.JavaRenderer -import io.spine.protodata.render.SourceFileSet -import io.spine.protodata.settings.loadSettings +import io.spine.tools.compiler.jvm.file.hasJavaRoot +import io.spine.tools.compiler.jvm.render.JavaRenderer +import io.spine.tools.compiler.render.SourceFileSet +import io.spine.tools.compiler.settings.loadSettings import io.spine.tools.core.annotation.ApiAnnotationsPlugin import io.spine.tools.core.annotation.ApiOption import io.spine.tools.core.annotation.ApiOption.BETA diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ApiAnnotation.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ApiAnnotation.kt index 8da69b2db..cf6d3f8f4 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ApiAnnotation.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ApiAnnotation.kt @@ -26,10 +26,10 @@ package io.spine.tools.core.jvm.annotation -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.annotation.TypeAnnotation -import io.spine.protodata.render.SourceFile -import io.spine.protodata.render.SourceFileSet +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.annotation.TypeAnnotation +import io.spine.tools.compiler.render.SourceFile +import io.spine.tools.compiler.render.SourceFileSet import io.spine.tools.code.Java /** diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ClassPatternAnnotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ClassPatternAnnotator.kt index 013a6883b..01a500623 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ClassPatternAnnotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ClassPatternAnnotator.kt @@ -26,10 +26,10 @@ package io.spine.tools.core.jvm.annotation -import io.spine.protodata.java.annotation.TypeAnnotation -import io.spine.protodata.render.SourceFile -import io.spine.protodata.render.SourceFileSet -import io.spine.protodata.render.forEachOfLanguage +import io.spine.tools.compiler.jvm.annotation.TypeAnnotation +import io.spine.tools.compiler.render.SourceFile +import io.spine.tools.compiler.render.SourceFileSet +import io.spine.tools.compiler.render.forEachOfLanguage import io.spine.tools.code.Java /** diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/FieldAccessors.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/FieldAccessors.kt index 7ed5d5a41..ac7937964 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/FieldAccessors.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/FieldAccessors.kt @@ -27,10 +27,10 @@ package io.spine.tools.core.jvm.annotation import com.intellij.psi.PsiMethod -import io.spine.protodata.ast.FieldName -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.file.locate -import io.spine.protodata.render.InsertionPoint +import io.spine.tools.compiler.ast.FieldName +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.file.locate +import io.spine.tools.compiler.render.InsertionPoint import io.spine.string.Separator import io.spine.string.camelCase import io.spine.text.TextCoordinates diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/FieldAnnotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/FieldAnnotator.kt index 6c471e1b9..1429aa6b5 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/FieldAnnotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/FieldAnnotator.kt @@ -26,10 +26,10 @@ package io.spine.tools.core.jvm.annotation -import io.spine.protodata.ast.FieldName -import io.spine.protodata.ast.MessageType -import io.spine.protodata.java.MessageOrBuilderConvention -import io.spine.protodata.java.MessageOrEnumConvention +import io.spine.tools.compiler.ast.FieldName +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.jvm.MessageOrBuilderConvention +import io.spine.tools.compiler.jvm.MessageOrEnumConvention import io.spine.tools.core.annotation.ApiOption import io.spine.tools.core.annotation.FieldOptions import io.spine.tools.core.annotation.MessageFieldAnnotations diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MessageAnnotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MessageAnnotator.kt index 52f9f78f5..c1c676d6b 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MessageAnnotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MessageAnnotator.kt @@ -26,8 +26,8 @@ package io.spine.tools.core.jvm.annotation -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.MessageOrBuilderConvention +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.MessageOrBuilderConvention import io.spine.tools.core.annotation.MessageAnnotations /** diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MessageOrEnumAnnotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MessageOrEnumAnnotator.kt index ecf7db3e0..05d51afc0 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MessageOrEnumAnnotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MessageOrEnumAnnotator.kt @@ -27,9 +27,9 @@ package io.spine.tools.core.jvm.annotation import io.spine.base.EntityState -import io.spine.protodata.ast.ProtoFileHeader -import io.spine.protodata.java.MessageOrEnumConvention -import io.spine.protodata.java.javaMultipleFiles +import io.spine.tools.compiler.ast.ProtoFileHeader +import io.spine.tools.compiler.jvm.MessageOrEnumConvention +import io.spine.tools.compiler.jvm.javaMultipleFiles import io.spine.tools.core.annotation.ApiOption import io.spine.tools.core.annotation.WithOptions diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MethodPatternAnnotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MethodPatternAnnotator.kt index 77014f618..10451f844 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MethodPatternAnnotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/MethodPatternAnnotator.kt @@ -29,9 +29,9 @@ package io.spine.tools.core.jvm.annotation import com.intellij.psi.PsiClass import com.intellij.psi.PsiJavaFile import com.intellij.psi.PsiMethod -import io.spine.protodata.render.SourceFile -import io.spine.protodata.render.SourceFileSet -import io.spine.protodata.render.forEachOfLanguage +import io.spine.tools.compiler.render.SourceFile +import io.spine.tools.compiler.render.SourceFileSet +import io.spine.tools.compiler.render.forEachOfLanguage import io.spine.tools.code.Java import io.spine.tools.java.isRepeatable import io.spine.tools.java.reference diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/OuterClassAnnotationDiscovery.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/OuterClassAnnotationDiscovery.kt index 3721c8c03..0ab7d6fb1 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/OuterClassAnnotationDiscovery.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/OuterClassAnnotationDiscovery.kt @@ -27,9 +27,9 @@ package io.spine.tools.core.jvm.annotation import io.spine.core.External -import io.spine.protodata.ast.File -import io.spine.protodata.ast.event.FileEntered -import io.spine.protodata.java.javaMultipleFiles +import io.spine.tools.compiler.ast.File +import io.spine.tools.compiler.ast.event.FileEntered +import io.spine.tools.compiler.jvm.javaMultipleFiles import io.spine.server.entity.alter import io.spine.server.event.NoReaction import io.spine.server.event.React diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/OuterClassAnnotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/OuterClassAnnotator.kt index 61cf578f4..7add8c8b2 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/OuterClassAnnotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/OuterClassAnnotator.kt @@ -26,10 +26,10 @@ package io.spine.tools.core.jvm.annotation -import io.spine.protodata.ast.ProtoFileHeader -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.javaOuterClassName -import io.spine.protodata.java.javaPackage +import io.spine.tools.compiler.ast.ProtoFileHeader +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.javaOuterClassName +import io.spine.tools.compiler.jvm.javaPackage import io.spine.tools.core.annotation.ApiOption /** diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/PatternAnnotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/PatternAnnotator.kt index fdb198302..e8e1f4b8b 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/PatternAnnotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/PatternAnnotator.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.annotation -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.annotation.ApiOption import java.io.File diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ProtoAnnotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ProtoAnnotator.kt index ab78422d7..27c8a7716 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ProtoAnnotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ProtoAnnotator.kt @@ -27,7 +27,7 @@ package io.spine.tools.core.jvm.annotation import io.spine.base.EntityState -import io.spine.protodata.render.SourceFileSet +import io.spine.tools.compiler.render.SourceFileSet /** * An abstract base for annotation renderers that annotate Protobuf generated code diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ServiceAnnotationRenderer.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ServiceAnnotationRenderer.kt index e1fa803aa..d1b352294 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ServiceAnnotationRenderer.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/ServiceAnnotationRenderer.kt @@ -26,10 +26,10 @@ package io.spine.tools.core.jvm.annotation -import io.spine.protodata.ast.ProtoFileHeader -import io.spine.protodata.java.GrpcServiceConvention -import io.spine.protodata.java.file.hasGrpcRoot -import io.spine.protodata.render.SourceFileSet +import io.spine.tools.compiler.ast.ProtoFileHeader +import io.spine.tools.compiler.jvm.GrpcServiceConvention +import io.spine.tools.compiler.jvm.file.hasGrpcRoot +import io.spine.tools.compiler.render.SourceFileSet import io.spine.tools.core.annotation.ApiOption import io.spine.tools.core.annotation.ServiceAnnotations diff --git a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/TypeAnnotator.kt b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/TypeAnnotator.kt index 9ac0d6afb..c48291725 100644 --- a/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/TypeAnnotator.kt +++ b/annotation/src/main/kotlin/io/spine/tools/core/jvm/annotation/TypeAnnotator.kt @@ -28,8 +28,8 @@ package io.spine.tools.core.jvm.annotation import com.google.errorprone.annotations.OverridingMethodsMustInvokeSuper import io.spine.base.EntityState -import io.spine.protodata.ast.ProtoFileHeader -import io.spine.protodata.context.findHeader +import io.spine.tools.compiler.ast.ProtoFileHeader +import io.spine.tools.compiler.context.findHeader import io.spine.tools.core.annotation.ApiOption import io.spine.tools.core.annotation.WithOptions import io.spine.tools.core.annotation.file diff --git a/annotation/src/main/proto/spine/tools/core/annotation/annotated_types.proto b/annotation/src/main/proto/spine/tools/core/annotation/annotated_types.proto index 3b126b4bb..aca173532 100644 --- a/annotation/src/main/proto/spine/tools/core/annotation/annotated_types.proto +++ b/annotation/src/main/proto/spine/tools/core/annotation/annotated_types.proto @@ -35,8 +35,8 @@ option java_package = "io.spine.tools.core.annotation"; option java_outer_classname = "AnnotatedTypesProto"; option java_multiple_files = true; -import "spine/protodata/file.proto"; -import "spine/protodata/ast.proto"; +import "spine/compiler/file.proto"; +import "spine/compiler/ast.proto"; // About API level options // ======================== @@ -68,7 +68,7 @@ message FileOptions { option (is).java_type = "WithOptions"; // The name of the file. - protodata.File file = 1; + compiler.File file = 1; // The options applied to the file. // @@ -79,7 +79,7 @@ message FileOptions { // That is why this field is not `required`. // See `FileOptionsProcess` for the example of filtering the options. // - repeated protodata.Option option = 2; + repeated compiler.Option option = 2; } // A message type which has been annotated with one or more API level options. @@ -91,13 +91,13 @@ message MessageAnnotations { option (is).java_type = "WithOptions"; // The name of the message type. - protodata.TypeName type = 1; + compiler.TypeName type = 1; // The proto file where the message is defined. - protodata.File file = 2 [(required) = true]; + compiler.File file = 2 [(required) = true]; // The options applied to the type. - repeated protodata.Option option = 3 [(required) = true]; + repeated compiler.Option option = 3 [(required) = true]; } // The API level options applied to fields of a message type. @@ -105,10 +105,10 @@ message MessageFieldAnnotations { option (entity).kind = VIEW; // The name of the message type. - protodata.TypeName type = 1; + compiler.TypeName type = 1; // The proto file where the message is defined. - protodata.File file = 2 [(required) = true]; + compiler.File file = 2 [(required) = true]; // The options applied to the fields of the type. // @@ -120,10 +120,10 @@ message MessageFieldAnnotations { // The API level options applied to a field of a message. message FieldOptions { // The field with the options applied. - protodata.FieldName field = 1 [(required) = true]; + compiler.FieldName field = 1 [(required) = true]; // One or more applied options. - repeated protodata.Option option = 2 [(required) = true]; + repeated compiler.Option option = 2 [(required) = true]; } // The API level options applied to an enum. @@ -132,13 +132,13 @@ message EnumAnnotations { option (is).java_type = "WithOptions"; // The name of the enum. - protodata.TypeName type = 1; + compiler.TypeName type = 1; // The proto file where the enum is defined. - protodata.File file = 2 [(required) = true]; + compiler.File file = 2 [(required) = true]; // The options applied to the enum. - repeated protodata.Option option = 3; + repeated compiler.Option option = 3; } // The API level options applied to a service. @@ -147,11 +147,11 @@ message ServiceAnnotations { option (is).java_type = "WithOptions"; // The name of the service. - protodata.ServiceName service = 1; + compiler.ServiceName service = 1; // The proto file where the service is defined. - protodata.File file = 2 [(required) = true]; + compiler.File file = 2 [(required) = true]; // The options applied to the service. - repeated protodata.Option option = 3; + repeated compiler.Option option = 3; } diff --git a/annotation/src/main/proto/spine/tools/core/annotation/events.proto b/annotation/src/main/proto/spine/tools/core/annotation/events.proto index 99851b4d5..e096a738a 100644 --- a/annotation/src/main/proto/spine/tools/core/annotation/events.proto +++ b/annotation/src/main/proto/spine/tools/core/annotation/events.proto @@ -35,32 +35,32 @@ option java_package = "io.spine.tools.core.annotation.event"; option java_outer_classname = "EventsProto"; option java_multiple_files = true; -import "spine/protodata/file.proto"; -import "spine/protodata/ast.proto"; +import "spine/compiler/file.proto"; +import "spine/compiler/ast.proto"; // Emitted when a file-wide API option is matched to a message, an enum, or a service // declared in a Protobuf file. message FileOptionMatched { // The file where the API option was declared. - protodata.File file = 1; + compiler.File file = 1; // The file-wide option declared in the file. - protodata.Option file_option = 2; + compiler.Option file_option = 2; // The target of the option. oneof target { // The name of a message type declared in the file. - protodata.TypeName message_type = 3; + compiler.TypeName message_type = 3; // The name of an enum declared in the file. - protodata.TypeName enum_type = 4; + compiler.TypeName enum_type = 4; // The name of the service declared in the file. - protodata.ServiceName service = 5; + compiler.ServiceName service = 5; } // The option assumed to be applied to the target. - protodata.Option assumed = 6; + compiler.Option assumed = 6; } diff --git a/annotation/src/main/proto/spine/tools/core/jvm/annotation/outer_class_annotations.proto b/annotation/src/main/proto/spine/tools/core/jvm/annotation/outer_class_annotations.proto index 998c883d2..f4759e70d 100644 --- a/annotation/src/main/proto/spine/tools/core/jvm/annotation/outer_class_annotations.proto +++ b/annotation/src/main/proto/spine/tools/core/jvm/annotation/outer_class_annotations.proto @@ -35,9 +35,9 @@ option java_package = "io.spine.tools.core.jvm.annotation"; option java_outer_classname = "OuterClassAnnotationsProto"; option java_multiple_files = true; -import "spine/protodata/file.proto"; -import "spine/protodata/source.proto"; -import "spine/protodata/ast.proto"; +import "spine/compiler/file.proto"; +import "spine/compiler/source.proto"; +import "spine/compiler/ast.proto"; // The API level options applied to an outer Java class for types // declared in a proto file with `java_multiple_files = false`. @@ -49,14 +49,14 @@ message OuterClassAnnotations { option (is).java_type = "io.spine.tools.core.annotation.WithOptions"; // The proto file where the file option is defined. - protodata.File file = 1 [(required) = true]; + compiler.File file = 1 [(required) = true]; // The header of the proto file. - protodata.ProtoFileHeader header = 2 [(required) = true]; + compiler.ProtoFileHeader header = 2 [(required) = true]; // The name of the outer Java class. - protodata.TypeName type = 3; + compiler.TypeName type = 3; // The options to be applied to the outer Java class. - repeated protodata.Option option = 4; + repeated compiler.Option option = 4; } diff --git a/annotation/src/test/kotlin/io/spine/tools/core/jvm/annotation/ApiAnnotationsPluginIgTest.kt b/annotation/src/test/kotlin/io/spine/tools/core/jvm/annotation/ApiAnnotationsPluginIgTest.kt index 1fd6daafc..2514b9fda 100644 --- a/annotation/src/test/kotlin/io/spine/tools/core/jvm/annotation/ApiAnnotationsPluginIgTest.kt +++ b/annotation/src/test/kotlin/io/spine/tools/core/jvm/annotation/ApiAnnotationsPluginIgTest.kt @@ -70,7 +70,7 @@ import org.junit.jupiter.api.io.TempDir * * The subject of test is [io.spine.tools.core.annotation.ApiAnnotationsPlugin] which is * a plugin to ProtoData. We test the plugin as a part of the Gradle build performed by - * McJava Gradle plugin. + * the CoreJvm Compiler Gradle plugin. * * The test project is located in `resources/annotator-plugin-test` directory. * @@ -133,7 +133,7 @@ internal class ApiAnnotationsPluginIgTest { "-XX:+HeapDumpOnOutOfMemoryError" ) moduleDir = projectDir.toPath() / RESOURCE_SUB_DIR - project.executeTask(CoreJvmCompilerTaskName.launchProtoData) + project.executeTask(CoreJvmCompilerTaskName.launchSpineCompiler) } } diff --git a/annotation/src/test/resources/annotator-plugin-test/typedefs/build.gradle.kts b/annotation/src/test/resources/annotator-plugin-test/typedefs/build.gradle.kts index 55470016a..b50210f09 100644 --- a/annotation/src/test/resources/annotator-plugin-test/typedefs/build.gradle.kts +++ b/annotation/src/test/resources/annotator-plugin-test/typedefs/build.gradle.kts @@ -32,18 +32,16 @@ plugins { tasks.processResources.get().duplicatesStrategy = DuplicatesStrategy.INCLUDE -// Turn off validation codegen during the transition to new ProtoData API. -modelCompiler { - java { - codegen { +// Turn off validation copiler during the transition to new Compiler API. +spine { + coreJvm { + compiler { validation.enabled.set(false) } } } -// Add Validation Java Runtime because the generated code reference -// the `ValidatingBuilder` interface even if validation codegen is turned off. +// Add Validation Java Runtime because the generated code reference it anyway. dependencies { - compileOnly(JavaX.annotations) implementation(io.spine.dependency.local.Validation.runtime) } diff --git a/base/build.gradle.kts b/base/build.gradle.kts index 0f6cddd94..3904856e8 100644 --- a/base/build.gradle.kts +++ b/base/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2024, TeamDev. All rights reserved. + * Copyright 2025, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,15 +26,14 @@ import io.spine.dependency.lib.KotlinPoet import io.spine.dependency.local.Base +import io.spine.dependency.local.Compiler import io.spine.dependency.local.Logging -import io.spine.dependency.local.ModelCompiler -import io.spine.dependency.local.ProtoData import io.spine.dependency.local.TestLib import io.spine.dependency.local.ToolBase import io.spine.dependency.local.Validation plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } dependencies { @@ -42,9 +41,8 @@ dependencies { compileOnlyApi(gradleKotlinDsl()) val apiDeps = arrayOf( - Logging.lib, - ModelCompiler.lib, - ProtoData.java, + Compiler.api, + Compiler.jvm, Validation.config, ToolBase.pluginBase, KotlinPoet.lib, @@ -56,11 +54,19 @@ dependencies { } api(Base.lib) + arrayOf( + Compiler.gradleApi, + Logging.lib, + ToolBase.gradlePluginApi + ).forEach { + implementation(it) + } + arrayOf( Base.lib, gradleTestKit() /* for creating a Gradle project. */, TestLib.lib, - ProtoData.testlib /* `PipelineSetup` API. */ + Compiler.testlib /* `PipelineSetup` API. */ ).forEach { // Expose using API level for the submodules. testFixturesApi(it) diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/GeneratedAnnotation.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/GeneratedAnnotation.kt index 69aac4ca9..34d76c195 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/GeneratedAnnotation.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/GeneratedAnnotation.kt @@ -37,7 +37,7 @@ import com.squareup.javapoet.AnnotationSpec as JAnnotationSpec import com.squareup.kotlinpoet.AnnotationSpec as KAnnotationSpec /** - * Creates [PsiAnnotation] for marking code elements created by McJava. + * Creates [PsiAnnotation] for marking code elements created by CoreJvm Compiler. * * ## Implementation note * We do not cache the created instance of [PsiAnnotation] because PSI elements are mutable. @@ -50,7 +50,7 @@ import com.squareup.kotlinpoet.AnnotationSpec as KAnnotationSpec */ public object GeneratedAnnotation { - private val defaultValue = "by Spine Model Compiler (version: ${version.value})" + private val defaultValue = "by Spine CoreJvm Compiler (version: ${version.value})" /** * Creates a new [PsiAnnotation] with the [Generated] annotation. diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/VersionHolder.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/VersionHolder.kt index 7a0b64b70..a402df204 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/VersionHolder.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/VersionHolder.kt @@ -29,7 +29,7 @@ package io.spine.tools.core.jvm import io.spine.tools.code.manifest.Version /** - * Holds the version of McJava loaded from the manifest. + * Holds the version of CoreJvm Compiler loaded from the manifest. */ public object VersionHolder { diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/base/FieldPathExts.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/base/FieldPathExts.kt index aab993da0..5a12027f1 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/base/FieldPathExts.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/base/FieldPathExts.kt @@ -28,10 +28,10 @@ package io.spine.tools.core.jvm.base import io.spine.base.FieldPath import io.spine.base.fieldPath -import io.spine.protodata.ast.Field -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.field -import io.spine.protodata.type.TypeSystem +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.field +import io.spine.tools.compiler.type.TypeSystem /** * Tells if this [FieldPath] doesn't denote a nested field. diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/field/AddFieldClass.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/field/AddFieldClass.kt index 21eeab4fb..a9b8ecbec 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/field/AddFieldClass.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/field/AddFieldClass.kt @@ -29,13 +29,13 @@ package io.spine.tools.core.jvm.field import com.google.protobuf.StringValue import com.intellij.psi.PsiAnnotation import com.intellij.psi.PsiClass -import io.spine.protodata.ast.Cardinality.CARDINALITY_SINGLE -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.MessageTypeDependencies -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.render.CreateNestedClass -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.Cardinality.CARDINALITY_SINGLE +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.MessageTypeDependencies +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.render.CreateNestedClass +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.GeneratedAnnotation import io.spine.tools.core.jvm.field.AddFieldClass.Companion.NAME diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/field/FieldAccessorDoc.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/field/FieldAccessorDoc.kt index 8b933fec8..cd64324eb 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/field/FieldAccessorDoc.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/field/FieldAccessorDoc.kt @@ -28,11 +28,11 @@ package io.spine.tools.core.jvm.field import com.intellij.psi.javadoc.PsiDocComment -import io.spine.protodata.ast.Field -import io.spine.protodata.ast.isList -import io.spine.protodata.ast.isMap -import io.spine.protodata.java.javaType -import io.spine.protodata.type.TypeSystem +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.ast.isList +import io.spine.tools.compiler.ast.isMap +import io.spine.tools.compiler.jvm.javaType +import io.spine.tools.compiler.type.TypeSystem import io.spine.tools.psi.java.Environment.elementFactory import org.intellij.lang.annotations.Language diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/field/FieldAccessors.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/field/FieldAccessors.kt index 1dffa235b..9fc4de566 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/field/FieldAccessors.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/field/FieldAccessors.kt @@ -28,15 +28,15 @@ package io.spine.tools.core.jvm.field import com.intellij.psi.PsiMethod import com.intellij.psi.javadoc.PsiDocComment -import io.spine.protodata.ast.Cardinality.CARDINALITY_SINGLE -import io.spine.protodata.ast.Field -import io.spine.protodata.ast.cardinality -import io.spine.protodata.ast.isMessage -import io.spine.protodata.ast.toMessageType -import io.spine.protodata.ast.toType -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.javaCase -import io.spine.protodata.type.TypeSystem +import io.spine.tools.compiler.ast.Cardinality.CARDINALITY_SINGLE +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.ast.cardinality +import io.spine.tools.compiler.ast.isMessage +import io.spine.tools.compiler.ast.toMessageType +import io.spine.tools.compiler.ast.toType +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.javaCase +import io.spine.tools.compiler.type.TypeSystem import io.spine.tools.java.reference import io.spine.tools.psi.addFirst import io.spine.tools.psi.java.Environment.elementFactory diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/field/MessageTypedField.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/field/MessageTypedField.kt index f0c40f461..21f6c7d77 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/field/MessageTypedField.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/field/MessageTypedField.kt @@ -28,10 +28,10 @@ package io.spine.tools.core.jvm.field import com.intellij.psi.PsiClass import com.intellij.psi.PsiJavaCodeReferenceElement -import io.spine.protodata.ast.MessageType -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.javaClassName -import io.spine.protodata.type.TypeSystem +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.javaClassName +import io.spine.tools.compiler.type.TypeSystem import io.spine.tools.psi.java.Environment.elementFactory import io.spine.tools.psi.java.addFirst import io.spine.tools.psi.java.addLast diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/AnnotationSettings.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/AnnotationSettings.kt index 8d0d7e14b..b09d61c8d 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/AnnotationSettings.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/AnnotationSettings.kt @@ -35,7 +35,7 @@ import org.gradle.api.provider.Property import org.gradle.api.tasks.Nested /** - * Settings for annotations exposed by McJava in a Gradle project. + * Settings for annotations exposed by the CoreJvm Compiler in a Gradle project. * * @see CoreJvmOptions */ diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/CoreJvmCompilerTaskName.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/CoreJvmCompilerTaskName.kt index 2fbbd6ffa..ece4ae4f2 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/CoreJvmCompilerTaskName.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/CoreJvmCompilerTaskName.kt @@ -29,11 +29,12 @@ package io.spine.tools.core.jvm.gradle import io.spine.tools.code.SourceSetName import io.spine.tools.code.SourceSetName.Companion.main import io.spine.tools.code.SourceSetName.Companion.test +import io.spine.tools.compiler.gradle.api.CompilerTaskName import io.spine.tools.gradle.task.TaskName import io.spine.tools.gradle.task.TaskWithSourceSetName /** - * Names of Gradle tasks defined by the Core JVM Compiler. + * Names of Gradle tasks defined by the CoreJvm Compiler. */ public class CoreJvmCompilerTaskName(value: String, ssn: SourceSetName) : TaskWithSourceSetName(value, ssn) { @@ -44,21 +45,6 @@ public class CoreJvmCompilerTaskName(value: String, ssn: SourceSetName) : @JvmField public val preClean: TaskName = PreCleanTaskName() - /** - * Obtains the name of the task which annotates Java code according to - * visibility options defined in proto files. - */ - @JvmStatic - public fun annotateProto(ssn: SourceSetName): TaskName = - CoreJvmCompilerTaskName("annotate${ssn.toInfix()}Proto", ssn) - - /** - * Obtains the name of the task which generate rejections for the specified source set. - */ - @JvmStatic - public fun generateRejections(ssn: SourceSetName): TaskName = - CoreJvmCompilerTaskName("generate${ssn.toInfix()}Rejections", ssn) - /** * Obtains the name of the task which merges descriptor set files of the specified * source set. @@ -84,33 +70,14 @@ public class CoreJvmCompilerTaskName(value: String, ssn: SourceSetName) : CoreJvmCompilerTaskName("write${ssn.toInfix()}DescriptorReferences", ssn) /** - * Obtains the name of the task which launches ProtoData for the given source set. + * Obtains the name of the task which launches the Spine Compiler for the given source set. */ @JvmStatic - public fun launchProtoData(ssn: SourceSetName): TaskName = - CoreJvmCompilerTaskName("launch${ssn.toInfix()}ProtoData", ssn) - - /** The name of the task which launches ProtoData for the main source set. */ - @JvmField - public val launchProtoData: TaskName = launchProtoData(main) - - /** Generates source code of rejections in the `main` source set. */ - @JvmField - public val generateRejections: TaskName = generateRejections(main) - - /** Generates source code of rejections in the `test` scope. */ - @JvmField - public val generateTestRejections: TaskName = generateRejections(test) - - /** Annotates the Java sources generated from `.proto` files the `main` scope. */ - @JvmField - @Deprecated("No longer used") - public val annotateProto: TaskName = annotateProto(main) + public fun launchSpineCompiler(ssn: SourceSetName): TaskName = CompilerTaskName(ssn) - /** Annotates the Java sources generated from `.proto` files the `test` scope. */ + /** The name of the task which launches the Spine Compiler for the main source set. */ @JvmField - @Deprecated("No longer used") - public val annotateTestProto: TaskName = annotateProto(test) + public val launchSpineCompiler: TaskName = launchSpineCompiler(main) /** * Merges all the known type descriptors of the module into one in the `main` source set. diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/CoreJvmOptions.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/CoreJvmOptions.kt index 524175f7c..59190084f 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/CoreJvmOptions.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/CoreJvmOptions.kt @@ -27,9 +27,9 @@ package io.spine.tools.core.jvm.gradle import groovy.lang.Closure -import io.spine.protodata.java.style.JavaCodeStyle -import io.spine.protodata.java.style.javaCodeStyleDefaults -import io.spine.tools.core.jvm.gradle.settings.CompilerSettings +import io.spine.tools.compiler.jvm.style.JavaCodeStyle +import io.spine.tools.compiler.jvm.style.javaCodeStyleDefaults +import io.spine.tools.core.jvm.gradle.settings.CoreJvmCompilerSettings import io.spine.tools.java.fs.DefaultJavaPaths import org.gradle.api.Action import org.gradle.api.Project @@ -50,13 +50,7 @@ public abstract class CoreJvmOptions { * Code generation settings related to specific kinds of messages and their validation. */ @JvmField - public var codegen: CompilerSettings? = null - - /** - * The indent for the generated code. - */ - @Deprecated(message = "Please use `style` instead.") - public abstract val indent: Property + public var compiler: CoreJvmCompilerSettings? = null /** * Code style settings for the generated Java code. @@ -81,29 +75,36 @@ public abstract class CoreJvmOptions { * Injects the dependency to the given project. */ public fun injectProject(project: Project) { - this.codegen = CompilerSettings(project) + this.compiler = CoreJvmCompilerSettings(project) } + /** + * Applies the given action for `compiler` options. + */ public fun annotation(action: Action) { action.execute(annotation) } /** - * Applies the given action for code generation options. + * Applies the given action for `compiler` options. */ - public fun codegen(action: Action) { - action.execute(codegen!!) + public fun compiler(action: Action) { + action.execute(compiler!!) } + /** + * Configures the `generateAnnotations` closure. + */ @Suppress("unused") - public // Configures `generateAnnotations` closure. - fun generateAnnotations(closure: Closure<*>) { + public fun generateAnnotations(closure: Closure<*>) { project.configure(annotation, closure) } + /** + * Configures the `generateAnnotations` closure. + */ @Suppress("unused") - public // Configures `generateAnnotations` closure. - fun generateAnnotations(action: Action) { + public fun generateAnnotations(action: Action) { action.execute(annotation) } @@ -112,7 +113,7 @@ public abstract class CoreJvmOptions { /** * The name of the extension, as it appears in a Gradle build script. */ - public const val NAME: String = "java" + public const val NAME: String = "coreJvm" /** * Obtains the extension name of the plugin. diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/ProjectExts.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/ProjectExts.kt index bd811cb34..0bd91b175 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/ProjectExts.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/ProjectExts.kt @@ -37,18 +37,16 @@ import io.spine.tools.gradle.project.sourceSet import io.spine.tools.gradle.protobuf.ProtobufDependencies.sourceSetExtensionName import io.spine.tools.gradle.protobuf.generated import io.spine.tools.java.fs.DefaultJavaPaths -import io.spine.tools.mc.gradle.modelCompiler +import io.spine.tools.gradle.lib.spineExtension import java.nio.file.Path import org.gradle.api.Project import org.gradle.api.file.FileCollection -import org.gradle.api.plugins.ExtensionAware -import org.gradle.kotlin.dsl.getByType /** - * Obtains options of Core JVM Compiler. + * Obtains options of CoreJvm Compiler. */ public val Project.coreJvmOptions: CoreJvmOptions - get() = (modelCompiler as ExtensionAware).extensions.getByType() + get() = spineExtension() private val Project.defaultPaths: DefaultJavaPaths get() = DefaultJavaPaths.at(projectDir.toPath()) diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/CompilerSettings.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/CoreJvmCompilerSettings.kt similarity index 95% rename from base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/CompilerSettings.kt rename to base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/CoreJvmCompilerSettings.kt index f6ba7a6d2..c561a4848 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/CompilerSettings.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/CoreJvmCompilerSettings.kt @@ -31,8 +31,8 @@ package io.spine.tools.core.jvm.gradle.settings import com.google.common.collect.ImmutableList import io.spine.annotation.Internal import io.spine.base.MessageFile -import io.spine.protodata.ast.FilePattern -import io.spine.protodata.ast.FilePatternFactory +import io.spine.tools.compiler.ast.FilePattern +import io.spine.tools.compiler.ast.FilePatternFactory import io.spine.tools.core.jvm.gradle.settings.SignalSettings.Companion.DEFAULT_COMMAND_ACTIONS import io.spine.tools.core.jvm.gradle.settings.SignalSettings.Companion.DEFAULT_EVENT_ACTIONS import io.spine.tools.core.jvm.gradle.settings.SignalSettings.Companion.DEFAULT_REJECTION_ACTIONS @@ -50,10 +50,10 @@ import org.gradle.api.Project import org.gradle.api.tasks.compile.JavaCompile /** - * A part of [McJavaOptions][io.spine.tools.core.jvm.gradle.CoreJvmOptions] responsible + * A part of [CoreJvmOptions][io.spine.tools.core.jvm.gradle.CoreJvmOptions] responsible * for code generation settings. */ -public class CompilerSettings @Internal public constructor(private val project: Project) : +public class CoreJvmCompilerSettings @Internal public constructor(private val project: Project) : Settings(project) { /** @@ -207,7 +207,7 @@ public class CompilerSettings @Internal public constructor(private val project: } override fun toProto(): Combined { - val self = this@CompilerSettings + val self = this@CoreJvmCompilerSettings val ss = signalSettings { commands = self.commands.toProto() events = self.events.toProto() diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/EntitySettings.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/EntitySettings.kt index f7204d1c4..49fa5f946 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/EntitySettings.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/EntitySettings.kt @@ -45,7 +45,7 @@ import org.gradle.api.provider.SetProperty * * @param project The project for which settings are created. * - * @see CompilerSettings.forEntities + * @see CoreJvmCompilerSettings.forEntities */ public class EntitySettings @VisibleForTesting public constructor(project: Project) : SettingsWithFields(project, DEFAULT_ACTIONS) { diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/GroupedByFilePatterns.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/GroupedByFilePatterns.kt index 35b1a6fdd..8d01c8a17 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/GroupedByFilePatterns.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/GroupedByFilePatterns.kt @@ -29,8 +29,8 @@ package io.spine.tools.core.jvm.gradle.settings import com.google.common.collect.ImmutableSet import com.google.protobuf.Message import io.spine.protobuf.isDefault -import io.spine.protodata.ast.FilePattern -import io.spine.protodata.ast.FilePatternFactory +import io.spine.tools.compiler.ast.FilePattern +import io.spine.tools.compiler.ast.FilePatternFactory import io.spine.tools.core.jvm.settings.ActionMap import io.spine.tools.gradle.Multiple import org.gradle.api.Project diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/MessageGroupSettings.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/MessageGroupSettings.kt index 4bdfac265..231a18ce5 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/MessageGroupSettings.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/MessageGroupSettings.kt @@ -41,7 +41,7 @@ import org.gradle.api.Project * * @constructor Creates an instance of settings for the given project and the specified pattern. * - * @see CompilerSettings.forMessages + * @see CoreJvmCompilerSettings.forMessages */ public class MessageGroupSettings internal constructor( project: Project, diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/SettingsWithActions.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/SettingsWithActions.kt index 1b0d6b64c..17ee64d28 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/SettingsWithActions.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/SettingsWithActions.kt @@ -29,10 +29,10 @@ package io.spine.tools.core.jvm.gradle.settings import com.google.common.annotations.VisibleForTesting import com.google.protobuf.Message import com.google.protobuf.stringValue -import io.spine.protodata.java.render.ImplementInterface -import io.spine.protodata.java.render.superInterface -import io.spine.protodata.render.Actions -import io.spine.protodata.render.actions +import io.spine.tools.compiler.jvm.render.ImplementInterface +import io.spine.tools.compiler.jvm.render.superInterface +import io.spine.tools.compiler.render.Actions +import io.spine.tools.compiler.render.actions import io.spine.tools.core.jvm.settings.ActionMap import io.spine.tools.core.jvm.settings.BinaryClassName import io.spine.tools.core.jvm.settings.noParameter diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/SignalSettings.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/SignalSettings.kt index 0c2216c9e..270e51c66 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/SignalSettings.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/SignalSettings.kt @@ -32,9 +32,9 @@ import io.spine.base.CommandMessage import io.spine.base.EventMessage import io.spine.base.EventMessageField import io.spine.base.RejectionMessage -import io.spine.protodata.ast.filePattern -import io.spine.protodata.java.render.ImplementInterface -import io.spine.protodata.java.render.superInterface +import io.spine.tools.compiler.ast.filePattern +import io.spine.tools.compiler.jvm.render.ImplementInterface +import io.spine.tools.compiler.jvm.render.superInterface import io.spine.tools.core.jvm.field.AddFieldClass import io.spine.tools.core.jvm.settings.ActionMap import io.spine.tools.core.jvm.settings.Signals diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/UuidSettings.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/UuidSettings.kt index 0b4af40fe..d4c4d192a 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/UuidSettings.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/UuidSettings.kt @@ -28,8 +28,8 @@ package io.spine.tools.core.jvm.gradle.settings import com.google.common.annotations.VisibleForTesting import io.spine.base.UuidValue -import io.spine.protodata.java.render.ImplementInterface -import io.spine.protodata.java.render.superInterface +import io.spine.tools.compiler.jvm.render.ImplementInterface +import io.spine.tools.compiler.jvm.render.superInterface import io.spine.tools.core.jvm.settings.ActionMap import io.spine.tools.core.jvm.settings.Uuids import io.spine.tools.core.jvm.settings.noParameter diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/ValidationSettings.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/ValidationSettings.kt index 972897940..48efa7c19 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/ValidationSettings.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/gradle/settings/ValidationSettings.kt @@ -38,9 +38,10 @@ public class ValidationSettings internal constructor(project: Project) : Settings(project) { /** - * Allows specifying a version of the validation code generator used by McJava. + * Allows specifying a version of the Validation Compiler used by + * the CoreJvm Compiler. * - * If empty, the version on which McJava depends during build time will be used. + * If empty, the version on which the CoreJvm Compiler depends during build time will be used. * The default value of this property is an empty string. */ public val version: Property = project.objects.property(String::class.java) diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/settings/ActionsExts.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/settings/ActionsExts.kt index 44e2c2088..d8444efd2 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/settings/ActionsExts.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/settings/ActionsExts.kt @@ -29,7 +29,7 @@ package io.spine.tools.core.jvm.settings import com.google.protobuf.Any import com.google.protobuf.Message import io.spine.protobuf.pack -import io.spine.protodata.render.Actions +import io.spine.tools.compiler.render.Actions import org.checkerframework.checker.signature.qual.FqBinaryName /** diff --git a/base/src/main/kotlin/io/spine/tools/core/jvm/settings/Patterns.kt b/base/src/main/kotlin/io/spine/tools/core/jvm/settings/Patterns.kt index 41aa70ae6..92f48ecf1 100644 --- a/base/src/main/kotlin/io/spine/tools/core/jvm/settings/Patterns.kt +++ b/base/src/main/kotlin/io/spine/tools/core/jvm/settings/Patterns.kt @@ -28,8 +28,8 @@ package io.spine.tools.core.jvm.settings -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.matches +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.matches import io.spine.tools.core.jvm.settings.Pattern.KindCase.FILE import io.spine.tools.core.jvm.settings.Pattern.KindCase.TYPE import io.spine.tools.core.jvm.settings.TypePattern.ValueCase.EXPECTED_TYPE diff --git a/base/src/main/proto/spine/tools/core/jvm/settings.proto b/base/src/main/proto/spine/tools/core/jvm/settings.proto index d235b8ecd..3faf30660 100644 --- a/base/src/main/proto/spine/tools/core/jvm/settings.proto +++ b/base/src/main/proto/spine/tools/core/jvm/settings.proto @@ -38,8 +38,8 @@ option (internal_all) = true; import "spine/tools/java/java.proto"; import "spine/tools/proto/proto.proto"; -import "spine/protodata/file_pattern.proto"; -import "spine/protodata/render_actions.proto"; +import "spine/compiler/file_pattern.proto"; +import "spine/compiler/render_actions.proto"; // Code generation settings passed to Spine Protoc Plugin. // @@ -107,14 +107,14 @@ message Signals { // NOTE: Code generators do not presume any conventions. // Conventional file patterns described above must be added to the `pattern` field explicitly. // - repeated protodata.FilePattern pattern = 1; + repeated compiler.FilePattern pattern = 1; reserved 2, 3; reserved "add_interface"; reserved "generate_fields"; // Code generation actions applied to the signal message types. - protodata.Actions actions = 4; + compiler.Actions actions = 4; } // Code generation settings for `Signal` messages. @@ -156,7 +156,7 @@ message Entities { bool generate_queries = 5; // The code generation actions applied to entity state types. - protodata.Actions actions = 6; + compiler.Actions actions = 6; } // Code generation settings for an arbitrary group of messages. @@ -178,7 +178,7 @@ message MessageGroup { reserved "generate_fields"; // The code generation actions applied to selected message types. - protodata.Actions actions = 6; + compiler.Actions actions = 6; } // A pattern which matches one or multiple messages. @@ -187,7 +187,7 @@ message Pattern { oneof kind { // File name pattern. - protodata.FilePattern file = 1; + compiler.FilePattern file = 1; // Type name pattern. TypePattern type = 2; @@ -225,9 +225,9 @@ message Uuids { reserved "add_interface"; reserved "method_factory"; - // Names of classes implementing the `io.spine.protodata.renderer.RenderAction` class + // Names of classes implementing the `io.spine.compiler.renderer.RenderAction` class // that are to be applied to the UUID messages. - protodata.Actions actions = 3; + compiler.Actions actions = 3; } // Code generation settings for comparable messages. @@ -237,5 +237,5 @@ message Uuids { message Comparables { // A collection of code generation actions. - protodata.Actions actions = 1; + compiler.Actions actions = 1; } diff --git a/base/src/testFixtures/kotlin/io/spine/tools/core/java/NoOpMessageAction.kt b/base/src/testFixtures/kotlin/io/spine/tools/core/java/NoOpMessageAction.kt index 088d543de..71bc4b5eb 100644 --- a/base/src/testFixtures/kotlin/io/spine/tools/core/java/NoOpMessageAction.kt +++ b/base/src/testFixtures/kotlin/io/spine/tools/core/java/NoOpMessageAction.kt @@ -27,10 +27,10 @@ package io.spine.tools.core.jvm import com.google.protobuf.Empty -import io.spine.protodata.ast.MessageType -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.render.MessageAction -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.render.MessageAction +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java /** diff --git a/base/src/testFixtures/kotlin/io/spine/tools/core/java/PluginTestSetup.kt b/base/src/testFixtures/kotlin/io/spine/tools/core/java/PluginTestSetup.kt index 6418d81a7..aff38cc49 100644 --- a/base/src/testFixtures/kotlin/io/spine/tools/core/java/PluginTestSetup.kt +++ b/base/src/testFixtures/kotlin/io/spine/tools/core/java/PluginTestSetup.kt @@ -30,23 +30,23 @@ import com.google.protobuf.Descriptors.GenericDescriptor import com.google.protobuf.Message import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldNotBe -import io.spine.protodata.backend.DescriptorFilter -import io.spine.protodata.java.style.JavaCodeStyleFormatterPlugin -import io.spine.protodata.params.Directories -import io.spine.protodata.params.WorkingDirectory -import io.spine.protodata.plugin.Plugin -import io.spine.protodata.render.SourceFile -import io.spine.protodata.render.SourceFileSet -import io.spine.protodata.settings.SettingsDirectory -import io.spine.protodata.testing.PipelineSetup -import io.spine.protodata.testing.PipelineSetup.Companion.byResources -import io.spine.protodata.testing.pipelineParams -import io.spine.protodata.testing.withRequestFile -import io.spine.protodata.testing.withSettingsDir -import io.spine.protodata.util.Format +import io.spine.tools.compiler.backend.DescriptorFilter +import io.spine.tools.compiler.jvm.style.JavaCodeStyleFormatterPlugin +import io.spine.tools.compiler.params.Directories +import io.spine.tools.compiler.params.WorkingDirectory +import io.spine.tools.compiler.plugin.Plugin +import io.spine.tools.compiler.render.SourceFile +import io.spine.tools.compiler.render.SourceFileSet +import io.spine.tools.compiler.settings.SettingsDirectory +import io.spine.testing.compiler.PipelineSetup +import io.spine.testing.compiler.PipelineSetup.Companion.byResources +import io.spine.testing.compiler.pipelineParams +import io.spine.testing.compiler.withRequestFile +import io.spine.testing.compiler.withSettingsDir +import io.spine.format.Format import io.spine.tools.code.Java import io.spine.tools.code.SourceSetName -import io.spine.tools.core.jvm.gradle.settings.CompilerSettings +import io.spine.tools.core.jvm.gradle.settings.CoreJvmCompilerSettings import io.spine.type.toJson import java.nio.file.Path import kotlin.io.path.exists @@ -55,7 +55,7 @@ import org.gradle.testfixtures.ProjectBuilder /** * An abstract base for companion objects of test suites testing - * a ProtoData plugin provided by a module of McJava. + * a Spine Compiler plugin provided by a module of the CoreJvm Compiler. * * @param S The type of the plugin settings in the form of a Protobuf message. */ @@ -81,27 +81,30 @@ abstract class PluginTestSetup( /** * Creates settings for the [plugin] under the test. * - * Please use [createCodegenConfig] for obtaining all default code + * Please use [createCompilerSettings] for obtaining all default code * generation settings and then get its part for your plugin. */ protected abstract fun createSettings(projectDir: Path): S /** - * Creates default code generation settings created for a project when - * McJava Gradle plugin is applied. + * Creates default compiler settings created for a project when + * the CoreJvm Compiler Gradle plugin is applied. + * + * The method mimics the call to + * [CoreJvmOptions.injectProject][io.spine.tools.core.jvm.gradle.CoreJvmOptions.injectProject] + * performed by `CoreJvmPlugin`. */ - protected fun createCodegenConfig(projectDir: Path): CompilerSettings { + protected fun createCompilerSettings(projectDir: Path): CoreJvmCompilerSettings { val project = createProject(projectDir) - // This mimics the call `McJavaOptions` performed on `injectProject`. - val codegenConfig = CompilerSettings(project) - return codegenConfig + val compilerSettings = CoreJvmCompilerSettings(project) + return compilerSettings } /** * Creates an instance of [PipelineSetup] with the given parameters. * * [settings] will be written to the [WorkingDirectory.settingsDirectory] before - * creation of a [Pipeline][io.spine.protodata.backend.Pipeline]. + * creation of a [Pipeline][io.spine.tools.compiler.backend.Pipeline]. * * @param projectDir The directory to create the compilation environment. * @param settings The plugin settings used by the test. @@ -113,7 +116,7 @@ abstract class PluginTestSetup( settings: S, descriptorFilter: (GenericDescriptor) -> Boolean = { true } ): PipelineSetup { - val workingDir = projectDir.resolve("build").resolve(Directories.PROTODATA_WORKING_DIR) + val workingDir = projectDir.resolve("build").resolve(Directories.COMPILER_WORKING_DIR) val workingDirectory = WorkingDirectory(workingDir) val requestFile = workingDirectory.requestDirectory.file(SourceSetName("testFixtures")) val params = pipelineParams { @@ -138,7 +141,7 @@ abstract class PluginTestSetup( } private fun writeSettings(dir: SettingsDirectory, settings: S) { - dir.write(settingsId, Format.PROTO_JSON, settings.toJson()) + dir.write(settingsId, Format.ProtoJson, settings.toJson()) } /** diff --git a/build.gradle.kts b/build.gradle.kts index 11542f6e5..7dae4058a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -29,7 +29,7 @@ import io.spine.dependency.build.Dokka import io.spine.dependency.lib.Protobuf import io.spine.dependency.local.CoreJava -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.dependency.local.Validation import io.spine.gradle.RunBuild import io.spine.gradle.RunGradle @@ -49,7 +49,7 @@ buildscript { val coreJava = io.spine.dependency.local.CoreJava val validation = io.spine.dependency.local.Validation val logging = io.spine.dependency.local.Logging - val protoData = io.spine.dependency.local.ProtoData + val compiler = io.spine.dependency.local.Compiler doForceVersions(configurations) configurations { all { @@ -72,7 +72,7 @@ buildscript { logging.lib, logging.libJvm, logging.middleware, - "${protoData.module}:${protoData.dogfoodingVersion}", + "${compiler.module}:${compiler.dogfoodingVersion}", validation.runtime, validation.javaBundle ) @@ -82,7 +82,7 @@ buildscript { dependencies { classpath(enforcedPlatform(io.spine.dependency.kotlinx.Coroutines.bom)) classpath(enforcedPlatform(io.spine.dependency.lib.Grpc.bom)) - classpath(mcJava.pluginLib) + classpath(coreJvmCompiler.pluginLib) } } @@ -192,9 +192,9 @@ val coreJvmCompilerVersion: String by extra val prepareBuildPerformanceSettings by tasks.registering(Exec::class) { environment( - "MC_JAVA_VERSION" to coreJvmCompilerVersion, + "CORE_JVM_COMPILER_VERSION" to coreJvmCompilerVersion, "CORE_VERSION" to CoreJava.version, - "PROTO_DATA_VERSION" to ProtoData.version, + "COMPILER_VERSION" to Compiler.version, "VALIDATION_VERSION" to Validation.version ) workingDir = File(rootDir, "BuildSpeed") @@ -208,8 +208,8 @@ tasks.register("checkPerformance") { dependsOn(prepareBuildPerformanceSettings, localPublish) shouldRunAfter(check) - // Do not run `BuildSpeed` until Validation is migrated to new ProtoData. - // Uncomment the below line, and remove `task()` + // Do not run `BuildSpeed` until Validation is migrated to the Compiler. + //TODO:2025-06-16:alexander.yevsyukov: Uncomment the below line, and remove `task()` // task("clean", "build") task("tasks") } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 633b5a929..f340969ac 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -137,9 +137,9 @@ val koverVersion = "0.9.1" * * `7.1.2` is the last version compatible with Gradle 7.x. Newer versions require Gradle v8.x. * - * @see Shadow Plugin releases + * @see Shadow Plugin releases */ -val shadowVersion = "7.1.2" +val shadowVersion = "8.3.6" configurations.all { resolutionStrategy { @@ -172,7 +172,7 @@ dependencies { "com.github.jk1:gradle-license-report:$licenseReportVersion", "com.google.guava:guava:$guavaVersion", "com.google.protobuf:protobuf-gradle-plugin:$protobufPluginVersion", - "gradle.plugin.com.github.johnrengelman:shadow:$shadowVersion", + "com.gradleup.shadow:shadow-gradle-plugin:$shadowVersion", "io.gitlab.arturbosch.detekt:detekt-gradle-plugin:$detektVersion", "io.kotest:kotest-gradle-plugin:$kotestJvmPluginVersion", // https://github.com/srikanth-lingala/zip4j diff --git a/buildSrc/src/main/kotlin/BuildExtensions.kt b/buildSrc/src/main/kotlin/BuildExtensions.kt index 4654e3649..91e85b7f9 100644 --- a/buildSrc/src/main/kotlin/BuildExtensions.kt +++ b/buildSrc/src/main/kotlin/BuildExtensions.kt @@ -31,8 +31,8 @@ import io.spine.dependency.build.GradleDoctor import io.spine.dependency.build.Ksp import io.spine.dependency.build.PluginPublishPlugin import io.spine.dependency.lib.Protobuf -import io.spine.dependency.local.McJava -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.CoreJvmCompiler +import io.spine.dependency.local.Compiler import io.spine.dependency.local.ProtoTap import io.spine.dependency.test.Kotest import io.spine.dependency.test.Kover @@ -80,36 +80,36 @@ val ScriptHandlerScope.protobuf: Protobuf get() = Protobuf /** - * Shortcut to [McJava] dependency object for using under `buildScript`. + * Shortcut to [CoreJvmCompiler] dependency object for using under `buildScript`. */ -val ScriptHandlerScope.mcJava: McJava - get() = McJava +val ScriptHandlerScope.coreJvmCompiler: CoreJvmCompiler + get() = CoreJvmCompiler /** - * Shortcut to [McJava] dependency object. + * Shortcut to [CoreJvmCompiler] dependency object. * * This plugin is not published to Gradle Portal and cannot be applied directly to a project. * Firstly, it should be put to buildscript's classpath and then applied by ID only. */ -val PluginDependenciesSpec.mcJava: McJava - get() = McJava +val PluginDependenciesSpec.coreJvmCompiler: CoreJvmCompiler + get() = CoreJvmCompiler /** - * Shortcut to [ProtoData] dependency object for using under `buildscript`. + * Shortcut to the [Compiler] dependency object for using under `buildscript`. */ -val ScriptHandlerScope.protoData: ProtoData - get() = ProtoData +val ScriptHandlerScope.compiler: Compiler + get() = Compiler /** - * Shortcut to [ProtoData] dependency object. + * Shortcut to the [Compiler] dependency object. * * This plugin is published at Gradle Plugin Portal. - * But when used in a pair with [mcJava], it cannot be applied directly to a project. - * It is so, because [mcJava] uses [protoData] as its dependency. + * But when used in a pair with [coreJvmCompiler], it cannot be applied directly to a project. + * It is so, because [coreJvmCompiler] uses [compiler] as its dependency. * And the buildscript's classpath ends up with both of them. */ -val PluginDependenciesSpec.protoData: ProtoData - get() = ProtoData +val PluginDependenciesSpec.compiler: Compiler + get() = Compiler /** * Provides shortcuts for applying plugins from our dependency objects. @@ -162,11 +162,11 @@ val PluginDependenciesSpec.`plugin-publish`: PluginDependencySpec /** * Configures the dependencies between third-party Gradle tasks - * and those defined via ProtoData and Spine Model Compiler. + * and those defined via the Spine Compiler and its plugins. * * It is required to avoid warnings in build logs, detecting the undeclared * usage of Spine-specific task output by other tasks, - * e.g., the output of `launchProtoData` is used by `compileKotlin`. + * e.g., the output of `launchSpineCompiler` is used by `compileKotlin`. */ @Suppress("unused") fun Project.configureTaskDependencies() { @@ -297,31 +297,31 @@ fun Project.setRemoteDebug(taskName: String, enabled: Boolean = true) { } /** - * Sets remote debug options for the `launchProtoData` task. + * Sets remote debug options for the `launchSpineCompiler` task. * * @param enabled if `true` the task will be suspended. * * @see remoteDebug */ -fun Project.protoDataRemoteDebug(enabled: Boolean = true) = +fun Project.spineCompilerRemoteDebug(enabled: Boolean = true) = setRemoteDebug("launchProtoData", enabled) /** - * Sets remote debug options for the `launchTestProtoData` task. + * Sets remote debug options for the `launchTestSpineCompiler` task. * * @param enabled if `true` the task will be suspended. * * @see remoteDebug */ -fun Project.testProtoDataRemoteDebug(enabled: Boolean = true) = +fun Project.testSpineCompilerRemoteDebug(enabled: Boolean = true) = setRemoteDebug("launchTestProtoData", enabled) /** - * Sets remote debug options for the `launchTestFixturesProtoData` task. + * Sets remote debug options for the `launchTestFixturesSpineCompiler` task. * * @param enabled if `true` the task will be suspended. * * @see remoteDebug */ -fun Project.testFixturesProtoDataRemoteDebug(enabled: Boolean = true) = +fun Project.testFixturesSpineCompilerRemoteDebug(enabled: Boolean = true) = setRemoteDebug("launchTestFixturesProtoData", enabled) diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt index 203059e79..8eaf49a6d 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/lib/Protobuf.kt @@ -33,7 +33,7 @@ package io.spine.dependency.lib ) object Protobuf { const val group = "com.google.protobuf" - const val version = "4.31.0" + const val version = "4.31.1" /** * The Java library with Protobuf data types. diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt new file mode 100644 index 000000000..1d6daab49 --- /dev/null +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt @@ -0,0 +1,176 @@ +/* + * Copyright 2025, TeamDev. All rights reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Redistribution and use in source and/or binary forms, with or without + * modification, must retain the above copyright notice and the following + * disclaimer. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package io.spine.dependency.local + +/** + * Dependencies on the Spine Compiler modules. + * + * To use a locally published ProtoData version instead of the version from a public plugin + * registry, set the `COMPILER_VERSION` and/or the `COMPILER_DF_VERSION` environment variables + * and stop the Gradle daemons so that Gradle observes the env change: + * ``` + * export COMPILER_VERSION=0.43.0-local + * export COMPILER_DF_VERSION=0.41.0 + * + * ./gradle --stop + * ./gradle build # Conduct the intended checks. + * ``` + * + * Then, to reset the console to run the usual versions again, remove the values of + * the environment variables and stop the daemon: + * ``` + * export COMPILER_VERSION="" + * export COMPILER_DF_VERSION="" + * + * ./gradle --stop + * ``` + * + * See [`SpineEventEngine/compiler`](https://github.com/SpineEventEngine/compiler/). + */ +@Suppress( + "unused" /* Some subprojects do not use the Compiler directly. */, + "ConstPropertyName" /* We use custom convention for artifact properties. */, + "MemberVisibilityCanBePrivate" /* The properties are used directly by other subprojects. */, +) +object Compiler { + const val pluginGroup = Spine.group + const val group = "io.spine.tools" + const val pluginId = "io.spine.compiler" + + /** + * Identifies the Compiler as a `classpath` dependency under `buildScript` block. + */ + const val module = "io.spine.tools:compiler" + + /** + * The version of ProtoData dependencies. + */ + val version: String + private const val fallbackVersion = "2.0.0-SNAPSHOT.011" + + /** + * The distinct version of ProtoData used by other build tools. + * + * When ProtoData is used both for building the project and as a part of the Project's + * transitional dependencies, this is the version used to build the project itself. + */ + val dogfoodingVersion: String + private const val fallbackDfVersion = "2.0.0-SNAPSHOT.011" + + /** + * The artifact for the ProtoData Gradle plugin. + */ + val pluginLib: String + + /** + * The artifact to be used during experiments when publishing locally. + * + * @see Compiler + */ + private fun pluginLib(version: String): String = + "$group:compiler-gradle-plugin:$version" + + fun api(version: String): String = + "$group:compiler-api:$version" + + val api + get() = api(version) + + val backend + get() = "$group:compiler-backend:$version" + + val params + get() = "$group:compiler-params:$version" + + val protocPlugin + get() = "$group:compiler-protoc-plugin:$version" + + val gradleApi + get() = "$group:compiler-gradle-api:$version" + + val cliApi + get() = "$group:compiler-cli-api:$version" + + val jvmModule = "$group:compiler-jvm" + + fun jvm(version: String): String = + "$jvmModule:$version" + + val jvm + get() = jvm(version) + + val fatCli + get() = "$group:compiler-fat-cli:$version" + + val testlib + get() = "$group:compiler-testlib:$version" + + /** + * An env variable storing a custom [version]. + */ + private const val VERSION_ENV = "COMPILER_VERSION" + + /** + * An env variable storing a custom [dogfoodingVersion]. + */ + private const val DF_VERSION_ENV = "COMPILER_DF_VERSION" + + /** + * Sets up the versions and artifacts for the build to use. + * + * If either [VERSION_ENV] or [DF_VERSION_ENV] is set, those versions are used instead of + * the hardcoded ones. Also, in this mode, the [pluginLib] coordinates are changed so that + * it points at a locally published artifact. Otherwise, it points at an artifact that would be + * published to a public plugin registry. + */ + init { + val experimentVersion = System.getenv(VERSION_ENV) + val experimentDfVersion = System.getenv(DF_VERSION_ENV) + if (experimentVersion?.isNotBlank() == true || experimentDfVersion?.isNotBlank() == true) { + version = experimentVersion ?: fallbackVersion + dogfoodingVersion = experimentDfVersion ?: fallbackDfVersion + + pluginLib = pluginLib(version) + println(""" + + ❗ Running an experiment with the Spine Compiler. ❗ + ----------------------------------------- + Regular version = v$version + Dogfooding version = v$dogfoodingVersion + + The Compiler Gradle plugin can now be loaded from Maven Local. + + To reset the versions, erase the `$$VERSION_ENV` and `$$DF_VERSION_ENV` environment variables. + + """.trimIndent()) + } else { + version = fallbackVersion + dogfoodingVersion = fallbackDfVersion + pluginLib = pluginLib(version) + } + } +} diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt index 28391810e..d8b12b9e0 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt @@ -27,7 +27,7 @@ package io.spine.dependency.local /** - * Dependencies on the Core JVM Compiler artifacts. + * Dependencies on the CoreJvm Compiler artifacts. * * See [mc-java](https://github.com/SpineEventEngine/core-jvm-compiler). */ @@ -46,12 +46,12 @@ object CoreJvmCompiler { /** * The version used to in the build classpath. */ - const val dogfoodingVersion = "2.0.0-SNAPSHOT.001" + const val dogfoodingVersion = "2.0.0-SNAPSHOT.003" /** * The version to be used for integration tests. */ - const val version = "2.0.0-SNAPSHOT.001" + const val version = "2.0.0-SNAPSHOT.003" /** * The ID of the Gradle plugin. diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt index 439b8b104..60d08820f 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/McJava.kt @@ -36,6 +36,10 @@ package io.spine.dependency.local "ConstPropertyName", "unused" ) +@Deprecated( + message = "Please use `CoreJvmCompiler` instead.", + replaceWith = ReplaceWith("CoreJvmCompiler") +) object McJava { const val group = Spine.toolsGroup diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoData.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoData.kt index ae7f53542..ca1333b91 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoData.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoData.kt @@ -56,6 +56,10 @@ package io.spine.dependency.local "ConstPropertyName" /* We use custom convention for artifact properties. */, "MemberVisibilityCanBePrivate" /* The properties are used directly by other subprojects. */, ) +@Deprecated( + message = "Please use `Compiler` instead.", + replaceWith = ReplaceWith("Compiler", imports = ["io.spine.dependency.local.Compiler"]) +) object ProtoData { const val pluginGroup = Spine.group const val group = "io.spine.protodata" diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt index 6667d1a04..018b23e53 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt @@ -38,7 +38,7 @@ package io.spine.dependency.local ) object ProtoTap { const val group = "io.spine.tools" - const val version = "0.10.0" + const val version = "0.11.0" const val gradlePluginId = "io.spine.prototap" const val api = "$group:prototap-api:$version" const val gradlePlugin = "$group:prototap-gradle-plugin:$version" diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt index d7b6d0cde..2e54d66c6 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/Spine.kt @@ -35,83 +35,5 @@ object Spine { const val group = "io.spine" const val toolsGroup = "io.spine.tools" - @Deprecated(message = "Please use `Base.lib`.", ReplaceWith("Base.lib")) - const val base = Base.lib - - @Deprecated( - message = "Please use `Base.libForBuildScript`.", - ReplaceWith("Base.libForBuildScript") - ) - const val baseForBuildScript = Base.libForBuildScript - - @Deprecated(message = "Please use `Reflect.lib`.", ReplaceWith("Reflect.lib")) - const val reflect = Reflect.lib - - @Deprecated(message = "Please use `BaseTypes.lib`.", ReplaceWith("BaseTypes.lib")) - const val baseTypes = BaseTypes.lib - - @Deprecated(message = "Please use `Time.lib`.", ReplaceWith("Time.lib")) - const val time = Time.lib - - @Deprecated(message = "Please use `Change.lib`.", ReplaceWith("Change.lib")) - const val change = Change.lib - - @Deprecated(message = "Please use `Text.lib`.", ReplaceWith("Text.lib")) - const val text = Text.lib - - @Deprecated(message = "Please use `TestLib.lib`.", ReplaceWith("TestLib.lib")) - const val testlib = TestLib.lib - - @Deprecated(message = "Please use `Time.testLib`.", ReplaceWith("Time.testLib")) - const val testUtilTime = Time.testLib - - @Deprecated(message = "Please use `ToolBase.psiJava` instead`.") - const val psiJava = "$toolsGroup:spine-psi-java:${ToolBase.version}" - - @Deprecated( - message = "Please use `ToolBase.psiJava` instead`.", - ReplaceWith("ToolBase.psiJava") - ) - const val psiJavaBundle = "$toolsGroup:spine-psi-java-bundle:${ToolBase.version}" - - @Deprecated(message = "Please use `ToolBase.lib` instead`.", ReplaceWith("ToolBase.lib")) - const val toolBase = "$toolsGroup:spine-tool-base:${ToolBase.version}" - - @Deprecated( - message = "Please use `ToolBase.pluginBase` instead`.", - ReplaceWith("ToolBase.pluginBase") - ) - const val pluginBase = "$toolsGroup:spine-plugin-base:${ToolBase.version}" - - @Deprecated( - message = "Please use `ToolBase.pluginTestlib` instead`.", - ReplaceWith("ToolBase.pluginTestlib") - ) - const val pluginTestlib = ToolBase.pluginTestlib - - @Deprecated( - message = "Please use `ModelCompiler.lib` instead.", - ReplaceWith("ModelCompiler.lib") - ) - const val modelCompiler = ModelCompiler.lib - - @Deprecated( - message = "Please use top level `McJava` object instead.", - ReplaceWith("McJava", "io.spine.dependency.local.McJava") - ) - val McJava = io.spine.dependency.local.McJava - const val javadocFilter = "$toolsGroup:spine-javadoc-filter:${ArtifactVersion.javadocTools}" - - @Deprecated( - message = "Please use top level `CoreJava.client` object instead.", - ReplaceWith("CoreJava.client", "io.spine.dependency.local.CoreJava") - ) - const val client = CoreJava.client - - @Deprecated( - message = "Please use top level `CoreJava.server` object instead.", - ReplaceWith("CoreJava.server", "io.spine.dependency.local.CoreJava") - ) - const val server = CoreJava.server } diff --git a/buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt b/buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt index 5dc149987..a80de5ae1 100644 --- a/buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt +++ b/buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt @@ -37,6 +37,7 @@ object ToolBase { const val version = "2.0.0-SNAPSHOT.335" const val lib = "$group:spine-tool-base:$version" + const val gradlePluginApi = "$group:spine-gradle-plugin-api:$version" const val pluginBase = "$group:spine-plugin-base:$version" const val pluginTestlib = "$group:spine-plugin-testlib:$version" diff --git a/buildSrc/src/main/kotlin/module.gradle.kts b/buildSrc/src/main/kotlin/module.gradle.kts index c1ae9b2c4..9d3daeaca 100644 --- a/buildSrc/src/main/kotlin/module.gradle.kts +++ b/buildSrc/src/main/kotlin/module.gradle.kts @@ -33,21 +33,18 @@ import io.spine.dependency.build.Ksp import io.spine.dependency.lib.Caffeine import io.spine.dependency.lib.Grpc import io.spine.dependency.lib.Guava -import io.spine.dependency.lib.Jackson import io.spine.dependency.lib.Kotlin import io.spine.dependency.lib.KotlinPoet import io.spine.dependency.lib.Protobuf import io.spine.dependency.local.Base +import io.spine.dependency.local.Compiler import io.spine.dependency.local.CoreJava import io.spine.dependency.local.Logging -import io.spine.dependency.local.ProtoData import io.spine.dependency.local.Reflect import io.spine.dependency.local.TestLib import io.spine.dependency.local.Time import io.spine.dependency.local.ToolBase import io.spine.dependency.local.Validation -import io.spine.dependency.test.JUnit -import io.spine.dependency.test.Truth import io.spine.gradle.VersionWriter import io.spine.gradle.checkstyle.CheckStyleConfig import io.spine.gradle.javac.configureErrorProne @@ -56,12 +53,7 @@ import io.spine.gradle.javadoc.JavadocConfig import io.spine.gradle.kotlin.setFreeCompilerArgs import io.spine.gradle.publish.IncrementGuard import io.spine.gradle.report.license.LicenseReporter -import io.spine.gradle.testing.configureLogging -import io.spine.gradle.testing.registerTestTasks import java.util.* -import org.gradle.kotlin.dsl.invoke -import org.jetbrains.dokka.gradle.DokkaTask -import org.jetbrains.dokka.gradle.DokkaTaskPartial plugins { java @@ -163,9 +155,9 @@ fun Module.forceConfigurations() { Validation.java, Validation.javaBundle, Validation.config, - ProtoData.api, - ProtoData.gradleApi, - ProtoData.java, + Compiler.api, + Compiler.gradleApi, + Compiler.jvm, ) } } diff --git a/buildSrc/src/main/kotlin/write-manifest.gradle.kts b/buildSrc/src/main/kotlin/write-manifest.gradle.kts index b63d3272d..7dd78a8fe 100644 --- a/buildSrc/src/main/kotlin/write-manifest.gradle.kts +++ b/buildSrc/src/main/kotlin/write-manifest.gradle.kts @@ -153,7 +153,7 @@ tasks.jar { /** * Makes Gradle ignore the [buildTimestampAttr] attribute during normalization. * - * See [Java META-INF normalization](https://docs.gradle.org/current/userguide/more_about_tasks.html#sec:meta_inf_normalization) + * See [Java META-INF normalization](https://docs.gradle.org/current/userguide/incremental_build.html#sec:meta_inf_normalization) * section of the Gradle documentation for details. */ normalization { diff --git a/comparable-tests/src/test/kotlin/io/spine/tools/core/jvm/comparable/ComparablePluginTestSetup.kt b/comparable-tests/src/test/kotlin/io/spine/tools/core/jvm/comparable/ComparablePluginTestSetup.kt index 2f0e6acb8..f2dbd1417 100644 --- a/comparable-tests/src/test/kotlin/io/spine/tools/core/jvm/comparable/ComparablePluginTestSetup.kt +++ b/comparable-tests/src/test/kotlin/io/spine/tools/core/jvm/comparable/ComparablePluginTestSetup.kt @@ -29,8 +29,8 @@ package io.spine.tools.core.jvm.comparable import com.google.protobuf.Any import com.intellij.psi.PsiClass import com.intellij.psi.PsiJavaFile -import io.spine.protodata.java.render.MessageAction -import io.spine.protodata.render.actions +import io.spine.tools.compiler.jvm.render.MessageAction +import io.spine.tools.compiler.render.actions import io.spine.tools.core.jvm.PluginTestSetup import io.spine.tools.core.jvm.settings.Comparables import io.spine.tools.core.jvm.settings.comparables diff --git a/comparable-tests/src/test/kotlin/io/spine/tools/core/jvm/comparable/Fixtures.kt b/comparable-tests/src/test/kotlin/io/spine/tools/core/jvm/comparable/Fixtures.kt index faa33b2ff..374a7c150 100644 --- a/comparable-tests/src/test/kotlin/io/spine/tools/core/jvm/comparable/Fixtures.kt +++ b/comparable-tests/src/test/kotlin/io/spine/tools/core/jvm/comparable/Fixtures.kt @@ -32,8 +32,8 @@ import com.intellij.psi.PsiField import io.kotest.matchers.nulls.shouldBeNull import io.spine.logging.testing.tapConsole import io.spine.protobuf.defaultInstance -import io.spine.protodata.Compilation -import io.spine.protodata.testing.acceptingOnly +import io.spine.tools.compiler.Compilation +import io.spine.testing.compiler.acceptingOnly import io.spine.testing.logging.mute.withLoggingMutedIn import io.spine.tools.core.jvm.comparable.AddComparatorSpec.Companion.generatedCodeOf import io.spine.tools.core.jvm.comparable.action.AddComparator diff --git a/comparable/build.gradle.kts b/comparable/build.gradle.kts index ba4904d49..2e9b9121d 100644 --- a/comparable/build.gradle.kts +++ b/comparable/build.gradle.kts @@ -27,7 +27,7 @@ import io.spine.dependency.local.TestLib plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } dependencies { diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableActionsRenderer.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableActionsRenderer.kt index 946ff4e22..d50949805 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableActionsRenderer.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableActionsRenderer.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.comparable -import io.spine.protodata.java.render.TypeRenderer +import io.spine.tools.compiler.jvm.render.TypeRenderer /** * Renders codegen [actions][ComparableMessage.getActions] for each [ComparableMessage] diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableComponent.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableComponent.kt index 0079bca1f..829f0bcf2 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableComponent.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableComponent.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.comparable -import io.spine.protodata.settings.LoadsSettings +import io.spine.tools.compiler.settings.LoadsSettings /** * A component that can access settings of [ComparablePlugin]. diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableMessageDiscovery.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableMessageDiscovery.kt index 9e56debda..00169d2bc 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableMessageDiscovery.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableMessageDiscovery.kt @@ -28,10 +28,10 @@ package io.spine.tools.core.jvm.comparable import io.spine.core.External import io.spine.option.CompareByOption -import io.spine.protodata.ast.event.TypeDiscovered -import io.spine.protodata.ast.find -import io.spine.protodata.plugin.Policy -import io.spine.protodata.settings.loadSettings +import io.spine.tools.compiler.ast.event.TypeDiscovered +import io.spine.tools.compiler.ast.find +import io.spine.tools.compiler.plugin.Policy +import io.spine.tools.compiler.settings.loadSettings import io.spine.server.event.NoReaction import io.spine.server.event.React import io.spine.server.tuple.EitherOf2 diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableMessageView.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableMessageView.kt index 0229491b4..c6e852978 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableMessageView.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparableMessageView.kt @@ -27,8 +27,8 @@ package io.spine.tools.core.jvm.comparable import io.spine.core.Subscribe -import io.spine.protodata.ast.MessageType -import io.spine.protodata.plugin.View +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.plugin.View import io.spine.server.entity.alter import io.spine.tools.core.jvm.comparable.event.ComparableMessageDiscovered diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparablePlugin.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparablePlugin.kt index 5446da208..12b07e3ac 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparablePlugin.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/ComparablePlugin.kt @@ -26,11 +26,11 @@ package io.spine.tools.core.jvm.comparable -import io.spine.protodata.plugin.Plugin +import io.spine.tools.compiler.plugin.Plugin /** * Looks for messages with `compare_by` option and applies render actions specified in - * [CodegenSettings][io.spine.tools.core.jvm.gradle.settings.CompilerSettings.forComparables]. + * [io.spine.tools.core.jvm.gradle.settings.CoreJvmCompilerSettings.forComparables]. * * The default list of actions is configured in * [ComparableSettings][io.spine.tools.core.jvm.gradle.settings.ComparableSettings]. diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/AddComparator.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/AddComparator.kt index d2cb1a194..205dcf3e1 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/AddComparator.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/AddComparator.kt @@ -32,26 +32,26 @@ import io.spine.base.copy import io.spine.base.fieldPath import io.spine.compare.ComparatorRegistry import io.spine.option.CompareByOption -import io.spine.protodata.Compilation -import io.spine.protodata.ast.Cardinality.CARDINALITY_SINGLE -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.Option -import io.spine.protodata.ast.PrimitiveType.PT_UNKNOWN -import io.spine.protodata.ast.PrimitiveType.TYPE_BYTES -import io.spine.protodata.ast.cardinality -import io.spine.protodata.ast.find -import io.spine.protodata.ast.name -import io.spine.protodata.ast.option -import io.spine.protodata.ast.qualifiedName -import io.spine.protodata.ast.unpack -import io.spine.protodata.check -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.MethodCall -import io.spine.protodata.java.javaClass -import io.spine.protodata.java.render.DirectMessageAction -import io.spine.protodata.java.toPsi -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.Compilation +import io.spine.tools.compiler.ast.Cardinality.CARDINALITY_SINGLE +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.Option +import io.spine.tools.compiler.ast.PrimitiveType.PT_UNKNOWN +import io.spine.tools.compiler.ast.PrimitiveType.TYPE_BYTES +import io.spine.tools.compiler.ast.cardinality +import io.spine.tools.compiler.ast.find +import io.spine.tools.compiler.ast.name +import io.spine.tools.compiler.ast.option +import io.spine.tools.compiler.ast.qualifiedName +import io.spine.tools.compiler.ast.unpack +import io.spine.tools.compiler.check +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.MethodCall +import io.spine.tools.compiler.jvm.javaClass +import io.spine.tools.compiler.jvm.render.DirectMessageAction +import io.spine.tools.compiler.jvm.toPsi +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.GeneratedAnnotation import io.spine.tools.core.jvm.base.joined diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/AddCompareTo.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/AddCompareTo.kt index f2b3cac51..dc5d94c35 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/AddCompareTo.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/AddCompareTo.kt @@ -27,10 +27,10 @@ package io.spine.tools.core.jvm.comparable.action import com.google.protobuf.Empty -import io.spine.protodata.ast.MessageType -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.render.DirectMessageAction -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.render.DirectMessageAction +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.GeneratedAnnotation import io.spine.tools.core.jvm.OverrideAnnotation diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ComparatorBuilder.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ComparatorBuilder.kt index c3f5199f9..db281b908 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ComparatorBuilder.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ComparatorBuilder.kt @@ -29,11 +29,11 @@ package io.spine.tools.core.jvm.comparable.action import com.google.protobuf.Message import com.intellij.psi.PsiClass import io.spine.base.FieldPath -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.Expression -import io.spine.protodata.java.FieldDeclaration -import io.spine.protodata.java.ParameterizedTypeName -import io.spine.protodata.java.call +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.Expression +import io.spine.tools.compiler.jvm.FieldDeclaration +import io.spine.tools.compiler.jvm.ParameterizedTypeName +import io.spine.tools.compiler.jvm.call import io.spine.string.camelCase import io.spine.string.lowerCamelCase import io.spine.tools.core.jvm.base.isNotNested diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ComparisonField.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ComparisonField.kt index 8279db490..ec28f82c4 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ComparisonField.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ComparisonField.kt @@ -27,8 +27,8 @@ package io.spine.tools.core.jvm.comparable.action import io.spine.base.FieldPath -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.PrimitiveType +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.PrimitiveType /** * A field that participates in comparison. diff --git a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ImplementComparable.kt b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ImplementComparable.kt index ad0470a08..18d80d03b 100644 --- a/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ImplementComparable.kt +++ b/comparable/src/main/kotlin/io/spine/tools/core/jvm/comparable/action/ImplementComparable.kt @@ -26,11 +26,11 @@ package io.spine.tools.core.jvm.comparable.action -import io.spine.protodata.ast.MessageType -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.render.ImplementInterface -import io.spine.protodata.java.render.superInterface -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.render.ImplementInterface +import io.spine.tools.compiler.jvm.render.superInterface +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java /** diff --git a/comparable/src/main/proto/spine/tools/core/jvm/comparable/events.proto b/comparable/src/main/proto/spine/tools/core/jvm/comparable/events.proto index 086f57411..be4e4cd4d 100644 --- a/comparable/src/main/proto/spine/tools/core/jvm/comparable/events.proto +++ b/comparable/src/main/proto/spine/tools/core/jvm/comparable/events.proto @@ -35,18 +35,18 @@ option java_package = "io.spine.tools.core.jvm.comparable.event"; option java_outer_classname = "EventsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; -import "spine/protodata/render_actions.proto"; +import "spine/compiler/ast.proto"; +import "spine/compiler/render_actions.proto"; // A message with `compare_by` option was discovered. message ComparableMessageDiscovered { // The type in which the option was discovered. - protodata.MessageType type = 1; + compiler.MessageType type = 1; // The option itself. CompareByOption option = 2; // The code generation actions to apply. - protodata.Actions actions = 3; + compiler.Actions actions = 3; } diff --git a/comparable/src/main/proto/spine/tools/core/jvm/comparable/views.proto b/comparable/src/main/proto/spine/tools/core/jvm/comparable/views.proto index 3bb2fe1a5..d5b21accc 100644 --- a/comparable/src/main/proto/spine/tools/core/jvm/comparable/views.proto +++ b/comparable/src/main/proto/spine/tools/core/jvm/comparable/views.proto @@ -35,20 +35,20 @@ option java_package = "io.spine.tools.core.jvm.comparable"; option java_outer_classname = "ViewsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; -import "spine/protodata/render_actions.proto"; +import "spine/compiler/ast.proto"; +import "spine/compiler/render_actions.proto"; // A comparable message. message ComparableMessage { - option (is).java_type = "io.spine.protodata.render.TypeActions"; + option (is).java_type = "io.spine.tools.compiler.render.TypeActions"; option (entity).kind = VIEW; // The message type. - protodata.MessageType type = 1; + compiler.MessageType type = 1; // Message's `compare_by` option. CompareByOption option = 2; // The code generation actions to apply. - protodata.Actions actions = 3; + compiler.Actions actions = 3; } diff --git a/entity-tests/src/test/kotlin/io/spine/tools/core/jvm/entity/EntitySettingsSpec.kt b/entity-tests/src/test/kotlin/io/spine/tools/core/jvm/entity/EntitySettingsSpec.kt index 28dec08ae..95fe6328d 100644 --- a/entity-tests/src/test/kotlin/io/spine/tools/core/jvm/entity/EntitySettingsSpec.kt +++ b/entity-tests/src/test/kotlin/io/spine/tools/core/jvm/entity/EntitySettingsSpec.kt @@ -30,7 +30,7 @@ import io.kotest.matchers.collections.shouldContainExactly import io.spine.tools.core.jvm.entity.column.AddColumnClass import io.spine.tools.core.jvm.entity.query.AddQuerySupport import io.spine.tools.core.jvm.field.AddFieldClass -import io.spine.tools.core.jvm.gradle.settings.CompilerSettings +import io.spine.tools.core.jvm.gradle.settings.CoreJvmCompilerSettings import io.spine.tools.core.jvm.settings.Entities import io.spine.tools.java.reference import java.io.File @@ -55,7 +55,7 @@ internal class EntitySettingsSpec { @BeforeEach fun createProject(@TempDir projectDir: File) { val project = ProjectBuilder.builder().withProjectDir(projectDir).build() - val compilerSettings = CompilerSettings(project) + val compilerSettings = CoreJvmCompilerSettings(project) settings = compilerSettings.entities.toProto() } diff --git a/entity/build.gradle.kts b/entity/build.gradle.kts index 149b695ab..2c1929d58 100644 --- a/entity/build.gradle.kts +++ b/entity/build.gradle.kts @@ -30,7 +30,7 @@ import io.spine.dependency.local.TestLib import io.spine.dependency.local.ToolBase plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } dependencies { diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/DiscoveredEntitiesView.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/DiscoveredEntitiesView.kt index 94ca57e25..e3bfc58cf 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/DiscoveredEntitiesView.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/DiscoveredEntitiesView.kt @@ -27,8 +27,8 @@ package io.spine.tools.core.jvm.entity import io.spine.core.Subscribe -import io.spine.protodata.ast.File -import io.spine.protodata.plugin.View +import io.spine.tools.compiler.ast.File +import io.spine.tools.compiler.plugin.View import io.spine.server.entity.alter import io.spine.tools.core.jvm.entity.event.EntityStateDiscovered diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityDiscovery.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityDiscovery.kt index 8b594cf57..06420b419 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityDiscovery.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityDiscovery.kt @@ -27,9 +27,9 @@ package io.spine.tools.core.jvm.entity import io.spine.core.External -import io.spine.protodata.ast.event.TypeDiscovered -import io.spine.protodata.plugin.Policy -import io.spine.protodata.settings.loadSettings +import io.spine.tools.compiler.ast.event.TypeDiscovered +import io.spine.tools.compiler.plugin.Policy +import io.spine.tools.compiler.settings.loadSettings import io.spine.server.event.React import io.spine.tools.core.jvm.entity.event.EntityStateDiscovered import io.spine.tools.core.jvm.entity.event.entityStateDiscovered diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityPlugin.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityPlugin.kt index e19873788..b9f3c289c 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityPlugin.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityPlugin.kt @@ -27,7 +27,7 @@ package io.spine.tools.core.jvm.entity import com.google.common.annotations.VisibleForTesting -import io.spine.protodata.plugin.Plugin +import io.spine.tools.compiler.plugin.Plugin /** * A ProtoData plugin responsible for handling code generation aspects related to diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityPluginComponent.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityPluginComponent.kt index 15990aee1..450831262 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityPluginComponent.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityPluginComponent.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.entity -import io.spine.protodata.settings.LoadsSettings +import io.spine.tools.compiler.settings.LoadsSettings /** * A common interface for [EntityPlugin] parts that load diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityStateRenderer.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityStateRenderer.kt index d1aa2441f..9d72fdc29 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityStateRenderer.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/EntityStateRenderer.kt @@ -26,10 +26,10 @@ package io.spine.tools.core.jvm.entity -import io.spine.protodata.ast.MessageType -import io.spine.protodata.java.render.RenderActions -import io.spine.protodata.java.render.TypeListRenderer -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.jvm.render.RenderActions +import io.spine.tools.compiler.jvm.render.TypeListRenderer +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.settings.Entities import io.spine.tools.psi.java.execute diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/ImplementEntityState.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/ImplementEntityState.kt index 876f57c3a..3ad15716d 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/ImplementEntityState.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/ImplementEntityState.kt @@ -28,14 +28,14 @@ package io.spine.tools.core.jvm.entity import com.google.protobuf.Empty import io.spine.base.EntityState -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.firstField -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.javaType -import io.spine.protodata.java.render.DirectMessageAction -import io.spine.protodata.java.render.ImplementInterface -import io.spine.protodata.java.render.superInterface -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.firstField +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.javaType +import io.spine.tools.compiler.jvm.render.DirectMessageAction +import io.spine.tools.compiler.jvm.render.ImplementInterface +import io.spine.tools.compiler.jvm.render.superInterface +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.java.reference diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/MessageTypeExts.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/MessageTypeExts.kt index ebb7df81a..0ccf7063d 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/MessageTypeExts.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/MessageTypeExts.kt @@ -26,8 +26,8 @@ package io.spine.tools.core.jvm.entity -import io.spine.protodata.ast.Field -import io.spine.protodata.ast.MessageType +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.ast.MessageType import io.spine.tools.core.jvm.settings.Entities /** diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/column/AddColumnClass.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/column/AddColumnClass.kt index 347f31e58..2004e37c2 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/column/AddColumnClass.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/column/AddColumnClass.kt @@ -29,12 +29,12 @@ package io.spine.tools.core.jvm.entity.column import com.google.common.collect.ImmutableSet import com.intellij.psi.PsiAnnotation import com.intellij.psi.PsiMethod -import io.spine.protodata.ast.Field -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.columns -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.render.CreateNestedClass -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.columns +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.render.CreateNestedClass +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.GeneratedAnnotation import io.spine.tools.core.jvm.entity.EntityPlugin.Companion.COLUMN_CLASS_NAME diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/column/ColumnAccessor.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/column/ColumnAccessor.kt index 354e67c7b..e6a62c471 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/column/ColumnAccessor.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/column/ColumnAccessor.kt @@ -29,12 +29,12 @@ package io.spine.tools.core.jvm.entity.column import com.intellij.psi.PsiClass import com.intellij.psi.PsiMethod import com.intellij.psi.javadoc.PsiDocComment -import io.spine.protodata.ast.Field -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.getterName -import io.spine.protodata.java.javaCase -import io.spine.protodata.java.typeReference -import io.spine.protodata.type.TypeSystem +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.getterName +import io.spine.tools.compiler.jvm.javaCase +import io.spine.tools.compiler.jvm.typeReference +import io.spine.tools.compiler.type.TypeSystem import io.spine.query.EntityColumn import io.spine.tools.java.reference import io.spine.tools.psi.addFirst diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/AddQuerySupport.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/AddQuerySupport.kt index 840e92344..85cd09e50 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/AddQuerySupport.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/AddQuerySupport.kt @@ -27,11 +27,11 @@ package io.spine.tools.core.jvm.entity.query import com.google.protobuf.Empty -import io.spine.protodata.ast.MessageType -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.render.DirectMessageAction -import io.spine.protodata.render.SourceFile -import io.spine.protodata.settings.loadSettings +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.render.DirectMessageAction +import io.spine.tools.compiler.render.SourceFile +import io.spine.tools.compiler.settings.loadSettings import io.spine.tools.code.Java import io.spine.tools.core.jvm.entity.EntityPluginComponent import io.spine.tools.core.jvm.settings.Entities diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/IdMethod.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/IdMethod.kt index a872afec1..ce0c61a5f 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/IdMethod.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/IdMethod.kt @@ -28,7 +28,7 @@ package io.spine.tools.core.jvm.entity.query import com.intellij.psi.PsiClass import com.intellij.psi.javadoc.PsiDocComment -import io.spine.protodata.java.ClassName +import io.spine.tools.compiler.jvm.ClassName import io.spine.query.IdCriterion import io.spine.tools.java.reference import io.spine.tools.psi.addFirst diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryBuilderClass.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryBuilderClass.kt index 630347766..adef916cc 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryBuilderClass.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryBuilderClass.kt @@ -28,11 +28,11 @@ package io.spine.tools.core.jvm.entity.query import com.intellij.psi.PsiClass import com.intellij.psi.PsiMethod -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.columns -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.javaCase -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.columns +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.javaCase +import io.spine.tools.compiler.render.SourceFile import io.spine.query.EntityQueryBuilder import io.spine.tools.code.Java import io.spine.tools.core.jvm.entity.EntityPlugin.Companion.QUERY_BUILDER_CLASS_NAME diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryClass.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryClass.kt index 2285cb4b6..7bbb4d397 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryClass.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryClass.kt @@ -28,9 +28,9 @@ package io.spine.tools.core.jvm.entity.query import com.intellij.psi.PsiClass import com.intellij.psi.PsiMethod -import io.spine.protodata.ast.MessageType -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.render.SourceFile import io.spine.query.EntityQuery import io.spine.tools.code.Java import io.spine.tools.core.jvm.entity.EntityPlugin.Companion.QUERY_BUILDER_CLASS_NAME diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryColumn.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryColumn.kt index 2e203f074..2b892ce65 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryColumn.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryColumn.kt @@ -29,10 +29,10 @@ package io.spine.tools.core.jvm.entity.query import com.intellij.psi.PsiClass import com.intellij.psi.PsiMethod import com.intellij.psi.javadoc.PsiDocComment -import io.spine.protodata.ast.Field -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.typeReference -import io.spine.protodata.type.TypeSystem +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.typeReference +import io.spine.tools.compiler.type.TypeSystem import io.spine.query.EntityCriterion import io.spine.tools.core.jvm.entity.EntityPlugin.Companion.COLUMN_CLASS_NAME import io.spine.tools.core.jvm.entity.column.columnMethodName diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryMethod.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryMethod.kt index 2d9edd673..016175aac 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryMethod.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QueryMethod.kt @@ -30,7 +30,7 @@ import com.intellij.psi.PsiJavaFile import com.intellij.psi.javadoc.PsiDocComment import com.intellij.refactoring.extractMethod.newImpl.ExtractMethodHelper.addSiblingAfter import io.spine.logging.WithLogging -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.GeneratedAnnotation import io.spine.tools.core.jvm.entity.EntityPlugin.Companion.QUERY_BUILDER_CLASS_NAME diff --git a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QuerySupportClass.kt b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QuerySupportClass.kt index bfe46e83c..fc4cef6e9 100644 --- a/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QuerySupportClass.kt +++ b/entity/src/main/kotlin/io/spine/tools/core/jvm/entity/query/QuerySupportClass.kt @@ -27,13 +27,13 @@ package io.spine.tools.core.jvm.entity.query import com.intellij.psi.PsiAnnotation -import io.spine.protodata.ast.Field -import io.spine.protodata.ast.MessageType -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.render.CreateNestedClass -import io.spine.protodata.java.typeReference -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.render.CreateNestedClass +import io.spine.tools.compiler.jvm.typeReference +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.GeneratedAnnotation import io.spine.tools.core.jvm.entity.idField diff --git a/entity/src/main/proto/spine/tools/core/jvm/entity/events.proto b/entity/src/main/proto/spine/tools/core/jvm/entity/events.proto index 65943dc17..26d1f1383 100644 --- a/entity/src/main/proto/spine/tools/core/jvm/entity/events.proto +++ b/entity/src/main/proto/spine/tools/core/jvm/entity/events.proto @@ -35,18 +35,18 @@ option java_package = "io.spine.tools.core.jvm.entity.event"; option java_outer_classname = "EventsProto"; option java_multiple_files = true; -import "spine/protodata/file.proto"; -import "spine/protodata/ast.proto"; +import "spine/compiler/file.proto"; +import "spine/compiler/ast.proto"; // An entity state was discovered in a proto file. message EntityStateDiscovered { // The file in which the type is defined. - protodata.File file = 1 [(required) = true]; + compiler.File file = 1 [(required) = true]; // The name of the discovered entity state type. - protodata.TypeName name = 2 [(required) = true]; + compiler.TypeName name = 2 [(required) = true]; // The declaration of the entity state. - protodata.MessageType type = 3 [(required) = true]; + compiler.MessageType type = 3 [(required) = true]; } diff --git a/entity/src/main/proto/spine/tools/core/jvm/entity/views.proto b/entity/src/main/proto/spine/tools/core/jvm/entity/views.proto index 2a82ce38a..667dd09e9 100644 --- a/entity/src/main/proto/spine/tools/core/jvm/entity/views.proto +++ b/entity/src/main/proto/spine/tools/core/jvm/entity/views.proto @@ -35,21 +35,21 @@ option java_package = "io.spine.tools.core.jvm.entity"; option java_outer_classname = "ViewsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; -import "spine/protodata/file.proto"; -import "spine/protodata/render_actions.proto"; +import "spine/compiler/ast.proto"; +import "spine/compiler/file.proto"; +import "spine/compiler/render_actions.proto"; // Provides entity state types declared in a proto file. message DiscoveredEntities { - option (is).java_type = "io.spine.protodata.render.TypeListActions"; + option (is).java_type = "io.spine.tools.compiler.render.TypeListActions"; option (.entity).kind = PROJECTION; // The file which declares entity state types. - protodata.File file = 1; + compiler.File file = 1; // Message types that qualify as entity states. - repeated protodata.MessageType type = 2; + repeated compiler.MessageType type = 2; // Rendering actions to be applied to the entity states. - protodata.Actions actions = 3; + compiler.Actions actions = 3; } diff --git a/gradle-plugins/build.gradle.kts b/gradle-plugins/build.gradle.kts index 723acb54d..c38908424 100644 --- a/gradle-plugins/build.gradle.kts +++ b/gradle-plugins/build.gradle.kts @@ -27,15 +27,15 @@ import io.spine.dependency.lib.Grpc import io.spine.dependency.lib.Kotlin import io.spine.dependency.lib.Protobuf -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.dependency.local.TestLib import io.spine.dependency.local.ToolBase import io.spine.dependency.local.Validation import io.spine.gradle.WriteVersions dependencies { - implementation(ProtoData.pluginLib) - implementation(ProtoData.params) + implementation(Compiler.pluginLib) + implementation(Compiler.params) implementation(Protobuf.GradlePlugin.lib) ?.because("We access the Protobuf Gradle Plugin extension.") @@ -86,17 +86,14 @@ tasks { withType().configureEach { // Store the version of gRPC so that we can set the artifact for `protoc`. - // See `io.spine.tools.mc.java.gradle.plugins.JavaProtocConfigurationPlugin` for details. version(Grpc.ProtocPlugin.artifact) // Store the version of Validation so that we can add the dependency for - // the `protoData` configuration. - // See `io.spine.tools.mc.java.gradle.plugins.ProtoDataConfigurationPlugin` for details. + // the `spineCompiler` configuration. version(Validation.java) - // Store the version of `tool-base` so that we can add the dependency for - // the `protoData` configuration when configuring rejection codegen. - // See `io.spine.tools.mc.java.gradle.plugins.ProtoDataConfigurationPlugin` for details. + // Store the version of `tool-base` so that we can load the version of + // Protobuf `protoc` artifact. version(ToolBase.lib) } } diff --git a/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/Artifacts.kt b/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/Artifacts.kt index d52b16ba8..3ef189001 100644 --- a/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/Artifacts.kt +++ b/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/Artifacts.kt @@ -76,7 +76,7 @@ internal val gRpcProtocPlugin: Artifact by lazy { } /** - * Artifacts of Core JVM Compiler. + * Artifacts of CoreJvm Compiler. */ internal object CoreJvmCompiler { @@ -94,7 +94,7 @@ internal object CoreJvmCompiler { } /** - * The Maven artifact containing the `corr-jvm-plugins:all` fat JAR artifact. + * The Maven artifact containing the `core-jvm-plugins:all` fat JAR artifact. */ @JvmStatic @get:JvmName("allPlugins") @@ -131,9 +131,8 @@ internal object ValidationSdk { /** * The Maven artifact containing the `spine-validation-java-bundle` module. * - * @param version - * the version of Validation library to be used. - * If empty, the version of the build time dependency used is used. + * @param version The version of the Validation library to be used. + * If empty, the version of the build time dependency used is used. * @see javaRuntime */ @JvmStatic diff --git a/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/ProtoDataConfigPlugin.kt b/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/CompilerConfigPlugin.kt similarity index 66% rename from gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/ProtoDataConfigPlugin.kt rename to gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/CompilerConfigPlugin.kt index 122bec6bb..1e4ddddf5 100644 --- a/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/ProtoDataConfigPlugin.kt +++ b/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/CompilerConfigPlugin.kt @@ -28,23 +28,25 @@ package io.spine.tools.core.jvm.gradle.plugins -import io.spine.protodata.gradle.Names -import io.spine.protodata.gradle.Names.GRADLE_PLUGIN_ID -import io.spine.protodata.gradle.plugin.LaunchProtoData -import io.spine.protodata.gradle.protoDataWorkingDir -import io.spine.protodata.java.style.JavaCodeStyleFormatterPlugin -import io.spine.protodata.params.WorkingDirectory +import io.spine.tools.compiler.gradle.api.CompilerSettings +import io.spine.tools.compiler.gradle.api.Names +import io.spine.tools.compiler.gradle.api.Names.GRADLE_PLUGIN_ID +import io.spine.tools.compiler.gradle.api.compilerSettings +import io.spine.tools.compiler.gradle.api.compilerWorkingDir +import io.spine.tools.compiler.gradle.plugin.LaunchSpineCompiler +import io.spine.tools.compiler.jvm.style.JavaCodeStyleFormatterPlugin +import io.spine.tools.compiler.params.WorkingDirectory import io.spine.tools.core.annotation.ApiAnnotationsPlugin import io.spine.tools.core.jvm.comparable.ComparablePlugin import io.spine.tools.core.jvm.entity.EntityPlugin import io.spine.tools.core.jvm.gradle.CoreJvmCompiler.allPlugins import io.spine.tools.core.jvm.gradle.ValidationSdk +import io.spine.tools.core.jvm.gradle.coreJvmOptions import io.spine.tools.core.jvm.gradle.generatedGrpcDirName import io.spine.tools.core.jvm.gradle.generatedJavaDirName -import io.spine.tools.core.jvm.gradle.coreJvmOptions -import io.spine.tools.core.jvm.gradle.plugins.ProtoDataConfigPlugin.Companion.VALIDATION_PLUGIN_CLASS -import io.spine.tools.core.jvm.gradle.plugins.ProtoDataConfigPlugin.Companion.WRITE_PROTODATA_SETTINGS -import io.spine.tools.core.jvm.gradle.settings.CompilerSettings +import io.spine.tools.core.jvm.gradle.plugins.CompilerConfigPlugin.Companion.VALIDATION_PLUGIN_CLASS +import io.spine.tools.core.jvm.gradle.plugins.CompilerConfigPlugin.Companion.WRITE_COMPILER_SETTINGS +import io.spine.tools.core.jvm.gradle.settings.CoreJvmCompilerSettings import io.spine.tools.core.jvm.marker.MarkerPlugin import io.spine.tools.core.jvm.mgroup.MessageGroupPlugin import io.spine.tools.core.jvm.signal.SignalPlugin @@ -56,29 +58,27 @@ import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.artifacts.Dependency import org.gradle.api.provider.Provider -import org.gradle.kotlin.dsl.getByType import org.gradle.kotlin.dsl.register import org.gradle.kotlin.dsl.withType -import io.spine.protodata.gradle.CodegenSettings as ProtoDataSettings -import io.spine.protodata.plugin.Plugin as ProtoDataPlugin +import io.spine.tools.compiler.plugin.Plugin as CompilerPlugin /** - * The plugin that configures ProtoData for the associated project. + * The plugin that configures the Spine Compiler for the associated project. * * This plugin does the following: - * 1. Applies the `io.spine.protodata` Gradle plugin to the project. - * 2. Configures the ProtoData extension of a Gradle project, passing codegen - * plugins of ProtoData, such - * as [JavaValidationPlugin][io.spine.validation.java.JavaValidationPlugin]. - * 3. Creates a [WriteProtoDataSettings] task for passing configuration to ProtoData, and - * links it to the [LaunchProtoData] task. + * 1. Applies the `io.spine.compiler` Gradle plugin to the project. + * 2. Configures the Compiler extension of the Gradle project, passing the compiler plugins, + * such as [JavaValidationPlugin][io.spine.validation.java.JavaValidationPlugin] and + * the plugins introduced by the modules of CoreJvm Compiler modules. + * 3. Creates a [WriteCompilerSettings] task for passing configuration to the Compiler, and + * links it to the [LaunchSpineCompiler] task. * 4. Adds required dependencies. */ -internal class ProtoDataConfigPlugin : Plugin { +internal class CompilerConfigPlugin : Plugin { /** - * Applies the `io.spine.protodata` plugin to the project and, if the user needs - * validation code generation, configures ProtoData to generate Java validation code. + * Applies the `io.spine.compiler` plugin to the project and, if the user needs + * validation code generation, configures the Compiler to generate Java validation code. * * ProtoData configuration is a tricky operation because of Gradle's lifecycle. * We need to squeeze our configuration before the `LaunchProtoData` task is configured. @@ -87,7 +87,7 @@ internal class ProtoDataConfigPlugin : Plugin { */ override fun apply(project: Project) { project.afterEvaluate { - it.configureProtoData() + it.configureCompiler() } project.pluginManager.apply(GRADLE_PLUGIN_ID) } @@ -95,9 +95,9 @@ internal class ProtoDataConfigPlugin : Plugin { companion object { /** - * The name of the task for writing ProtoData settings. + * The name of the task for writing the Compiler settings. */ - const val WRITE_PROTODATA_SETTINGS = "writeProtoDataSettings" + const val WRITE_COMPILER_SETTINGS = "writeSpineCompilerSettings" /** * The name of the Validation plugin for ProtoData. @@ -106,10 +106,10 @@ internal class ProtoDataConfigPlugin : Plugin { } } -private fun Project.configureProtoData() { - configureProtoDataPlugins() +private fun Project.configureCompiler() { + configureCompilerPlugins() val writeSettingsTask = createWriteSettingsTask() - tasks.withType().all { task -> + tasks.withType().all { task -> task.apply { dependsOn(writeSettingsTask) setStandardOutput(System.out) @@ -118,9 +118,9 @@ private fun Project.configureProtoData() { } } -private fun Project.createWriteSettingsTask(): Provider { - val result = tasks.register(WRITE_PROTODATA_SETTINGS) { - val workingDir = WorkingDirectory(protoDataWorkingDir.asFile.toPath()) +private fun Project.createWriteSettingsTask(): Provider { + val result = tasks.register(WRITE_COMPILER_SETTINGS) { + val workingDir = WorkingDirectory(compilerWorkingDir.asFile.toPath()) val settingsDir = workingDir.settingsDirectory.path.toFile() val settingsDirProvider = project.layout.dir(provider { settingsDir }) this.settingsDir.set(settingsDirProvider) @@ -129,19 +129,20 @@ private fun Project.createWriteSettingsTask(): Provider } /** - * Configures ProtoData with plugins for the given Gradle project. + * Configures the Compiler with plugins for the given Gradle project. */ -private fun Project.configureProtoDataPlugins() { - // Pass the uber JAR of McJava so that plugins from all the submodules are available. +private fun Project.configureCompilerPlugins() { + // Pass the uber JAR of CoreJvm Compiler Plugins so that plugins from + // all the submodules are available. addUserClasspathDependency(allPlugins) - val protodata = extensions.getByType() - protodata.setSubdirectories() + val compiler = compilerSettings + compiler.setSubdirectories() - configureValidation(protodata) - configureSignals(protodata) + configureValidation(compiler) + configureSignals(compiler) - protodata.run { + compiler.run { addPlugin() addPlugin() addPlugin() @@ -157,10 +158,10 @@ private fun Project.configureProtoDataPlugins() { } } -private val Project.messageOptions: CompilerSettings - get() = coreJvmOptions.codegen!! +private val Project.messageOptions: CoreJvmCompilerSettings + get() = coreJvmOptions.compiler!! -private fun ProtoDataSettings.setSubdirectories() { +private fun CompilerSettings.setSubdirectories() { subDirs = listOf( generatedJavaDirName.value(), generatedGrpcDirName.value(), @@ -168,12 +169,12 @@ private fun ProtoDataSettings.setSubdirectories() { ) } -private fun Project.configureValidation(protodata: ProtoDataSettings) { +private fun Project.configureValidation(compiler: CompilerSettings) { val validationConfig = messageOptions.validation val version = validationConfig.version.get() if (validationConfig.enabled.get()) { addUserClasspathDependency(ValidationSdk.javaCodegenBundle(version)) - protodata.plugins( + compiler.plugins( VALIDATION_PLUGIN_CLASS ) } else { @@ -191,12 +192,12 @@ private fun Project.configureValidation(protodata: ProtoDataSettings) { addDependency("implementation", ValidationSdk.javaRuntime(version)) } -private fun Project.configureSignals(protodata: ProtoDataSettings) { - protodata.addPlugin() +private fun Project.configureSignals(compiler: CompilerSettings) { + compiler.addPlugin() val rejectionCodegen = messageOptions.rejections if (rejectionCodegen.enabled.get()) { - protodata.addPlugin() + compiler.addPlugin() } } @@ -218,6 +219,6 @@ private fun Project.findDependency(artifact: Artifact): Dependency? { return found } -private inline fun ProtoDataSettings.addPlugin() { +private inline fun CompilerSettings.addPlugin() { plugins(T::class.java.name) } diff --git a/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/CoreJvmPlugin.kt b/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/CoreJvmPlugin.kt index ebe845e6d..76896d3c4 100644 --- a/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/CoreJvmPlugin.kt +++ b/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/CoreJvmPlugin.kt @@ -34,10 +34,11 @@ import io.spine.tools.core.jvm.gradle.coreJvmOptions import io.spine.tools.core.jvm.routing.gradle.RoutingPlugin import io.spine.tools.gradle.Artifact import io.spine.tools.gradle.DependencyVersions -import io.spine.tools.gradle.protobuf.ProtobufDependencies.gradlePlugin +import io.spine.tools.gradle.DslSpec +import io.spine.tools.gradle.lib.LibraryPlugin +import io.spine.tools.gradle.protobuf.ProtobufDependencies import io.spine.tools.gradle.protobuf.ProtobufDependencies.protobufCompiler import io.spine.tools.gradle.protobuf.protobufExtension -import io.spine.tools.mc.gradle.LanguagePlugin import org.gradle.api.Plugin import org.gradle.api.Project @@ -46,7 +47,9 @@ import org.gradle.api.Project * * Applies all McJava sub-plugins to the given project. */ -public class CoreJvmPlugin : LanguagePlugin(name(), CoreJvmOptions::class.java.kotlin) { +public class CoreJvmPlugin : LibraryPlugin( + DslSpec(name(), CoreJvmOptions::class) +) { public companion object { @@ -61,7 +64,7 @@ public class CoreJvmPlugin : LanguagePlugin(name(), CoreJvmOptions::class.java.k public override fun apply(project: Project) { super.apply(project) - project.pluginManager.withPlugin(gradlePlugin.id) { _ -> + project.pluginManager.withPlugin(ProtobufDependencies.gradlePlugin.id) { _ -> project.applyCoreJvmPlugins() } } @@ -69,7 +72,7 @@ public class CoreJvmPlugin : LanguagePlugin(name(), CoreJvmOptions::class.java.k private fun Project.applyCoreJvmPlugins() { logApplying() - setProtocArtifact() + setProtobufProtocArtifact() val extension = project.coreJvmOptions extension.injectProject(project) createAndApplyPlugins() @@ -80,7 +83,13 @@ private fun Project.logApplying() { logger.warn("Applying `${simply()}` (version: $version) to `$name`.") } -private fun Project.setProtocArtifact() { +/** + * Configures the [protobufExtension] with the `protoc` artifact. + * + * The version of the `protoc` artifact is loaded from the resources of + * the `spine-plugin-base` artifact. + */ +private fun Project.setProtobufProtocArtifact() { val ofPluginBase = DependencyVersions.loadFor(Artifact.PLUGIN_BASE_ID) val protocArtifact = protobufCompiler.withVersionFrom(ofPluginBase).notation() protobufExtension!!.protoc { locator -> @@ -89,13 +98,13 @@ private fun Project.setProtocArtifact() { } /** - * Creates all the plugins that are parts of `mc-java` and applies them to this project. + * Creates all the plugins that are parts of CoreJvm Compiler and applies them to this project. */ private fun Project.createAndApplyPlugins() { val plugins: List> = listOf( CleaningPlugin(), EnableGrpcPlugin(), - ProtoDataConfigPlugin(), + CompilerConfigPlugin(), RoutingPlugin() ) plugins.forEach { diff --git a/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/WriteProtoDataSettings.kt b/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/WriteCompilerSettings.kt similarity index 70% rename from gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/WriteProtoDataSettings.kt rename to gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/WriteCompilerSettings.kt index 5f0b021d6..89dc1728a 100644 --- a/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/WriteProtoDataSettings.kt +++ b/gradle-plugins/src/main/kotlin/io/spine/tools/core/jvm/gradle/plugins/WriteCompilerSettings.kt @@ -30,9 +30,10 @@ package io.spine.tools.core.jvm.gradle.plugins import com.google.protobuf.Message -import io.spine.protodata.java.style.JavaCodeStyle -import io.spine.protodata.settings.SettingsDirectory -import io.spine.protodata.util.Format +import io.spine.tools.compiler.jvm.style.JavaCodeStyle +import io.spine.tools.compiler.settings.SettingsDirectory +import io.spine.format.Format +import io.spine.tools.compiler.ast.FilePattern import io.spine.tools.core.annotation.ApiAnnotationsPlugin import io.spine.tools.core.jvm.annotation.SettingsKt.annotationTypes import io.spine.tools.core.jvm.annotation.settings @@ -40,8 +41,8 @@ import io.spine.tools.core.jvm.comparable.ComparablePlugin import io.spine.tools.core.jvm.entity.EntityPlugin import io.spine.tools.core.jvm.gradle.CoreJvmOptions import io.spine.tools.core.jvm.gradle.coreJvmOptions -import io.spine.tools.core.jvm.gradle.plugins.WriteProtoDataSettings.Companion.JAVA_CODE_STYLE_ID -import io.spine.tools.core.jvm.gradle.plugins.WriteProtoDataSettings.Companion.VALIDATION_SETTINGS_ID +import io.spine.tools.core.jvm.gradle.plugins.WriteCompilerSettings.Companion.JAVA_CODE_STYLE_ID +import io.spine.tools.core.jvm.gradle.plugins.WriteCompilerSettings.Companion.VALIDATION_SETTINGS_ID import io.spine.tools.core.jvm.mgroup.MessageGroupPlugin import io.spine.tools.core.jvm.settings.Combined import io.spine.tools.core.jvm.settings.signalSettings @@ -66,7 +67,7 @@ import org.gradle.api.tasks.TaskAction * This task writes settings files for ProtoData components. */ @Suppress("unused") // Gradle creates a subtype for this class. -public abstract class WriteProtoDataSettings : DefaultTask() { +public abstract class WriteCompilerSettings : DefaultTask() { @get:OutputDirectory public abstract val settingsDir: DirectoryProperty @@ -77,8 +78,8 @@ public abstract class WriteProtoDataSettings : DefaultTask() { } @get:Internal - internal val codegenSettings by lazy { - options.codegen!!.toProto() + internal val compilerSettings by lazy { + options.compiler!!.toProto() } @TaskAction @@ -111,9 +112,9 @@ public abstract class WriteProtoDataSettings : DefaultTask() { /** * Obtains an instance of [SettingsDirectory] to be used for writing files which - * points to the directory specified by the [WriteProtoDataSettings.settingsDir] property. + * points to the directory specified by the [WriteCompilerSettings.settingsDir] property. */ -private fun WriteProtoDataSettings.settingsDirectory(): SettingsDirectory { +private fun WriteCompilerSettings.settingsDirectory(): SettingsDirectory { val dir = project.file(settingsDir) dir.mkdirs() val settings = SettingsDirectory(dir.toPath()) @@ -126,16 +127,16 @@ private fun WriteProtoDataSettings.settingsDirectory(): SettingsDirectory { * The settings are taken from McJava extension object and converted to * [io.spine.validation.ValidationConfig], which is later written as JSON file. */ -private fun WriteProtoDataSettings.forValidationPlugin(dir: SettingsDirectory) { - val codegen = codegenSettings - val signalSettings = codegen.signalSettings +private fun WriteCompilerSettings.forValidationPlugin(dir: SettingsDirectory) { + val compilerSettings = compilerSettings + val signalSettings = compilerSettings.signalSettings val markers = messageMarkers { signalSettings.let { - commandPattern.addAll(it.commands.patternList) - eventPattern.addAll(it.events.patternList) - rejectionPattern.addAll(it.rejections.patternList) + commandPattern.addAll(it.commands.patternList.toProtoData()) + eventPattern.addAll(it.events.patternList.toProtoData()) + rejectionPattern.addAll(it.rejections.patternList.toProtoData()) } - entityOptionName.addAll(codegen.entityOptionsNames()) + entityOptionName.addAll(compilerSettings.entityOptionsNames()) } val settings = validationConfig { messageMarkers = markers @@ -144,10 +145,18 @@ private fun WriteProtoDataSettings.forValidationPlugin(dir: SettingsDirectory) { dir.write(VALIDATION_SETTINGS_ID, settings) } +private fun FilePattern.toProtoData(): io.spine.protodata.ast.FilePattern { + return io.spine.protodata.ast.FilePattern.parseFrom(this.toByteArray()) +} + +private fun List.toProtoData(): List { + return map { it.toProtoData() } +} + private fun Combined.entityOptionsNames(): Iterable = entities.optionList.map { it.name } -private fun WriteProtoDataSettings.forAnnotationPlugin(dir: SettingsDirectory) { +private fun WriteCompilerSettings.forAnnotationPlugin(dir: SettingsDirectory) { val annotation = options.annotation val proto = settings { val javaType = annotation.types @@ -163,13 +172,13 @@ private fun WriteProtoDataSettings.forAnnotationPlugin(dir: SettingsDirectory) { dir.write(ApiAnnotationsPlugin.SETTINGS_ID, proto) } -private fun WriteProtoDataSettings.forEntityPlugin(dir: SettingsDirectory) { - val entitySettings = codegenSettings.entities +private fun WriteCompilerSettings.forEntityPlugin(dir: SettingsDirectory) { + val entitySettings = compilerSettings.entities dir.write(EntityPlugin.SETTINGS_ID, entitySettings) } -private fun WriteProtoDataSettings.forSignalPlugin(dir: SettingsDirectory) { - val codegen = codegenSettings.signalSettings +private fun WriteCompilerSettings.forSignalPlugin(dir: SettingsDirectory) { + val codegen = compilerSettings.signalSettings val signalSettings = signalSettings { commands = codegen.commands events = codegen.events @@ -178,22 +187,22 @@ private fun WriteProtoDataSettings.forSignalPlugin(dir: SettingsDirectory) { dir.write(SignalPlugin.SETTINGS_ID, signalSettings) } -private fun WriteProtoDataSettings.forMessageGroupPlugin(dir: SettingsDirectory) { - val groupSettings = codegenSettings.groupSettings +private fun WriteCompilerSettings.forMessageGroupPlugin(dir: SettingsDirectory) { + val groupSettings = compilerSettings.groupSettings dir.write(MessageGroupPlugin.SETTINGS_ID, groupSettings) } -private fun WriteProtoDataSettings.forUuidPlugin(dir: SettingsDirectory) { - val uuidSettings = codegenSettings.uuids +private fun WriteCompilerSettings.forUuidPlugin(dir: SettingsDirectory) { + val uuidSettings = compilerSettings.uuids dir.write(UuidPlugin.SETTINGS_ID, uuidSettings) } -private fun WriteProtoDataSettings.forComparablePlugin(dir: SettingsDirectory) { - val settings = codegenSettings.comparables +private fun WriteCompilerSettings.forComparablePlugin(dir: SettingsDirectory) { + val settings = compilerSettings.comparables dir.write(ComparablePlugin.SETTINGS_ID, settings) } -private fun WriteProtoDataSettings.forStyleFormattingPlugin(dir: SettingsDirectory) { +private fun WriteCompilerSettings.forStyleFormattingPlugin(dir: SettingsDirectory) { val styleSettings = options.style.get() dir.write(JAVA_CODE_STYLE_ID, styleSettings) } @@ -202,5 +211,5 @@ private fun WriteProtoDataSettings.forStyleFormattingPlugin(dir: SettingsDirecto * Writes the given instance of settings in [Format.PROTO_JSON] format using the [id]. */ private fun SettingsDirectory.write(id: String, settings: Message) { - write(id, Format.PROTO_JSON, settings.toJson()) + write(id, Format.ProtoJson, settings.toJson()) } diff --git a/gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/gradle/plugins/ProtoDataConfigPluginSpec.kt b/gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/gradle/plugins/CompilerConfigPluginSpec.kt similarity index 76% rename from gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/gradle/plugins/ProtoDataConfigPluginSpec.kt rename to gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/gradle/plugins/CompilerConfigPluginSpec.kt index 39eed3228..127ac186c 100644 --- a/gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/gradle/plugins/ProtoDataConfigPluginSpec.kt +++ b/gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/gradle/plugins/CompilerConfigPluginSpec.kt @@ -29,30 +29,29 @@ package io.spine.tools.core.jvm.gradle.plugins import io.kotest.matchers.collections.shouldContainInOrder import io.kotest.matchers.collections.shouldNotBeEmpty import io.kotest.matchers.shouldNotBe -import io.spine.protodata.gradle.CodegenSettings -import io.spine.protodata.gradle.plugin.Extension -import io.spine.protodata.gradle.plugin.LaunchProtoData -import io.spine.tools.gradle.testing.GradleProject +import io.spine.tools.compiler.gradle.api.CompilerSettings +import io.spine.tools.compiler.gradle.plugin.Extension +import io.spine.tools.compiler.gradle.plugin.LaunchSpineCompiler import io.spine.tools.core.annotation.ApiAnnotationsPlugin import io.spine.tools.core.jvm.gradle.GradleProjects.evaluate import io.spine.tools.core.jvm.gradle.given.StubProject -import io.spine.tools.core.jvm.gradle.plugins.ProtoDataConfigPlugin.Companion.VALIDATION_PLUGIN_CLASS +import io.spine.tools.core.jvm.gradle.plugins.CompilerConfigPlugin.Companion.VALIDATION_PLUGIN_CLASS import io.spine.tools.core.jvm.signal.rejection.RThrowablePlugin -import kotlin.text.get +import io.spine.tools.gradle.lib.spineExtension +import io.spine.tools.gradle.testing.GradleProject import org.gradle.api.Project -import org.gradle.kotlin.dsl.findByType import org.gradle.kotlin.dsl.withType import org.junit.jupiter.api.BeforeAll import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.Test -@DisplayName("`ProtoDataConfigPlugin` should") -internal class ProtoDataConfigPluginSpec { +@DisplayName("`CompilerConfigPlugin` should") +internal class CompilerConfigPluginSpec { companion object { lateinit var project: Project - lateinit var codegenSettings: Extension + lateinit var compilerSettings: Extension @BeforeAll @JvmStatic @@ -68,18 +67,18 @@ internal class ProtoDataConfigPluginSpec { evaluate(project) - codegenSettings = project.extensions.findByType() as Extension + compilerSettings = project.spineExtension() as Extension } } @Test fun `add project extension`() { - codegenSettings shouldNotBe null + compilerSettings shouldNotBe null } @Test - fun `add ProtoData plugins`() { - val plugins = codegenSettings.plugins.get() + fun `add Compiler plugins`() { + val plugins = compilerSettings.plugins.get() plugins.shouldContainInOrder( VALIDATION_PLUGIN_CLASS, RThrowablePlugin::class.java.name, @@ -89,14 +88,14 @@ internal class ProtoDataConfigPluginSpec { @Test fun `add a task for passing configuration file`() { - val task = project.tasks.withType() + val task = project.tasks.withType() task shouldNotBe null task.shouldNotBeEmpty() } @Test - fun `add a task for launching ProtoData CLI`() { - val task = project.tasks.withType() + fun `add a task for launching the Compiler CLI`() { + val task = project.tasks.withType() task shouldNotBe null task.shouldNotBeEmpty() } diff --git a/gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/settings/CodegenBlockSpec.kt b/gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/settings/CodegenBlockSpec.kt index 674f2d488..ed96ebbe4 100644 --- a/gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/settings/CodegenBlockSpec.kt +++ b/gradle-plugins/src/test/kotlin/io/spine/tools/core/jvm/settings/CodegenBlockSpec.kt @@ -36,9 +36,9 @@ import io.spine.base.MessageFile import io.spine.base.MessageFile.COMMANDS import io.spine.base.MessageFile.EVENTS import io.spine.option.OptionsProto -import io.spine.protodata.java.render.ImplementInterface -import io.spine.protodata.render.actions -import io.spine.protodata.render.add +import io.spine.tools.compiler.jvm.render.ImplementInterface +import io.spine.tools.compiler.render.actions +import io.spine.tools.compiler.render.add import io.spine.testing.SlowTest import io.spine.tools.core.jvm.NoOpMessageAction import io.spine.tools.core.jvm.applyStandard @@ -74,7 +74,7 @@ class CodegenBlockSpec { * Calculates the [SignalSettings] after [options] are modified by a test body. */ private val signalSettings: SignalSettings - get() = options.codegen!!.toProto().signalSettings + get() = options.compiler!!.toProto().signalSettings /** * Creates the project in the given directory. @@ -114,12 +114,12 @@ class CodegenBlockSpec { @Test fun `apply changes immediately`() { val actionName = "fake.Action" - options.codegen { settings -> + options.compiler { settings -> settings.forUuids { it.useAction(actionName) } } - val settings = options.codegen!!.toProto() + val settings = options.compiler!!.toProto() settings.uuids.actions.actionMap.keys shouldBe UuidSettings.DEFAULT_ACTIONS.keys + actionName @@ -134,7 +134,7 @@ class CodegenBlockSpec { val action1 = "org.example.command.codegen.Action1" val action2 = "org.example.command.codegen.Action2" val suffix = "_my_commands.proto" - options.codegen { settings -> + options.compiler { settings -> settings.forCommands { commands -> with(commands) { includeFiles(by().suffix(suffix)) @@ -157,7 +157,7 @@ class CodegenBlockSpec { val action1 = "org.example.event.codegen.Action1" val action2 = "org.example.event.codegen.Action2" val infix = "my_" - options.codegen { settings -> + options.compiler { settings -> settings.forEvents { events -> with(events) { includeFiles(by().infix(infix)) @@ -179,7 +179,7 @@ class CodegenBlockSpec { val action1 = "org.example.rejection.codegen.Action1" val action2 = "org.example.rejection.codegen.Action2" val regex = ".*rejection.*" - options.codegen { settings -> + options.compiler { settings -> settings.forRejections { rejections -> rejections.includeFiles(rejections.by().regex(regex)) rejections.useActions(listOf(action1, action2)) @@ -198,7 +198,7 @@ class CodegenBlockSpec { fun `rejections separately from events`() { val eventAction = "org.example.event.Action" val rejectionAction = "org.example.rejection.Action" - options.codegen { settings -> + options.compiler { settings -> settings.forEvents { it.useAction(eventAction) } @@ -217,14 +217,14 @@ class CodegenBlockSpec { fun entities() { val action = "custom.Action" val option = "view" - options.codegen { settings -> + options.compiler { settings -> settings.forEntities { it.options.add(option) it.skipQueries() it.useAction(action) } } - val entities = options.codegen!!.toProto().entities + val entities = options.compiler!!.toProto().entities entities.run { actions.actionMap.keys shouldContainExactly @@ -238,12 +238,12 @@ class CodegenBlockSpec { @Test fun `UUID messages`() { val customAction = "custom.UuidCodegenAction" - options.codegen { settings -> + options.compiler { settings -> settings.forUuids { it.useAction(customAction) } } - val uuids = options.codegen!!.toProto().uuids + val uuids = options.compiler!!.toProto().uuids uuids.run { actions.actionMap.keys shouldBe UuidSettings.DEFAULT_ACTIONS.keys + customAction } @@ -257,7 +257,7 @@ class CodegenBlockSpec { val anotherNestedClassAction = "custom.AnotherNestedClassAction" val fieldSuperclass = "acme.Searchable" val firstMessageType = "acme.small.yellow.Bird" - options.codegen { settings -> + options.compiler { settings -> settings.forMessage(firstMessageType) { it.markAs(firstInterface) it.markFieldsAs(fieldSuperclass) @@ -268,7 +268,7 @@ class CodegenBlockSpec { it.useAction(anotherNestedClassAction) } } - val groups = options.codegen!!.toProto().groupSettings.groupList + val groups = options.compiler!!.toProto().groupSettings.groupList groups shouldHaveSize 2 @@ -331,7 +331,7 @@ class CodegenBlockSpec { @Test fun entities() { - val entities = options.codegen!!.toProto().entities + val entities = options.compiler!!.toProto().entities entities.run { optionList shouldHaveSize 1 @@ -343,18 +343,18 @@ class CodegenBlockSpec { @Test fun `arbitrary message groups`() { - val settings = options.codegen!!.toProto() + val settings = options.compiler!!.toProto() settings.groupSettings.groupList shouldBe emptyList() val stubActionClass = NoOpMessageAction::class val type = "test.Message" - options.codegen { + options.compiler { it.forMessage(type) { group -> group.useAction(stubActionClass.reference) } } - val updated = options.codegen!!.toProto() + val updated = options.compiler!!.toProto() updated.groupSettings.groupList shouldHaveSize 1 val typeName = ProtoTypeName.newBuilder().setValue(type) @@ -374,7 +374,7 @@ class CodegenBlockSpec { @Test fun validation() { - val validation = options.codegen!!.toProto().validation + val validation = options.compiler!!.toProto().validation validation.run { version.shouldBeEmpty() } @@ -392,7 +392,7 @@ class CodegenBlockSpec { @Test fun `turning generation of queries off`() { - options.codegen!!.forEntities { + options.compiler!!.forEntities { it.skipQueries() } assertFlag().isFalse() @@ -401,18 +401,18 @@ class CodegenBlockSpec { @Test fun `turning generation of queries on`() { // Turn `off`, assuming that the default is `on`. - options.codegen!!.forEntities { + options.compiler!!.forEntities { it.skipQueries() } // Turn `on`. - options.codegen!!.forEntities { + options.compiler!!.forEntities { it.generateQueries() } assertFlag().isTrue() } - private fun assertFlag() = assertThat(options.codegen!!.toProto().entities.generateQueries) + private fun assertFlag() = assertThat(options.compiler!!.toProto().entities.generateQueries) } } diff --git a/ksp/build.gradle.kts b/ksp/build.gradle.kts index de17f9e77..b066538ba 100644 --- a/ksp/build.gradle.kts +++ b/ksp/build.gradle.kts @@ -28,7 +28,7 @@ import io.spine.dependency.build.Ksp import io.spine.dependency.lib.AutoService import io.spine.dependency.lib.Kotlin import io.spine.dependency.lib.Protobuf -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.dependency.local.TestLib import io.spine.dependency.local.ToolBase import io.spine.dependency.test.Kotest @@ -58,7 +58,7 @@ dependencies { compileOnlyApi(Kotlin.GradlePlugin.lib) api(ToolBase.pluginBase) - api(ProtoData.gradleApi)?.because( + api(Compiler.gradleApi)?.because( "We want KSP-based plugins use this API directly." ) api(Ksp.artifact(Ksp.gradlePlugin))?.because( diff --git a/ksp/src/main/kotlin/io/spine/tools/core/jvm/ksp/gradle/KspBasedPlugin.kt b/ksp/src/main/kotlin/io/spine/tools/core/jvm/ksp/gradle/KspBasedPlugin.kt index f04d95d6c..a01031b59 100644 --- a/ksp/src/main/kotlin/io/spine/tools/core/jvm/ksp/gradle/KspBasedPlugin.kt +++ b/ksp/src/main/kotlin/io/spine/tools/core/jvm/ksp/gradle/KspBasedPlugin.kt @@ -28,7 +28,7 @@ package io.spine.tools.core.jvm.ksp.gradle import com.google.devtools.ksp.KspExperimental import com.google.devtools.ksp.gradle.KspExtension -import io.spine.protodata.gradle.ProtoDataTaskName +import io.spine.tools.compiler.gradle.api.CompilerTaskName import io.spine.tools.code.SourceSetName import io.spine.tools.core.jvm.ksp.gradle.KspBasedPlugin.Companion.autoServiceKsp import io.spine.tools.core.jvm.ksp.gradle.KspBasedPlugin.Companion.commonSettingsApplied @@ -214,10 +214,10 @@ private fun Project.makeKspTasksDependOnProtoData() { afterEvaluate { val kspTasks = kspTasks() kspTasks.forEach { (ssn, kspTask) -> - val protoDataTaskName = ProtoDataTaskName(ssn) - val protoDataTask = tasks.findByName(protoDataTaskName.value()) - if (protoDataTask != null) { - kspTask.dependsOn(protoDataTask) + val taskName = CompilerTaskName(ssn) + val compilerTask = tasks.findByName(taskName.value()) + if (compilerTask != null) { + kspTask.dependsOn(compilerTask) } } } diff --git a/marker/build.gradle.kts b/marker/build.gradle.kts index 8754c87f7..306ae9b8c 100644 --- a/marker/build.gradle.kts +++ b/marker/build.gradle.kts @@ -26,13 +26,13 @@ import io.spine.dependency.local.Base import io.spine.dependency.local.Logging -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.dependency.local.Reflect import io.spine.dependency.local.TestLib import io.spine.dependency.local.ToolBase plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } dependencies { @@ -49,7 +49,7 @@ dependencies { arrayOf( gradleTestKit(), TestLib.lib, - ProtoData.testlib + Compiler.testlib ).forEach { testImplementation(it) } diff --git a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsMessagesView.kt b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsMessagesView.kt index 985dc743d..c007a18dc 100644 --- a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsMessagesView.kt +++ b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsMessagesView.kt @@ -28,9 +28,9 @@ package io.spine.tools.core.jvm.marker import io.spine.core.External import io.spine.core.Subscribe -import io.spine.protodata.ast.File -import io.spine.protodata.ast.event.TypeDiscovered -import io.spine.protodata.plugin.View +import io.spine.tools.compiler.ast.File +import io.spine.tools.compiler.ast.event.TypeDiscovered +import io.spine.tools.compiler.plugin.View import io.spine.server.entity.alter import io.spine.tools.core.jvm.marker.event.EveryIsOptionDiscovered diff --git a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsOptionDiscovery.kt b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsOptionDiscovery.kt index 87fb75166..d23638a70 100644 --- a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsOptionDiscovery.kt +++ b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsOptionDiscovery.kt @@ -28,9 +28,9 @@ package io.spine.tools.core.jvm.marker import io.spine.core.External import io.spine.option.EveryIsOption -import io.spine.protodata.ast.event.FileEntered -import io.spine.protodata.ast.find -import io.spine.protodata.plugin.Policy +import io.spine.tools.compiler.ast.event.FileEntered +import io.spine.tools.compiler.ast.find +import io.spine.tools.compiler.plugin.Policy import io.spine.server.event.NoReaction import io.spine.server.event.React import io.spine.server.event.asA diff --git a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsOptionRenderer.kt b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsOptionRenderer.kt index 612e6ebae..cd51cbe28 100644 --- a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsOptionRenderer.kt +++ b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/EveryIsOptionRenderer.kt @@ -28,11 +28,11 @@ package io.spine.tools.core.jvm.marker import com.google.protobuf.Message import com.intellij.psi.PsiJavaFile -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.qualifiedJavaType -import io.spine.protodata.java.render.CreateInterface -import io.spine.protodata.java.render.superInterface -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.qualifiedJavaType +import io.spine.tools.compiler.jvm.render.CreateInterface +import io.spine.tools.compiler.jvm.render.superInterface +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.GeneratedAnnotation import io.spine.tools.java.reference diff --git a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/IsOptionDiscovery.kt b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/IsOptionDiscovery.kt index 793457dbd..445db142c 100644 --- a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/IsOptionDiscovery.kt +++ b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/IsOptionDiscovery.kt @@ -28,9 +28,9 @@ package io.spine.tools.core.jvm.marker import io.spine.core.External import io.spine.option.IsOption -import io.spine.protodata.ast.event.TypeDiscovered -import io.spine.protodata.ast.find -import io.spine.protodata.plugin.Policy +import io.spine.tools.compiler.ast.event.TypeDiscovered +import io.spine.tools.compiler.ast.find +import io.spine.tools.compiler.plugin.Policy import io.spine.server.event.NoReaction import io.spine.server.event.React import io.spine.server.event.asA diff --git a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/IsOptionRenderer.kt b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/IsOptionRenderer.kt index 1c71d8571..b9a0c3536 100644 --- a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/IsOptionRenderer.kt +++ b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/IsOptionRenderer.kt @@ -27,12 +27,12 @@ package io.spine.tools.core.jvm.marker import io.spine.option.IsOption -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.find -import io.spine.protodata.ast.qualifiedName -import io.spine.protodata.context.findHeader -import io.spine.protodata.java.qualifiedJavaType -import io.spine.protodata.java.render.superInterface +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.find +import io.spine.tools.compiler.ast.qualifiedName +import io.spine.tools.compiler.context.findHeader +import io.spine.tools.compiler.jvm.qualifiedJavaType +import io.spine.tools.compiler.jvm.render.superInterface import io.spine.tools.psi.java.execute /** diff --git a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MarkerPlugin.kt b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MarkerPlugin.kt index b8792b724..45347b099 100644 --- a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MarkerPlugin.kt +++ b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MarkerPlugin.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.marker -import io.spine.protodata.plugin.Plugin +import io.spine.tools.compiler.plugin.Plugin /** * The ProtoData plugin which performs code generation in response to discovering diff --git a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MarkerRenderer.kt b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MarkerRenderer.kt index f9b78b193..126fe9acc 100644 --- a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MarkerRenderer.kt +++ b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MarkerRenderer.kt @@ -27,10 +27,10 @@ package io.spine.tools.core.jvm.marker import io.spine.base.EntityState -import io.spine.protodata.ast.MessageType -import io.spine.protodata.java.render.BaseRenderer -import io.spine.protodata.java.render.ImplementInterface -import io.spine.protodata.java.render.SuperInterface +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.jvm.render.BaseRenderer +import io.spine.tools.compiler.jvm.render.ImplementInterface +import io.spine.tools.compiler.jvm.render.SuperInterface import org.checkerframework.checker.signature.qual.FullyQualifiedName /** diff --git a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MessagesWithIsView.kt b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MessagesWithIsView.kt index 6ace589a4..ff40731b7 100644 --- a/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MessagesWithIsView.kt +++ b/marker/src/main/kotlin/io/spine/tools/core/jvm/marker/MessagesWithIsView.kt @@ -27,8 +27,8 @@ package io.spine.tools.core.jvm.marker import io.spine.core.Subscribe -import io.spine.protodata.plugin.View -import io.spine.protodata.plugin.ViewRepository +import io.spine.tools.compiler.plugin.View +import io.spine.tools.compiler.plugin.ViewRepository import io.spine.server.entity.alter import io.spine.server.route.EventRouting import io.spine.tools.core.jvm.marker.event.IsOptionDiscovered diff --git a/marker/src/main/proto/spine/tools/core/jvm/marker/events.proto b/marker/src/main/proto/spine/tools/core/jvm/marker/events.proto index 1e22efa08..7c93ca1cb 100644 --- a/marker/src/main/proto/spine/tools/core/jvm/marker/events.proto +++ b/marker/src/main/proto/spine/tools/core/jvm/marker/events.proto @@ -35,30 +35,30 @@ option java_package = "io.spine.tools.core.jvm.marker.event"; option java_outer_classname = "EventsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; -import "spine/protodata/file.proto"; -import "spine/protodata/source.proto"; +import "spine/compiler/ast.proto"; +import "spine/compiler/file.proto"; +import "spine/compiler/source.proto"; // An option `every_is` discovered in a proto file. message EveryIsOptionDiscovered { // The file in which the option was discovered. - protodata.File file = 1 [(required) = true]; + compiler.File file = 1 [(required) = true]; // The discovered option value. EveryIsOption option = 2 [(required) = true]; // The header of the proto file containing the discovered option and other options // that will be used in code generation. - protodata.ProtoFileHeader header = 3 [(required) = true]; + compiler.ProtoFileHeader header = 3 [(required) = true]; } // An option `is` discovered in a message type. message IsOptionDiscovered { // The file in which the option was discovered. - protodata.File file = 1 [(required) = true]; + compiler.File file = 1 [(required) = true]; // The message type in which the option was discovered. - protodata.MessageType type = 2 [(required) = true]; + compiler.MessageType type = 2 [(required) = true]; } diff --git a/marker/src/main/proto/spine/tools/core/jvm/marker/views.proto b/marker/src/main/proto/spine/tools/core/jvm/marker/views.proto index b6f857042..90a9cc047 100644 --- a/marker/src/main/proto/spine/tools/core/jvm/marker/views.proto +++ b/marker/src/main/proto/spine/tools/core/jvm/marker/views.proto @@ -35,9 +35,9 @@ option java_package = "io.spine.tools.core.jvm.marker"; option java_outer_classname = "ViewsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; -import "spine/protodata/file.proto"; -import "spine/protodata/source.proto"; +import "spine/compiler/ast.proto"; +import "spine/compiler/file.proto"; +import "spine/compiler/source.proto"; // Messages discovered in a file with `(every_is)` option declared. @@ -46,16 +46,16 @@ message EveryIsMessages { option (entity).kind = VIEW; // The file in which the option was discovered. - protodata.File file = 1 [(required) = true]; + compiler.File file = 1 [(required) = true]; // The discovered option value. EveryIsOption option = 2 [(required) = true]; // The header of the file. - protodata.ProtoFileHeader header = 3 [(required) = true]; + compiler.ProtoFileHeader header = 3 [(required) = true]; // Message types declared in the file. - repeated protodata.MessageType type = 4; + repeated compiler.MessageType type = 4; } // Message types with `(is)` option. @@ -66,5 +66,5 @@ message MessagesWithIs { string singleton_id = 1; // The discovered message types. - repeated protodata.MessageType type = 2; + repeated compiler.MessageType type = 2; } diff --git a/message-group-tests/src/test/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageRendererSpec.kt b/message-group-tests/src/test/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageRendererSpec.kt index 9163df283..781a1509c 100644 --- a/message-group-tests/src/test/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageRendererSpec.kt +++ b/message-group-tests/src/test/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageRendererSpec.kt @@ -61,7 +61,7 @@ internal class GroupedMessageRendererSpec { } override fun createSettings(projectDir: Path): GroupSettings { - val codegenConfig = createCodegenConfig(projectDir) + val codegenConfig = createCompilerSettings(projectDir) codegenConfig.forMessage("given.groups.Student") { it.markFieldsAs(CustomField::class.java.canonicalName) it.useAction(StudentIdClass::class.java.canonicalName) diff --git a/message-group-tests/src/test/kotlin/io/spine/tools/core/jvm/mgroup/OneofFieldCodegenSpec.kt b/message-group-tests/src/test/kotlin/io/spine/tools/core/jvm/mgroup/OneofFieldCodegenSpec.kt index 4de38fc5f..180db59a3 100644 --- a/message-group-tests/src/test/kotlin/io/spine/tools/core/jvm/mgroup/OneofFieldCodegenSpec.kt +++ b/message-group-tests/src/test/kotlin/io/spine/tools/core/jvm/mgroup/OneofFieldCodegenSpec.kt @@ -65,7 +65,7 @@ internal class OneofFieldCodegenSpec { * Mimics codegen settings declared in `core-java/code/build.gradle.kts`. */ override fun createSettings(projectDir: Path): GroupSettings { - val codegenConfig = createCodegenConfig(projectDir) + val codegenConfig = createCompilerSettings(projectDir) codegenConfig.forMessage("given.core.EventContext") { it.markFieldsAs(FIELD_SUPERTYPE) } diff --git a/message-group-tests/src/testFixtures/java/io/spine/tools/core/jvm/mgroup/given/RenderActions.kt b/message-group-tests/src/testFixtures/java/io/spine/tools/core/jvm/mgroup/given/RenderActions.kt index 9c068ddf4..7ab25af6f 100644 --- a/message-group-tests/src/testFixtures/java/io/spine/tools/core/jvm/mgroup/given/RenderActions.kt +++ b/message-group-tests/src/testFixtures/java/io/spine/tools/core/jvm/mgroup/given/RenderActions.kt @@ -27,10 +27,10 @@ package io.spine.tools.core.jvm.mgroup.given import com.intellij.psi.PsiAnnotation -import io.spine.protodata.ast.MessageType -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.render.CreateNestedClass -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.render.CreateNestedClass +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.mgroup.given.StudentIdClass.Companion.CLASS_NAME import org.intellij.lang.annotations.Language diff --git a/message-group/build.gradle.kts b/message-group/build.gradle.kts index 5fd30a2bd..3314b3850 100644 --- a/message-group/build.gradle.kts +++ b/message-group/build.gradle.kts @@ -26,13 +26,13 @@ import io.spine.dependency.local.CoreJava import io.spine.dependency.local.Logging -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.dependency.local.Reflect import io.spine.dependency.local.TestLib import io.spine.dependency.local.ToolBase plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } dependencies { @@ -49,7 +49,7 @@ dependencies { arrayOf( gradleTestKit(), TestLib.lib, - ProtoData.testlib + Compiler.testlib ).forEach { testImplementation(it) } diff --git a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageDiscovery.kt b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageDiscovery.kt index 0e19b5745..720b06ba1 100644 --- a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageDiscovery.kt +++ b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageDiscovery.kt @@ -27,10 +27,10 @@ package io.spine.tools.core.jvm.mgroup import io.spine.core.External -import io.spine.protodata.ast.event.TypeDiscovered -import io.spine.protodata.ast.isTopLevel -import io.spine.protodata.plugin.Policy -import io.spine.protodata.settings.loadSettings +import io.spine.tools.compiler.ast.event.TypeDiscovered +import io.spine.tools.compiler.ast.isTopLevel +import io.spine.tools.compiler.plugin.Policy +import io.spine.tools.compiler.settings.loadSettings import io.spine.server.event.NoReaction import io.spine.server.event.React import io.spine.server.event.asA diff --git a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageRenderer.kt b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageRenderer.kt index a43c1dad4..34d620e8c 100644 --- a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageRenderer.kt +++ b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageRenderer.kt @@ -26,11 +26,11 @@ package io.spine.tools.core.jvm.mgroup -import io.spine.protodata.java.file.hasJavaRoot -import io.spine.protodata.java.render.JavaRenderer -import io.spine.protodata.java.render.RenderActions -import io.spine.protodata.render.SourceFile -import io.spine.protodata.render.SourceFileSet +import io.spine.tools.compiler.jvm.file.hasJavaRoot +import io.spine.tools.compiler.jvm.render.JavaRenderer +import io.spine.tools.compiler.jvm.render.RenderActions +import io.spine.tools.compiler.render.SourceFile +import io.spine.tools.compiler.render.SourceFileSet import io.spine.tools.code.Java import io.spine.tools.core.jvm.settings.GroupSettings import io.spine.tools.psi.java.execute diff --git a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageView.kt b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageView.kt index 4573c9645..d87fddbd7 100644 --- a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageView.kt +++ b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/GroupedMessageView.kt @@ -27,8 +27,8 @@ package io.spine.tools.core.jvm.mgroup import io.spine.core.Subscribe -import io.spine.protodata.ast.MessageType -import io.spine.protodata.plugin.View +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.plugin.View import io.spine.server.entity.alter import io.spine.tools.core.jvm.mgroup.event.GroupedMessageDiscovered diff --git a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/MessageGroupPlugin.kt b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/MessageGroupPlugin.kt index bd757f968..ee12dd3a9 100644 --- a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/MessageGroupPlugin.kt +++ b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/MessageGroupPlugin.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.mgroup -import io.spine.protodata.plugin.Plugin +import io.spine.tools.compiler.plugin.Plugin /** * The ProtoData plugin responsible for code generation for groups of messages diff --git a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/MessageGroupPluginComponent.kt b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/MessageGroupPluginComponent.kt index 3f4d82a83..d8c9652f2 100644 --- a/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/MessageGroupPluginComponent.kt +++ b/message-group/src/main/kotlin/io/spine/tools/core/jvm/mgroup/MessageGroupPluginComponent.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.mgroup -import io.spine.protodata.settings.LoadsSettings +import io.spine.tools.compiler.settings.LoadsSettings /** * A part of [MessageGroupPlugin] that loads shared diff --git a/message-group/src/main/proto/spine/tools/core/jvm/mgroup/events.proto b/message-group/src/main/proto/spine/tools/core/jvm/mgroup/events.proto index 12aeb5c06..4fbe11ae3 100644 --- a/message-group/src/main/proto/spine/tools/core/jvm/mgroup/events.proto +++ b/message-group/src/main/proto/spine/tools/core/jvm/mgroup/events.proto @@ -35,7 +35,7 @@ option java_package = "io.spine.tools.core.jvm.mgroup.event"; option java_outer_classname = "EventsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; +import "spine/compiler/ast.proto"; import "spine/tools/core/jvm/settings.proto"; @@ -44,7 +44,7 @@ import "spine/tools/core/jvm/settings.proto"; message GroupedMessageDiscovered { // The discovered type. - protodata.MessageType type = 2 [(required) = true]; + compiler.MessageType type = 2 [(required) = true]; // One or more groups matching the type. repeated MessageGroup group = 3 [(required) = true]; diff --git a/message-group/src/main/proto/spine/tools/core/jvm/mgroup/views.proto b/message-group/src/main/proto/spine/tools/core/jvm/mgroup/views.proto index ce1690129..cea970b1e 100644 --- a/message-group/src/main/proto/spine/tools/core/jvm/mgroup/views.proto +++ b/message-group/src/main/proto/spine/tools/core/jvm/mgroup/views.proto @@ -35,7 +35,7 @@ option java_package = "io.spine.tools.core.jvm.mgroup"; option java_outer_classname = "ViewsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; +import "spine/compiler/ast.proto"; import "spine/tools/core/jvm/settings.proto"; // Matches a message type to corresponding code generation settings of a group @@ -44,7 +44,7 @@ message GroupedMessage { option (entity).kind = VIEW; // The type of the message. - protodata.MessageType type = 1 [(required) = true]; + compiler.MessageType type = 1 [(required) = true]; // Code generation settings for the matching group. repeated MessageGroup group = 2; diff --git a/plugin-bundle/build.gradle.kts b/plugin-bundle/build.gradle.kts index 5764730f4..339e137e8 100644 --- a/plugin-bundle/build.gradle.kts +++ b/plugin-bundle/build.gradle.kts @@ -25,12 +25,12 @@ */ import groovy.util.Node -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.gradle.publish.SpinePublishing plugins { `maven-publish` - id("com.github.johnrengelman.shadow") + id("com.gradleup.shadow") } /** The publishing settings from the root project. */ @@ -59,27 +59,23 @@ publishing { artifact(tasks.shadowJar) /** - * Manually add the dependency onto `io.spine:protodata`, + * Manually add the dependency onto `io.spine.tools:compiler-api`, * as there is no good way to remove all the dependencies * from the fat JAR artifact, but leave just this one. * - * This dependency is required in order to place the ProtoData plugin - * onto the build classpath, so that `mc-java` routines + * This dependency is required in order to place the Spine Compiler API + * onto the build classpath, so that `core-jvm` routines * could apply it programmatically. * * The appended content should look like this: * ``` * - * io.spine - * protodata - * $protoDataVersion + * io.spine.tools + * compiler-api + * $compilerVersion * runtime * * - * io.spine.protodata - * * - * - * * org.jetbrains.kotlin * * * @@ -99,9 +95,9 @@ publishing { val projectNode: Node = asNode() val dependencies = Node(projectNode, "dependencies") val dependency = Node(dependencies, "dependency") - Node(dependency, "groupId", "io.spine") - Node(dependency, "artifactId", "protodata") - Node(dependency, "version", ProtoData.version) + Node(dependency, "groupId", "io.spine.tools") + Node(dependency, "artifactId", "compiler-api") + Node(dependency, "version", Compiler.version) Node(dependency, "scope", "runtime") val exclusions = Node(dependency, "exclusions") diff --git a/routing-tests/build.gradle.kts b/routing-tests/build.gradle.kts index cfae09829..3765d7237 100644 --- a/routing-tests/build.gradle.kts +++ b/routing-tests/build.gradle.kts @@ -33,7 +33,7 @@ import io.spine.dependency.test.KotlinCompileTesting import io.spine.tools.gradle.project.sourceSets plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } apply() @@ -85,7 +85,7 @@ sourceSets.testFixtures { kotlin.srcDir("generated/testFixtures/java") /* Temporarily add redirected output of KSP processor - until a newer dogfooding version of McJava is applied. */ + until a newer dogfooding version of Core JVM Compiler is applied. */ kotlin.srcDir("generated/ksp/testFixtures/kotlin") } diff --git a/routing/build.gradle.kts b/routing/build.gradle.kts index c68603da0..2a20dd39b 100644 --- a/routing/build.gradle.kts +++ b/routing/build.gradle.kts @@ -31,7 +31,7 @@ import io.spine.dependency.test.Kotest import io.spine.dependency.test.KotlinCompileTesting plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } dependencies { diff --git a/routing/src/main/kotlin/io/spine/tools/core/jvm/routing/processor/RouteProcessorProvider.kt b/routing/src/main/kotlin/io/spine/tools/core/jvm/routing/processor/RouteProcessorProvider.kt index c0badbb39..b81ebf088 100644 --- a/routing/src/main/kotlin/io/spine/tools/core/jvm/routing/processor/RouteProcessorProvider.kt +++ b/routing/src/main/kotlin/io/spine/tools/core/jvm/routing/processor/RouteProcessorProvider.kt @@ -36,8 +36,7 @@ import com.google.devtools.ksp.processing.SymbolProcessorProvider * * @see RouteProcessor */ -//TODO:2025-06-13:alexander.yevsyukov: Uncomment after bootstrapping. -//@AutoService(SymbolProcessorProvider::class) +@AutoService(SymbolProcessorProvider::class) public class RouteProcessorProvider : SymbolProcessorProvider { override fun create(environment: SymbolProcessorEnvironment): SymbolProcessor = RouteProcessor(environment.codeGenerator, environment.logger) diff --git a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalDiscoverySpec.kt b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalDiscoverySpec.kt index c214cb528..9b78dc86d 100644 --- a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalDiscoverySpec.kt +++ b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalDiscoverySpec.kt @@ -34,13 +34,13 @@ import io.spine.base.MessageFile.COMMANDS import io.spine.base.MessageFile.EVENTS import io.spine.base.MessageFile.REJECTIONS import io.spine.code.proto.FileSet -import io.spine.protodata.ast.File -import io.spine.protodata.ast.matches -import io.spine.protodata.backend.Pipeline -import io.spine.protodata.protobuf.file -import io.spine.protodata.protobuf.toMessageType -import io.spine.protodata.render.TypeListActions -import io.spine.protodata.testing.PipelineSetup +import io.spine.tools.compiler.ast.File +import io.spine.tools.compiler.ast.matches +import io.spine.tools.compiler.backend.Pipeline +import io.spine.tools.compiler.protobuf.file +import io.spine.tools.compiler.protobuf.toMessageType +import io.spine.tools.compiler.render.TypeListActions +import io.spine.testing.compiler.PipelineSetup import io.spine.testing.server.blackbox.BlackBox import java.nio.file.Path import org.junit.jupiter.api.BeforeAll diff --git a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalPluginTestSetup.kt b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalPluginTestSetup.kt index 90eac85fd..06f25c338 100644 --- a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalPluginTestSetup.kt +++ b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalPluginTestSetup.kt @@ -27,8 +27,8 @@ package io.spine.tools.core.jvm.signal import io.spine.base.MessageFile -import io.spine.protodata.ast.FilePattern -import io.spine.protodata.ast.FilePatternFactory.suffix +import io.spine.tools.compiler.ast.FilePattern +import io.spine.tools.compiler.ast.FilePatternFactory.suffix import io.spine.tools.core.jvm.PluginTestSetup import io.spine.tools.core.jvm.settings.SignalSettings import java.nio.file.Path @@ -54,7 +54,7 @@ internal abstract class SignalPluginTestSetup : PluginTestSetup( * a Gradle project. */ override fun createSettings(projectDir: Path): SignalSettings { - val codegenConfig = createCodegenConfig(projectDir) + val codegenConfig = createCompilerSettings(projectDir) return codegenConfig.toProto().signalSettings } } diff --git a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalSettingsSpec.kt b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalSettingsSpec.kt index 47a5a7a95..f1701d508 100644 --- a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalSettingsSpec.kt +++ b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/SignalSettingsSpec.kt @@ -27,9 +27,9 @@ package io.spine.tools.core.jvm.signal import io.kotest.matchers.collections.shouldContainExactly -import io.spine.protodata.java.render.ImplementInterface +import io.spine.tools.compiler.jvm.render.ImplementInterface import io.spine.tools.core.jvm.field.AddFieldClass -import io.spine.tools.core.jvm.gradle.settings.CompilerSettings +import io.spine.tools.core.jvm.gradle.settings.CoreJvmCompilerSettings import java.io.File import org.gradle.testfixtures.ProjectBuilder import org.junit.jupiter.api.BeforeEach @@ -47,12 +47,12 @@ import org.junit.jupiter.api.io.TempDir @DisplayName("`SignalSettings` should") internal class SignalSettingsSpec { - private lateinit var compilerSettings: CompilerSettings + private lateinit var compilerSettings: CoreJvmCompilerSettings @BeforeEach fun createProject(@TempDir projectDir: File) { val project = ProjectBuilder.builder().withProjectDir(projectDir).build() - compilerSettings = CompilerSettings(project) + compilerSettings = CoreJvmCompilerSettings(project) } @Test diff --git a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionThrowableConventionSpec.kt b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionThrowableConventionSpec.kt index 07638aabb..533b6fafb 100644 --- a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionThrowableConventionSpec.kt +++ b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionThrowableConventionSpec.kt @@ -28,7 +28,7 @@ package io.spine.tools.core.jvm.signal.rejection import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldNotBe -import io.spine.protodata.java.MessageOrEnumConvention +import io.spine.tools.compiler.jvm.MessageOrEnumConvention import io.spine.tools.core.jvm.signal.rejection.TypesTestEnv.messageTypeName import io.spine.tools.core.jvm.signal.rejection.TypesTestEnv.rejectionTypeName import io.spine.tools.core.jvm.signal.rejection.TypesTestEnv.typeSystem diff --git a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/TypesTestEnv.kt b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/TypesTestEnv.kt index 79e24918f..61dca538f 100644 --- a/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/TypesTestEnv.kt +++ b/signal-tests/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/TypesTestEnv.kt @@ -31,37 +31,37 @@ import com.google.protobuf.DescriptorProtos.FileOptions.JAVA_MULTIPLE_FILES_FIEL import com.google.protobuf.DescriptorProtos.FileOptions.JAVA_OUTER_CLASSNAME_FIELD_NUMBER import com.google.protobuf.DescriptorProtos.FileOptions.JAVA_PACKAGE_FIELD_NUMBER import io.spine.protobuf.pack -import io.spine.protodata.ast.EnumConstant -import io.spine.protodata.ast.EnumType -import io.spine.protodata.ast.Field -import io.spine.protodata.ast.File -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.Option -import io.spine.protodata.ast.PrimitiveType.TYPE_BOOL -import io.spine.protodata.ast.PrimitiveType.TYPE_STRING -import io.spine.protodata.ast.ProtoFileHeader -import io.spine.protodata.ast.Service -import io.spine.protodata.ast.ServiceName -import io.spine.protodata.ast.TypeName -import io.spine.protodata.ast.constantName -import io.spine.protodata.ast.enumConstant -import io.spine.protodata.ast.fieldName -import io.spine.protodata.ast.fieldType -import io.spine.protodata.ast.file -import io.spine.protodata.ast.messageType -import io.spine.protodata.ast.option -import io.spine.protodata.ast.protoFileHeader -import io.spine.protodata.ast.protobufSourceFile -import io.spine.protodata.ast.service -import io.spine.protodata.ast.serviceName -import io.spine.protodata.ast.toPath -import io.spine.protodata.ast.type -import io.spine.protodata.ast.typeName -import io.spine.protodata.protobuf.ProtoFileList -import io.spine.protodata.type.TypeSystem -import io.spine.protodata.value.pack -import io.spine.protodata.ast.enumType as newEnumType -import io.spine.protodata.ast.field as newField +import io.spine.tools.compiler.ast.EnumConstant +import io.spine.tools.compiler.ast.EnumType +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.ast.File +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.Option +import io.spine.tools.compiler.ast.PrimitiveType.TYPE_BOOL +import io.spine.tools.compiler.ast.PrimitiveType.TYPE_STRING +import io.spine.tools.compiler.ast.ProtoFileHeader +import io.spine.tools.compiler.ast.Service +import io.spine.tools.compiler.ast.ServiceName +import io.spine.tools.compiler.ast.TypeName +import io.spine.tools.compiler.ast.constantName +import io.spine.tools.compiler.ast.enumConstant +import io.spine.tools.compiler.ast.fieldName +import io.spine.tools.compiler.ast.fieldType +import io.spine.tools.compiler.ast.file +import io.spine.tools.compiler.ast.messageType +import io.spine.tools.compiler.ast.option +import io.spine.tools.compiler.ast.protoFileHeader +import io.spine.tools.compiler.ast.protobufSourceFile +import io.spine.tools.compiler.ast.service +import io.spine.tools.compiler.ast.serviceName +import io.spine.tools.compiler.ast.toPath +import io.spine.tools.compiler.ast.type +import io.spine.tools.compiler.ast.typeName +import io.spine.tools.compiler.protobuf.ProtoFileList +import io.spine.tools.compiler.type.TypeSystem +import io.spine.tools.compiler.value.pack +import io.spine.tools.compiler.ast.enumType as newEnumType +import io.spine.tools.compiler.ast.field as newField object TypesTestEnv { diff --git a/signal/build.gradle.kts b/signal/build.gradle.kts index f61b641a8..8482863a2 100644 --- a/signal/build.gradle.kts +++ b/signal/build.gradle.kts @@ -26,12 +26,12 @@ import io.spine.dependency.local.CoreJava import io.spine.dependency.local.Logging -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.dependency.local.TestLib import io.spine.dependency.local.ToolBase plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } dependencies { @@ -48,7 +48,7 @@ dependencies { gradleTestKit(), TestLib.lib, ToolBase.pluginTestlib, - ProtoData.testlib + Compiler.testlib ).forEach { testImplementation(it) } diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/Renderers.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/Renderers.kt index 2986a4c97..99c490e90 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/Renderers.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/Renderers.kt @@ -28,12 +28,12 @@ package io.spine.tools.core.jvm.signal import com.google.errorprone.annotations.OverridingMethodsMustInvokeSuper import io.spine.base.EntityState -import io.spine.protodata.ast.File -import io.spine.protodata.ast.MessageType -import io.spine.protodata.java.render.RenderActions -import io.spine.protodata.java.render.TypeListRenderer -import io.spine.protodata.render.SourceFile -import io.spine.protodata.render.TypeListActions +import io.spine.tools.compiler.ast.File +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.jvm.render.RenderActions +import io.spine.tools.compiler.jvm.render.TypeListRenderer +import io.spine.tools.compiler.render.SourceFile +import io.spine.tools.compiler.render.TypeListActions import io.spine.tools.code.Java import io.spine.tools.core.jvm.settings.SignalSettings import io.spine.tools.core.jvm.settings.Signals diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalDiscovery.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalDiscovery.kt index 98a0f1013..6c3eaa5dd 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalDiscovery.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalDiscovery.kt @@ -28,11 +28,11 @@ package io.spine.tools.core.jvm.signal import com.google.common.annotations.VisibleForTesting import io.spine.core.External -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.event.TypeDiscovered -import io.spine.protodata.ast.matches -import io.spine.protodata.plugin.Policy -import io.spine.protodata.settings.loadSettings +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.event.TypeDiscovered +import io.spine.tools.compiler.ast.matches +import io.spine.tools.compiler.plugin.Policy +import io.spine.tools.compiler.settings.loadSettings import io.spine.server.event.NoReaction import io.spine.server.event.React import io.spine.server.tuple.EitherOf4 diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalPlugin.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalPlugin.kt index caa5ba18a..5686e342c 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalPlugin.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalPlugin.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.signal -import io.spine.protodata.plugin.Plugin +import io.spine.tools.compiler.plugin.Plugin /** * A ProtoData plugin responsible for code generation of signal messages. diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalPluginComponent.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalPluginComponent.kt index 636ec9bf7..aef5760b4 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalPluginComponent.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/SignalPluginComponent.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.signal -import io.spine.protodata.settings.LoadsSettings +import io.spine.tools.compiler.settings.LoadsSettings /** * A part of [SignalPlugin] parts that loads shared diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/Views.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/Views.kt index 71ed569bc..b8c1b54c3 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/Views.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/Views.kt @@ -27,8 +27,8 @@ package io.spine.tools.core.jvm.signal import io.spine.core.Subscribe -import io.spine.protodata.ast.File -import io.spine.protodata.plugin.View +import io.spine.tools.compiler.ast.File +import io.spine.tools.compiler.plugin.View import io.spine.server.entity.alter import io.spine.tools.core.jvm.signal.event.CommandDiscovered import io.spine.tools.core.jvm.signal.event.EventDiscovered diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/Javadoc.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/Javadoc.kt index c7dd7c2f9..634c8b682 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/Javadoc.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/Javadoc.kt @@ -29,7 +29,7 @@ package io.spine.tools.core.jvm.signal.rejection import com.google.common.annotations.VisibleForTesting import com.squareup.javapoet.CodeBlock import com.squareup.javapoet.ParameterSpec -import io.spine.protodata.ast.MessageType +import io.spine.tools.compiler.ast.MessageType import io.spine.tools.java.codeBlock import io.spine.tools.java.javadoc.JavadocText.fromEscaped import io.spine.tools.java.javadoc.JavadocText.fromUnescaped diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableBuilderCode.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableBuilderCode.kt index 6a6d58e76..147491803 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableBuilderCode.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableBuilderCode.kt @@ -38,18 +38,18 @@ import com.squareup.javapoet.ParameterizedTypeName import com.squareup.javapoet.TypeSpec import io.spine.code.java.PackageName import io.spine.code.java.SimpleClassName -import io.spine.protodata.ast.Field -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.PrimitiveType -import io.spine.protodata.ast.Type -import io.spine.protodata.ast.isList -import io.spine.protodata.ast.isMap -import io.spine.protodata.ast.toType -import io.spine.protodata.java.javaCase -import io.spine.protodata.java.javaType -import io.spine.protodata.java.primarySetterName -import io.spine.protodata.java.toPrimitiveName -import io.spine.protodata.type.TypeSystem +import io.spine.tools.compiler.ast.Field +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.PrimitiveType +import io.spine.tools.compiler.ast.Type +import io.spine.tools.compiler.ast.isList +import io.spine.tools.compiler.ast.isMap +import io.spine.tools.compiler.ast.toType +import io.spine.tools.compiler.jvm.javaCase +import io.spine.tools.compiler.jvm.javaType +import io.spine.tools.compiler.jvm.primarySetterName +import io.spine.tools.compiler.jvm.toPrimitiveName +import io.spine.tools.compiler.type.TypeSystem import io.spine.tools.core.jvm.field.RepeatedFieldType import io.spine.tools.core.jvm.field.SingularFieldType.constructTypeNameFor import io.spine.tools.core.jvm.signal.rejection.Javadoc.forBuilderOf diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableCode.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableCode.kt index cc26b2aba..3a40b6b8b 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableCode.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableCode.kt @@ -31,9 +31,9 @@ import com.squareup.javapoet.MethodSpec import com.squareup.javapoet.TypeSpec import io.spine.base.RejectionThrowable import io.spine.logging.WithLogging -import io.spine.protodata.ast.MessageType -import io.spine.protodata.java.MessageOrEnumConvention -import io.spine.protodata.type.TypeSystem +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.jvm.MessageOrEnumConvention +import io.spine.tools.compiler.type.TypeSystem import io.spine.tools.core.jvm.GeneratedAnnotation import io.spine.tools.core.jvm.signal.rejection.Javadoc.forConstructorOfThrowable import io.spine.tools.core.jvm.signal.rejection.Javadoc.forThrowableOf diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowablePlugin.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowablePlugin.kt index 8920d0a08..61ebb4cda 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowablePlugin.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowablePlugin.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.signal.rejection -import io.spine.protodata.plugin.Plugin +import io.spine.tools.compiler.plugin.Plugin /** * A ProtoData plugin for generating [RejectionThrowable][io.spine.base.RejectionThrowable] diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableRenderer.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableRenderer.kt index 5a25a4f12..8cf711c96 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableRenderer.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RThrowableRenderer.kt @@ -29,15 +29,15 @@ package io.spine.tools.core.jvm.signal.rejection import com.google.protobuf.BoolValue import com.squareup.javapoet.JavaFile import io.spine.logging.WithLogging -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.ProtobufSourceFile -import io.spine.protodata.ast.find -import io.spine.protodata.ast.isTopLevel -import io.spine.protodata.java.file.hasJavaRoot -import io.spine.protodata.java.javaOuterClassName -import io.spine.protodata.java.javaPackage -import io.spine.protodata.java.render.JavaRenderer -import io.spine.protodata.render.SourceFileSet +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.ProtobufSourceFile +import io.spine.tools.compiler.ast.find +import io.spine.tools.compiler.ast.isTopLevel +import io.spine.tools.compiler.jvm.file.hasJavaRoot +import io.spine.tools.compiler.jvm.javaOuterClassName +import io.spine.tools.compiler.jvm.javaPackage +import io.spine.tools.compiler.jvm.render.JavaRenderer +import io.spine.tools.compiler.render.SourceFileSet import io.spine.string.Indent.Companion.defaultJavaIndent import io.spine.string.ti import java.nio.file.Path diff --git a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionThrowableConvention.kt b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionThrowableConvention.kt index 2643fed19..6f92e83b6 100644 --- a/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionThrowableConvention.kt +++ b/signal/src/main/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionThrowableConvention.kt @@ -27,12 +27,12 @@ package io.spine.tools.core.jvm.signal.rejection import io.spine.protobuf.isNotDefault -import io.spine.protodata.ast.TypeName -import io.spine.protodata.java.BaseJavaConvention -import io.spine.protodata.java.ClassName -import io.spine.protodata.java.javaPackage -import io.spine.protodata.type.Declaration -import io.spine.protodata.type.TypeSystem +import io.spine.tools.compiler.ast.TypeName +import io.spine.tools.compiler.jvm.BaseJavaConvention +import io.spine.tools.compiler.jvm.ClassName +import io.spine.tools.compiler.jvm.javaPackage +import io.spine.tools.compiler.type.Declaration +import io.spine.tools.compiler.type.TypeSystem import io.spine.tools.code.Java /** diff --git a/signal/src/main/proto/spine/tools/core/jvm/signal/events.proto b/signal/src/main/proto/spine/tools/core/jvm/signal/events.proto index 2709e0913..02e19158b 100644 --- a/signal/src/main/proto/spine/tools/core/jvm/signal/events.proto +++ b/signal/src/main/proto/spine/tools/core/jvm/signal/events.proto @@ -35,35 +35,35 @@ option java_package = "io.spine.tools.core.jvm.signal.event"; option java_outer_classname = "EventsProto"; option java_multiple_files = true; -import "spine/protodata/file.proto"; -import "spine/protodata/ast.proto"; +import "spine/compiler/file.proto"; +import "spine/compiler/ast.proto"; // A command was discovered in a proto file. message CommandDiscovered { // The file in which the command is defined. - protodata.File file = 1 [(required) = true]; + compiler.File file = 1 [(required) = true]; // The declaration of the command. - protodata.MessageType type = 2 [(required) = true]; + compiler.MessageType type = 2 [(required) = true]; } // An event was discovered in a proto file. message EventDiscovered { // The file in which the event is defined. - protodata.File file = 1 [(required) = true]; + compiler.File file = 1 [(required) = true]; // The declaration of the event. - protodata.MessageType type = 2 [(required) = true]; + compiler.MessageType type = 2 [(required) = true]; } // A rejection was discovered in a proto file. message RejectionDiscovered { // The file in which the rejection is defined. - protodata.File file = 1 [(required) = true]; + compiler.File file = 1 [(required) = true]; // The declaration of the rejection. - protodata.MessageType type = 2 [(required) = true]; + compiler.MessageType type = 2 [(required) = true]; } diff --git a/signal/src/main/proto/spine/tools/core/jvm/signal/views.proto b/signal/src/main/proto/spine/tools/core/jvm/signal/views.proto index 1185ef2e4..680fc3126 100644 --- a/signal/src/main/proto/spine/tools/core/jvm/signal/views.proto +++ b/signal/src/main/proto/spine/tools/core/jvm/signal/views.proto @@ -35,24 +35,24 @@ option java_package = "io.spine.tools.core.jvm.signal"; option java_outer_classname = "ViewsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; -import "spine/protodata/file.proto"; -import "spine/protodata/render_actions.proto"; +import "spine/compiler/ast.proto"; +import "spine/compiler/file.proto"; +import "spine/compiler/render_actions.proto"; -option (every_is).java_type = "io.spine.protodata.render.TypeListActions"; +option (every_is).java_type = "io.spine.tools.compiler.render.TypeListActions"; // Provides commands declared in a proto file. message CommandActions { option (entity).kind = PROJECTION; // The file which declares commands. - protodata.File file = 1; + compiler.File file = 1; // Declared command types. - repeated protodata.MessageType type = 2; + repeated compiler.MessageType type = 2; // Rendering actions to be applied to commands. - protodata.Actions actions = 3; + compiler.Actions actions = 3; } // Provides events declared in a proto file. @@ -60,13 +60,13 @@ message EventActions { option (entity).kind = PROJECTION; // The file which declares events. - protodata.File file = 1; + compiler.File file = 1; // Declared event types. - repeated protodata.MessageType type = 2; + repeated compiler.MessageType type = 2; // Rendering actions to be applied to events. - protodata.Actions actions = 3; + compiler.Actions actions = 3; } // Provides rejections declared in a proto file. @@ -74,11 +74,11 @@ message RejectionActions { option (entity).kind = PROJECTION; // The file which declares rejections. - protodata.File file = 1; + compiler.File file = 1; // Declared rejection types. - repeated protodata.MessageType type = 2; + repeated compiler.MessageType type = 2; // Rendering actions to be applied to rejections. - protodata.Actions actions = 3; + compiler.Actions actions = 3; } diff --git a/signal/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionJavadocIgTest.kt b/signal/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionJavadocIgTest.kt index ce4997cb5..dfdea2020 100644 --- a/signal/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionJavadocIgTest.kt +++ b/signal/src/test/kotlin/io/spine/tools/core/jvm/signal/rejection/RejectionJavadocIgTest.kt @@ -30,7 +30,7 @@ import io.kotest.matchers.shouldBe import io.spine.code.java.SimpleClassName import io.spine.testing.SlowTest import io.spine.testing.TempDir -import io.spine.tools.core.jvm.gradle.CoreJvmCompilerTaskName.Companion.launchProtoData +import io.spine.tools.core.jvm.gradle.CoreJvmCompilerTaskName.Companion.launchSpineCompiler import io.spine.tools.core.jvm.signal.rejection.Javadoc.BUILD_METHOD_ABSTRACT import io.spine.tools.core.jvm.signal.rejection.Javadoc.NEW_BUILDER_METHOD_ABSTRACT import io.spine.tools.core.jvm.signal.rejection.JavadocTestEnv.expectedBuilderClassComment @@ -80,7 +80,7 @@ internal class RejectionJavadocIgTest { "-XX:+UseParallelGC", "-XX:+HeapDumpOnOutOfMemoryError" ) - project.executeTask(launchProtoData) + project.executeTask(launchSpineCompiler) val generatedFile = rejectionJavaFile(projectDir.resolve("sub-module")) generatedSource = Roaster.parse( JavaClassSource::class.java, generatedFile diff --git a/signal/src/test/resources/rejection-codegen-test/build.gradle.kts b/signal/src/test/resources/rejection-codegen-test/build.gradle.kts index 58522e097..da0833eaa 100644 --- a/signal/src/test/resources/rejection-codegen-test/build.gradle.kts +++ b/signal/src/test/resources/rejection-codegen-test/build.gradle.kts @@ -35,7 +35,6 @@ buildscript { standardSpineSdkRepositories() - val protoData = io.spine.dependency.local.ProtoData val coreJvmCompilerVersion: String by extra dependencies { io.spine.dependency.lib.Protobuf.libs.forEach { classpath(it) } diff --git a/signal/src/test/resources/rejection-codegen-test/sub-module/build.gradle.kts b/signal/src/test/resources/rejection-codegen-test/sub-module/build.gradle.kts index 0af85a929..6c1ccf0f3 100644 --- a/signal/src/test/resources/rejection-codegen-test/sub-module/build.gradle.kts +++ b/signal/src/test/resources/rejection-codegen-test/sub-module/build.gradle.kts @@ -37,9 +37,9 @@ plugins { } // Turn off validation codegen during the transition to new ProtoData API. -modelCompiler { - java { - codegen { +spine { + coreJvm { + compiler { validation.enabled.set(false) } } diff --git a/signal/src/test/resources/rejection-javadoc-test/sub-module/build.gradle.kts b/signal/src/test/resources/rejection-javadoc-test/sub-module/build.gradle.kts index 0e4507132..73947b2c6 100644 --- a/signal/src/test/resources/rejection-javadoc-test/sub-module/build.gradle.kts +++ b/signal/src/test/resources/rejection-javadoc-test/sub-module/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2024, TeamDev. All rights reserved. + * Copyright 2025, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,10 +32,10 @@ plugins { id("io.spine.core-jvm") } -// Turn off validation codegen during the transition to new ProtoData API. -modelCompiler { - java { - codegen { +// Turn off validation codegen during the transition to new Compiler API. +spine { + coreJvm { + compiler { validation.enabled.set(false) } } diff --git a/tests/annotator/build.gradle.kts b/tests/annotator/build.gradle.kts index c32e0ce99..7ac5d940f 100644 --- a/tests/annotator/build.gradle.kts +++ b/tests/annotator/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2024, TeamDev. All rights reserved. + * Copyright 2025, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -33,7 +33,7 @@ plugins { modelCompiler { java { - // Turn off validation codegen during the transition to new ProtoData API. + // Turn off validation codegen during the transition to new Compiler API. codegen { validation.enabled.set(false) } @@ -70,10 +70,10 @@ dependencies { testImplementation(Grpc.protobuf) testImplementation(customAnnotations) - protoData(customAnnotations) + compiler(customAnnotations) } -tasks.findByName("launchTestProtoData")?.apply { this as JavaExec +tasks.findByName("launchTestSpineCompiler")?.apply { this as JavaExec debugOptions { enabled.set(false) // Set this option to `true` to enable remote debugging. port.set(5566) diff --git a/tests/build.gradle.kts b/tests/build.gradle.kts index 8b43e2afe..d764e3249 100644 --- a/tests/build.gradle.kts +++ b/tests/build.gradle.kts @@ -34,7 +34,7 @@ import io.spine.dependency.boms.BomsPlugin import io.spine.dependency.local.Base import io.spine.dependency.local.CoreJava import io.spine.dependency.local.Logging -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.dependency.local.Reflect import io.spine.dependency.local.TestLib import io.spine.dependency.local.Time @@ -58,7 +58,7 @@ buildscript { standardSpineSdkRepositories() val coreJvmCompilerVersion: String by extra - val protoData = io.spine.dependency.local.ProtoData + val compiler = io.spine.dependency.local.Compiler dependencies { classpath(io.spine.dependency.lib.Guava.lib) classpath(io.spine.dependency.lib.Protobuf.GradlePlugin.lib) { @@ -67,7 +67,7 @@ buildscript { classpath(io.spine.dependency.build.ErrorProne.GradlePlugin.lib) { exclude(group = "com.google.guava") } - classpath(protoData.pluginLib) + classpath(compiler.pluginLib) classpath(io.spine.dependency.local.CoreJvmCompiler.pluginLib(coreJvmCompilerVersion)) classpath(enforcedPlatform(io.spine.dependency.kotlinx.Coroutines.bom)) classpath(enforcedPlatform(io.spine.dependency.lib.Grpc.bom)) @@ -84,7 +84,6 @@ buildscript { io.spine.dependency.lib.Kotlin.StdLib.forceArtifacts(project, cfg, rs) force( io.spine.dependency.lib.Kotlin.bom, - "io.spine:protodata:${protoData.version}", io.spine.dependency.local.Reflect.lib, io.spine.dependency.local.Base.lib, io.spine.dependency.local.Time.lib, @@ -119,7 +118,7 @@ allprojects { standardToSpineSdk() gitHub("base") gitHub("tool-base") - gitHub("model-compiler") + gitHub("core-jvm-compiler") mavenLocal() } @@ -146,7 +145,7 @@ allprojects { Logging.libJvm, Logging.middleware, ToolBase.psiJava, - ProtoData.api, + Compiler.api, Validation.config, Validation.runtime, ) diff --git a/tests/comparable/build.gradle.kts b/tests/comparable/build.gradle.kts index 6150dac29..52c206d1d 100644 --- a/tests/comparable/build.gradle.kts +++ b/tests/comparable/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2024, TeamDev. All rights reserved. + * Copyright 2025, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,10 +32,10 @@ plugins { modelCompiler { java { codegen { - // Turn off validation codegen during the transition to the new ProtoData API. + // Turn off validation codegen during the transition to the new Compiler API. validation.enabled.set(false) } } } -protoDataRemoteDebug() +spineCompilerRemoteDebug() diff --git a/tests/custom-annotations/build.gradle.kts b/tests/custom-annotations/build.gradle.kts index cf8b421ed..08a90ed1a 100644 --- a/tests/custom-annotations/build.gradle.kts +++ b/tests/custom-annotations/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright 2024, TeamDev. All rights reserved. + * Copyright 2025, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,7 +32,7 @@ plugins { id("io.spine.core-jvm") } -// Turn off validation codegen during the transition to new ProtoData API. +// Turn off validation codegen during the transition to new Compiler API. modelCompiler { java { codegen { diff --git a/tests/factories/build.gradle.kts b/tests/factories/build.gradle.kts index 6b14dfb15..309e69b36 100644 --- a/tests/factories/build.gradle.kts +++ b/tests/factories/build.gradle.kts @@ -26,13 +26,13 @@ import io.spine.dependency.lib.JavaPoet import io.spine.dependency.local.CoreJvmCompiler -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.dependency.local.ToolBase -// Turn off validation codegen during the transition to the new ProtoData API. -modelCompiler { - java { - codegen { +// Turn off validation codegen during the transition to the new Compiler API. +spine { + coreJvm { + compiler { validation.enabled.set(false) } } @@ -46,7 +46,7 @@ modelCompiler { dependencies { implementation(JavaPoet.lib) implementation(ToolBase.lib) - implementation(ProtoData.api)!!.because("Custom codegen actions use ProtoData API.") + implementation(Compiler.api)!!.because("Custom codegen actions use the Compiler API.") val coreJvmBase = CoreJvmCompiler.base(version.toString()) implementation(coreJvmBase)!!.because("We take abstract base classes from this artifact.") } diff --git a/tests/factories/src/main/kotlin/io/spine/tools/core/jvm/mgroup/given/AddOwnTypeMethod.kt b/tests/factories/src/main/kotlin/io/spine/tools/core/jvm/mgroup/given/AddOwnTypeMethod.kt index ad178442a..6ffcad1d9 100644 --- a/tests/factories/src/main/kotlin/io/spine/tools/core/jvm/mgroup/given/AddOwnTypeMethod.kt +++ b/tests/factories/src/main/kotlin/io/spine/tools/core/jvm/mgroup/given/AddOwnTypeMethod.kt @@ -29,17 +29,17 @@ package io.spine.tools.core.jvm.mgroup.given import com.google.protobuf.Empty import com.intellij.psi.PsiMethod import com.intellij.psi.javadoc.PsiDocComment -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.ast.MessageType -import io.spine.protodata.render.SourceFile -import io.spine.protodata.java.javaClassName +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.render.SourceFile +import io.spine.tools.compiler.jvm.javaClassName import io.spine.tools.code.Java -import io.spine.protodata.java.render.CreateNestedClass +import io.spine.tools.compiler.jvm.render.CreateNestedClass import io.spine.tools.psi.addFirst import io.spine.tools.psi.java.addLast import io.spine.tools.psi.java.Environment.elementFactory import org.intellij.lang.annotations.Language -import io.spine.protodata.java.render.DirectMessageAction +import io.spine.tools.compiler.jvm.render.DirectMessageAction import io.spine.tools.java.reference import io.spine.type.MessageType as MType diff --git a/tests/factories/src/main/kotlin/io/spine/tools/core/jvm/mgroup/given/NestClassAction.kt b/tests/factories/src/main/kotlin/io/spine/tools/core/jvm/mgroup/given/NestClassAction.kt index b2ead54c0..d4af080ea 100644 --- a/tests/factories/src/main/kotlin/io/spine/tools/core/jvm/mgroup/given/NestClassAction.kt +++ b/tests/factories/src/main/kotlin/io/spine/tools/core/jvm/mgroup/given/NestClassAction.kt @@ -29,12 +29,12 @@ package io.spine.tools.core.jvm.mgroup.given import com.intellij.psi.PsiAnnotation import com.intellij.psi.PsiMethod import com.intellij.psi.javadoc.PsiDocComment -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.ast.MessageType -import io.spine.protodata.render.SourceFile -import io.spine.protodata.java.javaClassName +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.render.SourceFile +import io.spine.tools.compiler.jvm.javaClassName import io.spine.tools.code.Java -import io.spine.protodata.java.render.CreateNestedClass +import io.spine.tools.compiler.jvm.render.CreateNestedClass import io.spine.tools.psi.addFirst import io.spine.tools.psi.java.addLast import io.spine.tools.psi.java.Environment.elementFactory diff --git a/tests/known-types/build.gradle.kts b/tests/known-types/build.gradle.kts index 58a1f16c1..86288368e 100644 --- a/tests/known-types/build.gradle.kts +++ b/tests/known-types/build.gradle.kts @@ -1,11 +1,11 @@ /* - * Copyright 2024, TeamDev. All rights reserved. + * Copyright 2025, TeamDev. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * - * http://www.apache.org/licenses/LICENSE-2.0 + * https://www.apache.org/licenses/LICENSE-2.0 * * Redistribution and use in source and/or binary forms, with or without * modification, must retain the above copyright notice and the following @@ -29,7 +29,7 @@ plugins { id("io.spine.core-jvm") } -// Turn off validation codegen during the transition to new ProtoData API. +// Turn off validation codegen during the transition to new Compiler API. modelCompiler { java { codegen { diff --git a/tests/validation-smoke/build.gradle.kts b/tests/validation-smoke/build.gradle.kts index 2aef426b8..fbe69b89f 100644 --- a/tests/validation-smoke/build.gradle.kts +++ b/tests/validation-smoke/build.gradle.kts @@ -29,4 +29,4 @@ plugins { id("io.spine.core-jvm") } -protoDataRemoteDebug(enabled = false) +spineCompilerRemoteDebug(enabled = false) diff --git a/uuid-tests/src/test/kotlin/io/spine/tools/core/jvm/uuid/ImplementUuidValueSpec.kt b/uuid-tests/src/test/kotlin/io/spine/tools/core/jvm/uuid/ImplementUuidValueSpec.kt index c7b9e9576..0414fe607 100644 --- a/uuid-tests/src/test/kotlin/io/spine/tools/core/jvm/uuid/ImplementUuidValueSpec.kt +++ b/uuid-tests/src/test/kotlin/io/spine/tools/core/jvm/uuid/ImplementUuidValueSpec.kt @@ -28,8 +28,8 @@ package io.spine.tools.core.jvm.uuid import io.kotest.matchers.shouldBe import io.spine.base.UuidValue -import io.spine.protodata.java.render.ImplementInterface -import io.spine.protodata.java.render.superInterface +import io.spine.tools.compiler.jvm.render.ImplementInterface +import io.spine.tools.compiler.jvm.render.superInterface import io.spine.tools.core.jvm.implementsInterface import io.spine.tools.java.reference import java.nio.file.Path diff --git a/uuid-tests/src/test/kotlin/io/spine/tools/core/jvm/uuid/UuidPluginTestSetup.kt b/uuid-tests/src/test/kotlin/io/spine/tools/core/jvm/uuid/UuidPluginTestSetup.kt index e5e08e518..b6a462f0b 100644 --- a/uuid-tests/src/test/kotlin/io/spine/tools/core/jvm/uuid/UuidPluginTestSetup.kt +++ b/uuid-tests/src/test/kotlin/io/spine/tools/core/jvm/uuid/UuidPluginTestSetup.kt @@ -30,8 +30,8 @@ import com.google.protobuf.Message import com.intellij.psi.PsiClass import com.intellij.psi.PsiJavaFile import io.spine.protobuf.pack -import io.spine.protodata.java.render.MessageAction -import io.spine.protodata.render.actions +import io.spine.tools.compiler.jvm.render.MessageAction +import io.spine.tools.compiler.render.actions import io.spine.tools.core.jvm.PluginTestSetup import io.spine.tools.core.jvm.settings.Uuids import io.spine.tools.core.jvm.settings.copy @@ -58,7 +58,7 @@ abstract class UuidPluginTestSetup( * Creates an instance of [Uuids] with only one action under the test. */ override fun createSettings(projectDir: Path): Uuids { - val codegenConfig = createCodegenConfig(projectDir) + val codegenConfig = createCompilerSettings(projectDir) return codegenConfig.toProto().uuids.copy { actions = actions { action.put(actionClass.name, parameter.pack()) diff --git a/uuid/build.gradle.kts b/uuid/build.gradle.kts index 5c39b488a..5f70f9978 100644 --- a/uuid/build.gradle.kts +++ b/uuid/build.gradle.kts @@ -27,12 +27,12 @@ import io.spine.dependency.local.Base import io.spine.dependency.local.CoreJava import io.spine.dependency.local.Logging -import io.spine.dependency.local.ProtoData +import io.spine.dependency.local.Compiler import io.spine.dependency.local.Reflect import io.spine.dependency.local.TestLib plugins { - id("io.spine.mc-java") + id("io.spine.core-jvm") } dependencies { @@ -41,7 +41,7 @@ dependencies { Reflect.lib, Logging.lib, CoreJava.server, - ProtoData.java, + Compiler.jvm, project(":base") ).forEach { implementation(it) @@ -50,7 +50,7 @@ dependencies { arrayOf( gradleTestKit(), TestLib.lib, - ProtoData.testlib + Compiler.testlib ).forEach { testImplementation(it) } diff --git a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/AddFactoryMethods.kt b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/AddFactoryMethods.kt index d42e905b3..efa01a9cd 100644 --- a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/AddFactoryMethods.kt +++ b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/AddFactoryMethods.kt @@ -30,10 +30,10 @@ import com.google.protobuf.Empty import com.intellij.psi.PsiClass import com.intellij.psi.javadoc.PsiDocComment import io.spine.base.UuidValue -import io.spine.protodata.ast.MessageType -import io.spine.protodata.context.CodegenContext -import io.spine.protodata.java.render.DirectMessageAction -import io.spine.protodata.render.SourceFile +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.context.CodegenContext +import io.spine.tools.compiler.jvm.render.DirectMessageAction +import io.spine.tools.compiler.render.SourceFile import io.spine.tools.code.Java import io.spine.tools.core.jvm.GeneratedAnnotation import io.spine.tools.java.reference diff --git a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidActionRenderer.kt b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidActionRenderer.kt index ff5c4fa38..58630112f 100644 --- a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidActionRenderer.kt +++ b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidActionRenderer.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.uuid -import io.spine.protodata.java.render.TypeRenderer +import io.spine.tools.compiler.jvm.render.TypeRenderer /** * Renders code by applying actions specified in diff --git a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidMessageView.kt b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidMessageView.kt index d38129799..115cf3568 100644 --- a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidMessageView.kt +++ b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidMessageView.kt @@ -27,8 +27,8 @@ package io.spine.tools.core.jvm.uuid import io.spine.core.Subscribe -import io.spine.protodata.ast.MessageType -import io.spine.protodata.plugin.View +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.plugin.View import io.spine.server.entity.alter import io.spine.tools.core.jvm.uuid.event.UuidValueDiscovered diff --git a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidPlugin.kt b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidPlugin.kt index e42b54090..0681e6988 100644 --- a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidPlugin.kt +++ b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidPlugin.kt @@ -26,12 +26,12 @@ package io.spine.tools.core.jvm.uuid -import io.spine.protodata.plugin.Plugin +import io.spine.tools.compiler.plugin.Plugin /** * Discovers [UuidValue][io.spine.base.UuidValue] message types and renders the code * according to the settings specified in - * [io.spine.tools.core.jvm.gradle.settings.CompilerSettings.forUuids] clause. + * [io.spine.tools.core.jvm.gradle.settings.CoreJvmCompilerSettings.forUuids] clause. */ public class UuidPlugin : Plugin( policies = setOf(UuidValueDiscovery()), diff --git a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidPluginComponent.kt b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidPluginComponent.kt index 68ad2cfa5..2e9558682 100644 --- a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidPluginComponent.kt +++ b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidPluginComponent.kt @@ -26,7 +26,7 @@ package io.spine.tools.core.jvm.uuid -import io.spine.protodata.settings.LoadsSettings +import io.spine.tools.compiler.settings.LoadsSettings /** * A part of [UuidPlugin] that loads [settings][io.spine.tools.core.jvm.settings.Uuids] stored diff --git a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidValueDiscovery.kt b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidValueDiscovery.kt index da5a3cf37..0864a292e 100644 --- a/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidValueDiscovery.kt +++ b/uuid/src/main/kotlin/io/spine/tools/core/jvm/uuid/UuidValueDiscovery.kt @@ -27,11 +27,11 @@ package io.spine.tools.core.jvm.uuid import io.spine.core.External -import io.spine.protodata.ast.MessageType -import io.spine.protodata.ast.PrimitiveType -import io.spine.protodata.ast.event.TypeDiscovered -import io.spine.protodata.plugin.Policy -import io.spine.protodata.settings.loadSettings +import io.spine.tools.compiler.ast.MessageType +import io.spine.tools.compiler.ast.PrimitiveType +import io.spine.tools.compiler.ast.event.TypeDiscovered +import io.spine.tools.compiler.plugin.Policy +import io.spine.tools.compiler.settings.loadSettings import io.spine.server.event.NoReaction import io.spine.server.event.React import io.spine.server.event.asA diff --git a/uuid/src/main/proto/spine/tools/core/jvm/uuid/events.proto b/uuid/src/main/proto/spine/tools/core/jvm/uuid/events.proto index 8d6241acf..4ef77c907 100644 --- a/uuid/src/main/proto/spine/tools/core/jvm/uuid/events.proto +++ b/uuid/src/main/proto/spine/tools/core/jvm/uuid/events.proto @@ -35,7 +35,7 @@ option java_package = "io.spine.tools.core.jvm.uuid.event"; option java_outer_classname = "EventsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; +import "spine/compiler/ast.proto"; import "spine/tools/core/jvm/settings.proto"; @@ -43,7 +43,7 @@ import "spine/tools/core/jvm/settings.proto"; message UuidValueDiscovered { // The discovered type. - protodata.MessageType type = 1 [(required) = true]; + compiler.MessageType type = 1 [(required) = true]; // Code generation settings for this type. Uuids settings = 2 [(required) = true]; diff --git a/uuid/src/main/proto/spine/tools/core/jvm/uuid/views.proto b/uuid/src/main/proto/spine/tools/core/jvm/uuid/views.proto index 020aa0446..c71a7a10d 100644 --- a/uuid/src/main/proto/spine/tools/core/jvm/uuid/views.proto +++ b/uuid/src/main/proto/spine/tools/core/jvm/uuid/views.proto @@ -35,18 +35,18 @@ option java_package = "io.spine.tools.core.jvm.uuid"; option java_outer_classname = "ViewsProto"; option java_multiple_files = true; -import "spine/protodata/ast.proto"; -import "spine/protodata/render_actions.proto"; +import "spine/compiler/ast.proto"; +import "spine/compiler/render_actions.proto"; // Matches a UUID value message to corresponding code generation settings. message UuidActions { - option (is).java_type = "io.spine.protodata.render.TypeActions"; + option (is).java_type = "io.spine.tools.compiler.render.TypeActions"; option (entity).kind = VIEW; // The type of the message. - protodata.MessageType type = 1 [(required) = true]; + compiler.MessageType type = 1 [(required) = true]; - // Names of classes implementing the `io.spine.protodata.renderer.RenderAction` class + // Names of classes implementing the `io.spine.compiler.renderer.RenderAction` class // that are to be applied to the UUID messages. - protodata.Actions actions = 2; + compiler.Actions actions = 2; } diff --git a/uuid/src/test/kotlin/io/spine/tools/core/jvm/gradle/settings/UuidSettingsSpec.kt b/uuid/src/test/kotlin/io/spine/tools/core/jvm/gradle/settings/UuidSettingsSpec.kt index 863c1d702..c0b125594 100644 --- a/uuid/src/test/kotlin/io/spine/tools/core/jvm/gradle/settings/UuidSettingsSpec.kt +++ b/uuid/src/test/kotlin/io/spine/tools/core/jvm/gradle/settings/UuidSettingsSpec.kt @@ -27,7 +27,7 @@ package io.spine.tools.core.jvm.gradle.settings import io.kotest.matchers.collections.shouldContainExactly -import io.spine.protodata.java.render.ImplementInterface +import io.spine.tools.compiler.jvm.render.ImplementInterface import io.spine.tools.core.jvm.uuid.AddFactoryMethods import io.spine.tools.kotlin.reference import java.io.File