-
-
Notifications
You must be signed in to change notification settings - Fork 78
build: update plugin version and add artifact exclusions for Maven Ce… #2219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this 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 thearcadedb-coverage
andarcadedb-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
tomaven-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 thecentral-publishing-maven-plugin
configuration to prevent thearcadedb-coverage
andarcadedb-e2e
artifacts from being published. - Removed an unnecessary empty line.
- Renamed the Maven property
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
-
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. ↩
There was a problem hiding this 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
:
- The property name for the plugin's version has been refactored for better consistency within the POM.
- Exclusions have been added to prevent
arcadedb-coverage
andarcadedb-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 tomaven-central-publishing-plugin.version
. This change, seen in its definition (line 69) and usage (line 272), improves consistency with othermaven-<pluginId>-plugin.version
properties in thepom.xml
, enhancing maintainability. - Controlled Artifact Publishing: Exclusions for
arcadedb-coverage
andarcadedb-e2e
artifacts were added to thecentral-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> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pom.xml
Outdated
<excludeArtifacts> | ||
<excludeArtifact> | ||
<groupId>com.arcadedb</groupId> | ||
<artifactId>arcadedb-coverage</artifactId> | ||
</excludeArtifact> | ||
<excludeArtifact> | ||
<groupId>com.arcadedb</groupId> | ||
<artifactId>arcadedb-e2e</artifactId> | ||
</excludeArtifact> | ||
</excludeArtifacts> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. Theirpom.xml
files (e.g.,coverage/pom.xml
specifies<maven.deploy.skip>true</maven.deploy.skip>
, ande2e/pom.xml
skips deployment formaven-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!
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferences |
…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
mvn clean package
command