Skip to content

build: Change to maven#628

Closed
hantsy wants to merge 11 commits into
masterfrom
maven-migration/propagate-versions-batch1
Closed

build: Change to maven#628
hantsy wants to merge 11 commits into
masterfrom
maven-migration/propagate-versions-batch1

Conversation

@hantsy
Copy link
Copy Markdown
Owner

@hantsy hantsy commented Apr 25, 2026

  • chore: backup and remove root parent POM
  • chore: propagate versions to core modules
  • chore: propagate versions to core modules (add explicit versions)
  • chore: propagate versions to core modules (kotlin poms fixes)
  • chore: propagate versions to core modules (remove BOM imports, fix plugin versions)

hantsy and others added 5 commits April 24, 2026 19:17
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ugin versions)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request establishes a multi-module Maven project for a Micronaut sandbox, covering various data access technologies like JDBC and R2DBC with both Java and Kotlin implementations. The review feedback highlights several configuration issues: the Kotlin modules are missing KAPT/KSP for annotation processing, and the project incorrectly targets an unreleased Java 25 version. Other improvements include synchronizing Kotlin plugin versions, utilizing the Micronaut BOM for dependency management, and replacing deprecated Kotlin artifacts to ensure build stability and consistency.

Comment thread data-jdbc-kotlin/pom.xml Outdated
</configuration>
</execution>
</executions>
<!-- TODO: Configure KSP/KAPT for Kotlin annotation processing if required -->
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

critical

Micronaut requires annotation processing to generate bean definitions and repositories. For Kotlin, you must configure either KAPT or KSP in the kotlin-maven-plugin. The current configuration only defines annotation processors for the maven-compiler-plugin (Java), which will result in missing bean definitions for Kotlin classes at runtime.

Comment thread data-jdbc-kotlin/pom.xml Outdated
<name>data-jdbc-kotlin</name>
<properties>
<!-- Global -->
<java.version>25</java.version>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Java 25 is not a released version (Java 21 is the current LTS). Using an unreleased version will likely cause build failures in most environments. Consider using a stable version like 21.

Suggested change
<java.version>25</java.version>
<java.version>21</java.version>

Comment thread data-jdbc-kotlin/pom.xml Outdated
<!-- Plugin versions -->
<maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version>
<micronaut.maven.plugin.version>4.6.1</micronaut.maven.plugin.version>
<kotlin-maven-plugin.version>1.8.22</kotlin-maven-plugin.version>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The kotlin-maven-plugin version (1.8.22) is incompatible with the specified kotlin.version (2.2.21). It is recommended to keep the plugin version in sync with the Kotlin version to avoid compiler errors.

Suggested change
<kotlin-maven-plugin.version>1.8.22</kotlin-maven-plugin.version>
<kotlin-maven-plugin.version>${kotlin.version}</kotlin-maven-plugin.version>

Comment thread data-jdbc-kotlin/pom.xml Outdated
<dependency>
<groupId>io.micronaut.data</groupId>
<artifactId>micronaut-data-jdbc</artifactId>
<version>${micronaut.version}</version>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

Using ${micronaut.version} for Micronaut Data is incorrect. Micronaut modules (like Data, SQL, etc.) have their own versioning schemes that differ from the core framework version. It is strongly recommended to use the Micronaut BOM (micronaut-bom) in a <dependencyManagement> section to manage these versions automatically and ensure compatibility across all Micronaut components.

Comment thread data-jdbc-kotlin/pom.xml Outdated
<goal>test-compile</goal>
</goals>
<configuration>
<jvmTarget>25</jvmTarget>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The jvmTarget should match the project's Java version. Since Java 25 is not available, this should be updated to match a stable version like 21.

Suggested change
<jvmTarget>25</jvmTarget>
<jvmTarget>21</jvmTarget>

Comment thread backup/pom.xml Outdated
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

Use the ${lombok.version} property instead of a hardcoded version to maintain consistency with the property defined on line 20.

Suggested change
<version>1.18.30</version>
<version>${lombok.version}</version>

Comment thread data-jdbc-kotlin/pom.xml Outdated
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The kotlin-stdlib-jdk8 artifact is deprecated since Kotlin 1.8. Use the unified kotlin-stdlib artifact instead.

Suggested change
<artifactId>kotlin-stdlib-jdk8</artifactId>
<artifactId>kotlin-stdlib</artifactId>

@hantsy hantsy force-pushed the master branch 7 times, most recently from aa6c931 to 33f8248 Compare May 1, 2026 14:52
@hantsy hantsy closed this May 2, 2026
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.

1 participant