Skip to content

Improve task dependencies#63

Merged
alexander-yevsyukov merged 15 commits into
masterfrom
improve-task-dependencies
May 29, 2026
Merged

Improve task dependencies#63
alexander-yevsyukov merged 15 commits into
masterfrom
improve-task-dependencies

Conversation

@alexander-yevsyukov
Copy link
Copy Markdown
Contributor

@alexander-yevsyukov alexander-yevsyukov commented May 28, 2026

This PR fixes the way dependencies of KSP tasks are set onto LaunchSpineCompiler tasks (thus resolving ##62).

It should allow avoiding the build arrangements like this in the consumer projects:

afterEvaluate {
    tasks.named("kspTestFixturesKotlin") {
    mustRunAfter("launchTestFixturesSpineCompiler")
}

Other notable changes

  • render_actions.proto was renamed to actions.proto to reflect the name of the single top-level type declared in the file.
  • The (required) option was dropped on the Actions.action property because default Any instances could be put into the map when an action does not require parameters.
  • Latest config was applied.

Copilot AI review requested due to automatic review settings May 28, 2026 20:49
@alexander-yevsyukov alexander-yevsyukov self-assigned this May 28, 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: 6a440c2d64

ℹ️ 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 api/src/main/proto/spine/compiler/actions.proto
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 Gradle Compiler plugin to reliably wire Kotlin Symbol Processing (KSP) task dependencies onto LaunchSpineCompiler tasks (even when KSP is applied after the Compiler plugin), and adds a functional test fixture to validate the behavior. It also includes a broad “latest config” sync (dependency bumps, tooling/agent docs, coverage filtering changes, and a docs link-check workflow).

Changes:

  • Arrange ksp<SourceSet>Kotlinlaunch<SourceSet>SpineCompiler dependencies via afterEvaluate, plus a functional test project to assert the dependency.
  • Update build tooling and reporting (JaCoCo aggregation + generated Kotlin source visibility; dependency/version bumps).
  • Sync repository automation/docs/agent infrastructure (AGENTS/skills/scripts, link-check workflow, misc config files).

Reviewed changes

Copilot reviewed 71 out of 85 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
version.gradle.kts Bump published compiler version snapshot.
gradle-plugin/src/main/kotlin/io/spine/tools/compiler/gradle/plugin/Plugin.kt Add afterEvaluate wiring for KSP → launch task dependencies.
gradle-plugin/src/main/kotlin/io/spine/tools/compiler/gradle/plugin/LaunchSpineCompiler.kt Remove in-task KSP dependency wiring; clarify dependency responsibilities in KDoc.
gradle-plugin/src/main/kotlin/io/spine/tools/compiler/gradle/plugin/KspTaskName.kt Fix KSP task naming (ksp…Kotlin instead of compile…Kotlin).
gradle-plugin/src/functionalTest/resources/ksp-test/src/main/proto/test.proto Add minimal proto file for KSP functional test fixture.
gradle-plugin/src/functionalTest/resources/ksp-test/settings.gradle.kts Add functional test fixture settings (plugin repos).
gradle-plugin/src/functionalTest/resources/ksp-test/build.gradle.kts Add functional test fixture build that applies KSP after Compiler plugin and prints KSP deps.
gradle-plugin/src/functionalTest/kotlin/io/spine/tools/compiler/gradle/plugin/PluginSpec.kt Add functional test asserting kspKotlin depends on launchSpineCompiler.
docs/dependencies/pom.xml Update dependency report versions (config sync).
CLAUDE.md Switch to @AGENTS.md inclusion + Claude-specific notes.
buildSrc/src/test/kotlin/io/spine/gradle/report/coverage/FileExtensionsTest.kt Add unit tests for new source→class-name mapping logic.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/PathMarker.kt Simplify markers; rename main output marker.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/JacocoConfig.kt Delay config until projects evaluated; include Kotlin src dirs; ensure report tasks depend on tests.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/FileExtensions.kt Replace old parsing helpers with classNamesIn(sourceRoot) for Java/Kotlin/proto-kt naming.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/FileExtension.kt Add Kotlin source extension enum value.
buildSrc/src/main/kotlin/io/spine/gradle/report/coverage/CodebaseFilter.kt Use new source→class-name mapping for generated code filtering.
buildSrc/src/main/kotlin/io/spine/dependency/test/Jacoco.kt Bump JaCoCo version constant.
buildSrc/src/main/kotlin/io/spine/dependency/local/Validation.kt Bump Validation version; refactor gradle plugin coordinate constant.
buildSrc/src/main/kotlin/io/spine/dependency/local/Time.kt Bump Time version.
buildSrc/src/main/kotlin/io/spine/dependency/local/CoreJvmCompiler.kt Bump Core JVM Compiler version.
buildSrc/src/main/kotlin/io/spine/dependency/local/Compiler.kt Bump compiler fallback versions.
buildSrc/src/main/kotlin/io/spine/dependency/local/Base.kt Bump Spine Base versions.
buildSrc/src/main/kotlin/io/spine/dependency/lib/Jackson.kt Bump Jackson versions (incl. annotations).
api/src/test/kotlin/io/spine/tools/compiler/render/ActionFactorySpec.kt Clarify KDoc type reference.
api/src/main/proto/spine/compiler/actions.proto Remove (required)=true from action map field.
AGENTS.md Expand/centralize agent guidance and review skip rules.
.idea/misc.xml Update IDE project metadata formatting/indices and add XML header.
.idea/live-templates/User.xml Fix date format pattern casing.
.idea/live-templates/README.md Fix spelling/whitespace in template install docs.
.gitignore Ignore link-check skill caches and Hugo preview artifacts.
.github/workflows/check-links.yml Add docs link-check workflow using Hugo + Lychee with caching.
.github/copilot-instructions.md Add Copilot-specific repo instruction entrypoint.
.codecov.yml Adjust Codecov status settings and path filters.
.claude/settings.json Update hooks/permissions paths and add additional gate hooks.
.claude/scripts/sanitize-source-code.kt Remove old hook implementation (replaced by shell script under .agents/scripts/).
.claude/agents/dependency-audit.md Pin a specific Claude model for the dependency-audit agent.
.agents/tasks/README.md Add durable task-plan format documentation.
.agents/tasks/archive/setup-cross-tool-agent-instructions.md Add archived task plan (config sync artifact).
.agents/tasks/archive/prompt-caching-org.md Add archived task plan (config sync artifact).
.agents/tasks/archive/prohibit-automatic-commits.md Add archived task plan (config sync artifact).
.agents/tasks/archive/api-discovery.md Add archived task plan (config sync artifact).
.agents/skills/version-bumped/SKILL.md Add new skill documentation for version bump gating.
.agents/skills/version-bumped/scripts/version-bumped.sh Add version-bump enforcement script.
.agents/skills/review-docs/SKILL.md Update docs review scope (include proto) and config-distributed filtering rule.
.agents/skills/pre-pr/SKILL.md Rework pre-PR orchestration (parallel reviewers, sentinel logic, check-links integration).
.agents/skills/move-files/SKILL.md Strengthen git mv rule and add version-bump gate step.
.agents/skills/kotlin-review/SKILL.md Add config-distributed filtering rule and Kotlin Protobuf DSL guideline.
.agents/skills/java-to-kotlin/SKILL.md Add version-bump gate as final step.
.agents/skills/dependency-update/SKILL.md Add /version-bumped as a required follow-up step.
.agents/skills/dependency-audit/SKILL.md Update audit workflow (diff-first, batch greps, don’t stop at first failure).
.agents/skills/check-links/SKILL.md Add local link-check skill documentation mirroring CI workflow behavior.
.agents/skills/bump-version/SKILL.md Add explicit commit authorization section and shell-safe example.
.agents/skills/bump-gradle/SKILL.md Add explicit commit authorization section and version-bump gate step.
.agents/skills/api-discovery/SKILL.md Add api-discovery skill documentation (avoid unzipping Gradle cache).
.agents/scripts/update-copyright.sh Add post-tool hook to refresh copyright headers.
.agents/scripts/sanitize-source-code.sh Add post-tool hook to sanitize whitespace/blank lines.
.agents/scripts/publish-version-gate.sh Add pre-tool hook to block risky Gradle tasks without version bump.
.agents/scripts/protect-version-file.sh Enhance version file edit blocking (supports patch-based tools; fail-closed if jq missing).
.agents/scripts/pre-pr-gate.sh Add jq precheck and improved messaging for PR creation gate.
.agents/scripts/api-discovery/update-sibling Add safe sibling repo updater (git pull --ff-only on default branch only).
.agents/scripts/api-discovery/README.md Add implementation reference for api-discovery scripts.
.agents/scripts/api-discovery/lib/common.sh Add shared helpers for api-discovery scripts.
.agents/scripts/api-discovery/extract-sources Add sources-jar extraction caching script.
.agents/scripts/api-discovery/discover Add artifact-to-source-path resolver script.
.agents/scripts/api-discovery/clean-cache Add cache-pruning script for api-discovery.
.agents/scripts/api-discovery/.gitignore Ignore local workspace-root override file.
.agents/safety-rules.md Add explicit “no history writes without authorization” policy.
.agents/quick-reference-card.md Replace prior content with a commit/history-write prohibition pointer.
.agents/project.template.md Add project.md template for sibling repos.
.agents/project.md Add project.md (currently still template placeholders).
.agents/project-overview.md Remove older project overview doc (superseded).
.agents/memory/reference/cache-warm-window.md Add reference memory about prompt caching TTL behavior.
.agents/memory/reference/anthropic-api-caching.md Add reference memory about Anthropic API prompt caching.
.agents/memory/reference/.gitkeep Keep reference memory directory tracked.
.agents/memory/README.md Add team memory format and routing rules.
.agents/memory/MEMORY.md Add memory index file.
.agents/memory/feedback/copilot-review-request.md Add team memory about requesting Copilot reviews via GraphQL.
.agents/memory/feedback/.gitkeep Keep feedback memory directory tracked.
.agents/memory/project/.gitkeep Keep project memory directory tracked.
.agents/jvm-project.md Add shared JVM repo checklist doc.
.agents/documentation-guidelines.md Add proto header guidance.
.agents/coding-guidelines.md Add Kotlin Protobuf DSL guidance.
.agents/_TOC.md Update agents documentation TOC to new structure.
Files not reviewed (3)
  • .idea/live-templates/README.md: Language not supported
  • .idea/live-templates/User.xml: Language not supported
  • .idea/misc.xml: Language not supported

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

Comment thread .agents/project.md 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

Copilot reviewed 71 out of 85 changed files in this pull request and generated 1 comment.

Files not reviewed (3)
  • .idea/live-templates/README.md: Language not supported
  • .idea/live-templates/User.xml: Language not supported
  • .idea/misc.xml: Language not supported

Comment thread .agents/scripts/api-discovery/clean-cache
Copilot AI review requested due to automatic review settings May 28, 2026 21:23
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 74 out of 88 changed files in this pull request and generated no new comments.

Files not reviewed (3)
  • .idea/live-templates/README.md: Language not supported
  • .idea/live-templates/User.xml: Language not supported
  • .idea/misc.xml: Language not supported

@codecov
Copy link
Copy Markdown

codecov Bot commented May 28, 2026

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@alexander-yevsyukov alexander-yevsyukov merged commit b4e8ad0 into master May 29, 2026
8 checks passed
@alexander-yevsyukov alexander-yevsyukov deleted the improve-task-dependencies branch May 29, 2026 08:14
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