Skip to content

Conversation

robfrank
Copy link
Collaborator

…ntral publishing

What does this PR do?

A brief description of the change being made with this pull request.

Motivation

What inspired you to submit this pull request?

Related issues

A list of issues either fixed, containing architectural discussions, otherwise relevant
for this Pull Request.

Additional Notes

Anything else we should know when reviewing?

Checklist

  • I have run the build using mvn clean package command
  • My unit tests cover both failure and success scenarios

Copy link
Contributor

@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.

Hello @robfrank, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

Summary of Changes

Hello! Gemini here, providing a summary of this pull request. This PR focuses on updating the build configuration within the pom.xml file. The primary goal appears to be adjusting the setup for publishing artifacts to Maven Central, specifically by renaming a version property and adding exclusions for certain artifacts that should not be published.

Highlights

  • Build Configuration Update: The pull request modifies the pom.xml file to update and refine the Maven build process, particularly concerning artifact publishing.
  • Maven Central Publishing Exclusions: Configuration has been added to the central-publishing-maven-plugin to explicitly exclude the arcadedb-coverage and arcadedb-e2e artifacts from being published to Maven Central.
  • Property Name Refactor: A property name used for the version of the central publishing plugin has been renamed for clarity or consistency.

Changelog

  • pom.xml
    • Renamed the Maven property central-publishing-maven-plugin.version to maven-central-publishing-plugin.version.
    • Updated the central-publishing-maven-plugin configuration to use the new property name ${maven-central-publishing-plugin.version} for its version.
    • Added an <excludeArtifacts> block within the central-publishing-maven-plugin configuration to prevent the arcadedb-coverage and arcadedb-e2e artifacts from being published.
    • Removed an unnecessary empty line.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


XML tags align,
Builds run, artifacts fly,
Central waits for code.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@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 PR introduces valuable updates to the pom.xml for the central-publishing-maven-plugin:

  1. The property name for the plugin's version has been refactored for better consistency within the POM.
  2. Exclusions have been added to prevent arcadedb-coverage and arcadedb-e2e artifacts from being published to Maven Central.

These are positive changes that enhance the build's maintainability and correctness. My review comments provide more detail on these specific changes.

There are a couple of administrative points to consider:

  • PR Description: The pull request description template is currently unfilled. Could you please complete the sections for "What does this PR do?", "Motivation", and any "Related issues"? This information is crucial for understanding the context of the changes and for future reference.
  • PR Title: The current title "build: update plugin version..." might be slightly ambiguous, as the plugin's version number (0.7.0) itself hasn't changed, but rather the property name that stores this version. A title like "build: refactor central publishing plugin property and add artifact exclusions" could offer more precision. This is a minor suggestion.
  • Checklist: Please also review and complete the checklist items in the PR description.

The code modifications themselves are well-executed.

Summary of Findings

  • POM Property Naming Consistency: The property for the central-publishing-maven-plugin version was renamed to maven-central-publishing-plugin.version. This change, seen in its definition (line 69) and usage (line 272), improves consistency with other maven-<pluginId>-plugin.version properties in the pom.xml, enhancing maintainability.
  • Controlled Artifact Publishing: Exclusions for arcadedb-coverage and arcadedb-e2e artifacts were added to the central-publishing-maven-plugin configuration (lines 277-286). This is a key improvement to ensure only intended library artifacts are published to Maven Central, preventing the accidental deployment of development-specific modules.
  • PR Template Completion: The pull request description template (detailing 'What', 'Motivation', 'Related issues') is currently incomplete. Filling this out is important for context and record-keeping.
  • Minor Code Style (Whitespace): An unnecessary blank line was removed from the pom.xml (affecting old line 287). This is a minor stylistic improvement. (Not commented on in detail due to review severity settings prioritizing medium, high, and critical issues).

Merge Readiness

The code changes in this PR are beneficial, improving build configuration consistency and the correctness of artifact publishing. The modifications to pom.xml are well-implemented.

However, the pull request description template is currently incomplete. Providing this information is essential for proper review context and project documentation.

Therefore, I recommend that the PR description be fully completed before merging. While I cannot approve the PR, once the description is updated, the technical changes are sound. I've set the review status to REQUEST_CHANGES primarily to prompt the completion of the PR template and ensure acknowledgment of the feedback.

@@ -66,7 +66,7 @@
<maven-deploy-plugin.version>3.1.4</maven-deploy-plugin.version>
<maven-install-plugin.version>3.1.4</maven-install-plugin.version>
<license-maven-plugin.version>5.0.0</license-maven-plugin.version>
<central-publishing-maven-plugin.version>0.7.0</central-publishing-maven-plugin.version>
<maven-central-publishing-plugin.version>0.7.0</maven-central-publishing-plugin.version>
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

Renaming this property to maven-central-publishing-plugin.version (from the previous central-publishing-maven-plugin.version) is a good step towards consistency. It aligns this property's naming convention with others in the POM, such as maven-compiler-plugin.version, which use the maven-<pluginId>-plugin.version pattern. This change should improve the overall readability and maintainability of the properties section. Was this improved consistency the main driver for this rename?

@@ -269,11 +269,21 @@
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central-publishing-maven-plugin.version}</version>
<version>${maven-central-publishing-plugin.version}</version>
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This update to use ${maven-central-publishing-plugin.version} correctly reflects the property renaming discussed for line 69. It ensures that the central-publishing-maven-plugin continues to use the intended version 0.7.0 with the new, more consistent property name.

pom.xml Outdated
Comment on lines 277 to 286
<excludeArtifacts>
<excludeArtifact>
<groupId>com.arcadedb</groupId>
<artifactId>arcadedb-coverage</artifactId>
</excludeArtifact>
<excludeArtifact>
<groupId>com.arcadedb</groupId>
<artifactId>arcadedb-e2e</artifactId>
</excludeArtifact>
</excludeArtifacts>
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The addition of <excludeArtifacts> to prevent arcadedb-coverage and arcadedb-e2e from being published to Maven Central is an excellent and important change.

Here's why this is beneficial:

  • Correctness: These modules (arcadedb-coverage, arcadedb-e2e) are typically for internal development, testing, and code coverage aggregation. Their pom.xml files (e.g., coverage/pom.xml specifies <maven.deploy.skip>true</maven.deploy.skip>, and e2e/pom.xml skips deployment for maven-deploy-plugin) indicate they are not intended for public distribution.
  • Cleanliness: This ensures that only production-ready library artifacts are deployed to Maven Central, keeping the published artifacts clean and relevant for users.

This configuration is well-implemented and correctly targets the artifacts for exclusion. Great work on this!

@robfrank robfrank merged commit 4d093f4 into main May 21, 2025
16 of 17 checks passed
Copy link

codacy-production bot commented May 21, 2025

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
-0.12%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (483aab8) 69977 44856 64.10%
Head commit (389ddf3) 69977 (+0) 44773 (-83) 63.98% (-0.12%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#2219) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

@robfrank robfrank deleted the infra/2197-add-excludes branch June 20, 2025 07:45
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