Skip to content

Publish the TCK modules to Maven Central - #4046

Open
sfkamath wants to merge 10 commits into
micronaut-projects:5.2.xfrom
sfkamath:feat/5.1.x-tck-publish
Open

sfkamath wants to merge 10 commits into
micronaut-projects:5.2.xfrom
sfkamath:feat/5.1.x-tck-publish

Conversation

@sfkamath

@sfkamath sfkamath commented Sep 13, 2026 •

Copy link
Copy Markdown

Needed by micronaut-data-nitrite to run the Jakarta Data TCK against its own store. Applies io.micronaut.build.internal.module (instead of java-base) to io.micronaut.build.internal.data-tck.gradle and jakarta-data-tck/support/build.gradle, matching every other released module.

🤖 Generated with Claude Code

@sfkamath sfkamath changed the title Publish the TCK modules to Maven Publish the TCK modules Sep 13, 2026
@sfkamath
sfkamath force-pushed the feat/5.1.x-tck-publish branch from 1e7bd38 to 82c0e1c Compare September 14, 2026 00:12
@sfkamath sfkamath changed the title Publish the TCK modules Publish the TCK modules to Maven Central Sep 14, 2026
Comment thread buildSrc/src/main/groovy/io.micronaut.build.internal.data-tck.gradle Outdated
@radovanradic

Copy link
Copy Markdown
Contributor
  1. BOM is now broken as contains this
<dependency>
        <groupId>io.micronaut.data</groupId>
        <artifactId>micronaut-test-annotation-processor-java</artifactId>
        <version>${micronaut.data.version}</version>
      </dependency>
      <dependency>
        <groupId>io.micronaut.data</groupId>
        <artifactId>micronaut-support</artifactId>
        <version>${micronaut.data.version}</version>
      </dependency>

First one caused by change in io.micronaut.build.internal.data-tck.gradle. The second one might want support project renamed to support-tck so it gets filtered?

  1. Remove runtimeOnly logback-classic from the support module, and move the servlet API version into the catalog.

  2. Switch the TCK dependencies whose types appear in the public spec API from implementation to api.

  3. Disable binary-compatibility checks for the new TCK artifacts.

@radovanradic

Copy link
Copy Markdown
Contributor

Should this target 5.2.x ?

@radovanradic

Copy link
Copy Markdown
Contributor

After this, data-tck module will be published as well (last version published was 3.2.2)

sfkamath and others added 2 commits September 24, 2026 15:02
micronaut-data-tck, micronaut-data-document-tck, and
micronaut-jakarta-data-tck:micronaut-support have never had a Maven
publication, so a downstream repository could never resolve them and
had to be built inside micronaut-data's own composite build instead.

Add a plain maven-publish publication to each. The support module gets
an explicit artifactId since its default (derived from the leaf
project name) collides with other "support" modules in the build.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- test-annotation-processor-java no longer uses the (now published) data-tck plugin
- rename the Jakarta Data TCK support project to jakarta-data-support-tck so the BOM filter excludes it
- drop runtime logback from the support module, move servlet API version into the catalog
- expose dependencies whose types appear in the TCK spec API as api
- disable binary compatibility checks for the TCK artifacts
@dstepanov
dstepanov force-pushed the feat/5.1.x-tck-publish branch from ad5ca75 to ff10994 Compare September 24, 2026 12:03
@dstepanov
dstepanov changed the base branch from 5.1.x to 5.2.x September 24, 2026 12:03
dstepanov and others added 2 commits September 24, 2026 15:20
- add the standard license header to TCK sources (spotless)
- keep the Eclipse Foundation header on TCKArchiveProcessor, excluded from spotless
- disable checkstyle for the TCK artifacts, they are test fixtures
- skip documentation for the Jakarta Data TCK support module
Restore the data-tck convention plugin to its non-publishing form and add
a data-tck-module plugin that published TCK modules apply explicitly.
radovanradic and others added 4 commits September 24, 2026 22:14
…ut-data into pr-4046

# Conflicts:
#	gradle/libs.versions.toml
Publishing data-tck applies the module plugin, so its Groovy compiler daemons
(1048m, -Dgroovy.parameters) accept every Groovy compile in the build. The
examples then reused daemons that had already compiled all module test sources
and ran out of heap. A marker system property keeps the examples in a
separate daemon.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

3 participants