Skip to content

Add FieldType.isRepeatedMessage extension#59

Merged
alexander-yevsyukov merged 17 commits intomasterfrom
field-type-repeated-message-ext
Apr 23, 2026
Merged

Add FieldType.isRepeatedMessage extension#59
alexander-yevsyukov merged 17 commits intomasterfrom
field-type-repeated-message-ext

Conversation

@alexander-yevsyukov
Copy link
Copy Markdown
Contributor

@alexander-yevsyukov alexander-yevsyukov commented Apr 23, 2026

This PR adds the FieldType.isRepeatedMessage extension which was previously adopted in Validation.

Also, the PR fixes the version of the Compiler used in the integration tests.

Other notable changes

  • config was updated.
  • Fixed return type of one-line test functions in FieldTypeSpec.

@alexander-yevsyukov alexander-yevsyukov self-assigned this Apr 23, 2026
@armiol armiol changed the title Add FieldType.isRepeatedVessage extension Add FieldType.isRepeatedMessage extension Apr 23, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 16bde3d861

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the compiler/tooling versions used across the build (including integration test projects) and adds a small API extension on FieldType to identify repeated-message fields.

Changes:

  • Add FieldType.isRepeatedMessage extension and corresponding test coverage.
  • Bump Spine Compiler snapshot version and align integration-test build scripts with the updated dependency accessor.
  • Update publishing/build tooling (ShadowJar setup, publishing extension naming, dependency forcing, and various dependency/version coordinates).

Reviewed changes

Copilot reviewed 30 out of 31 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
version.gradle.kts Bumps compilerVersion snapshot used by integration tests.
tests/in-place-consumer/build.gradle.kts Uses spineCompiler.pluginLib(compilerVersion) and dedupes project dependency declaration.
tests/consumer/build.gradle.kts Uses spineCompiler.pluginLib(compilerVersion) for buildscript classpath.
tests/compiler-extension/build.gradle.kts Applies shared compilerVersion and uses it for Compiler plugin classpath.
tests/build.gradle.kts Updates copyright year.
pom.xml Updates project and dependency versions (logging/server/toolbase/testlib/core-jvm-plugins/compiler artifacts).
dependencies.md Regenerated dependency license report for the new snapshot version set.
cli/build.gradle.kts Switches ShadowJar configuration call from handleMergingServiceFiles() to setup().
buildSrc/src/test/kotlin/io/spine/gradle/publish/SpinePublishingTest.kt Uses centralized SpinePublishing.extensionName.
buildSrc/src/main/kotlin/kmp-module.gradle.kts Forces Jackson/Kotlin versions; removes Kotest datatest dependency from common tests.
buildSrc/src/main/kotlin/jvm-module.gradle.kts Forces Jackson annotations and Kotlin BOM consistently across configurations.
buildSrc/src/main/kotlin/io/spine/gradle/report/license/LicenseReporter.kt Uses Spine.group / Spine.toolsGroup constants for exclusion list.
buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt Centralizes extension name, tweaks artifact group check, and adjusts projectsToPublish() return type/visibility.
buildSrc/src/main/kotlin/io/spine/gradle/publish/ShadowJarExts.kt Replaces prior service-file merging helper with new ShadowJar.setup() + dedup logic.
buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt Adjusts how artifactId is derived to preserve KMP suffixes.
buildSrc/src/main/kotlin/io/spine/gradle/github/pages/UpdateGitHubPages.kt Removes commented-out TODO block; always registers tasks.
buildSrc/src/main/kotlin/io/spine/dependency/test/Kotest.kt Refactors Kotest coordinates; keeps deprecated entries with guidance.
buildSrc/src/main/kotlin/io/spine/dependency/local/ToolBase.kt Bumps ToolBase snapshot version.
buildSrc/src/main/kotlin/io/spine/dependency/local/TestLib.kt Bumps TestLib snapshot version.
buildSrc/src/main/kotlin/io/spine/dependency/local/ProtoTap.kt Uses Spine.toolsGroup for group constant.
buildSrc/src/main/kotlin/io/spine/dependency/local/Logging.kt Bumps logging snapshot version and updates testlib artifact name.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt Bumps Core JVM compiler snapshot version and simplifies plugin lib accessors.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvm.kt Bumps Core JVM snapshot version and updates testlib artifact IDs.
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt Uses Spine.toolsGroup and updates fallback compiler versions.
buildSrc/src/main/kotlin/io/spine/dependency/lib/JetBrainsAnnotations.kt Adds explicit JetBrains annotations dependency coordinates.
buildSrc/src/main/kotlin/io/spine/dependency/build/Dokka.kt Uses Spine.toolsGroup for Dokka extension plugin group.
buildSrc/build.gradle.kts Removes plugin application for license report; bumps Shadow plugin version constant.
build.gradle.kts Forces JetBrains annotations artifact version in resolution strategy.
api/src/test/kotlin/io/spine/tools/compiler/ast/FieldTypeSpec.kt Adds test for isRepeatedMessage and reformats several tests for block bodies.
api/src/main/kotlin/io/spine/tools/compiler/ast/FieldTypeExts.kt Introduces FieldType.isRepeatedMessage extension.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread api/src/main/kotlin/io/spine/tools/compiler/ast/FieldTypeExts.kt
Comment thread buildSrc/src/main/kotlin/io/spine/gradle/publish/PublicationHandler.kt Outdated
Copilot AI review requested due to automatic review settings April 23, 2026 16:02
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 30 out of 31 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread buildSrc/build.gradle.kts
Comment thread buildSrc/src/main/kotlin/io/spine/gradle/publish/SpinePublishing.kt
Comment thread buildSrc/src/main/kotlin/io/spine/gradle/publish/ShadowJarExts.kt
Comment thread buildSrc/src/main/kotlin/io/spine/gradle/publish/ShadowJarExts.kt
@alexander-yevsyukov alexander-yevsyukov merged commit 36249f6 into master Apr 23, 2026
6 checks passed
@alexander-yevsyukov alexander-yevsyukov deleted the field-type-repeated-message-ext branch April 23, 2026 18:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants