Skip to content

Conversation

@AdyenAutomationBot
Copy link
Collaborator

@AdyenAutomationBot AdyenAutomationBot commented Sep 18, 2025

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.

Summary of Changes

Hello @AdyenAutomationBot, 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!

This pull request performs a routine version bump for the adyen-java-api-library to v39.5.0. The changes primarily involve updating version numbers in the project's configuration files and the main client class, signifying a new release that incorporates previously merged features or fixes, specifically referencing pull request #1561.

Highlights

  • Version Update: The library version has been updated from 39.4.0 to 39.5.0 across all relevant project files.
  • Dependency Update: The Maven dependency version in README.md and pom.xml has been incremented to 39.5.0.
  • Internal Version Constant: The LIB_VERSION constant within the Client.java file has been updated to reflect the new 39.5.0 release.
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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 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. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

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.

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 pull request updates the library version to 39.5.0. The changes are consistent across all modified files. However, I've noticed that the version number is hardcoded in multiple places (pom.xml, src/main/java/com/adyen/Client.java, README.md, and VERSION). This manual process is error-prone and can lead to inconsistencies. I've added comments with suggestions to automate this process by using Maven features to have a single source of truth for the version number, which would improve maintainability and simplify future releases.

<groupId>com.adyen</groupId>
<artifactId>adyen-java-api-library</artifactId>
<version>39.4.0</version>
<version>39.5.0</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

The version number is hardcoded in this example. This requires manual updates for each release and can be missed, leading to outdated documentation. Consider using a placeholder for the version, like ${project.version}, and using a Maven plugin such as maven-replacer-plugin to substitute it with the current project version during the build process. This would ensure the documentation always reflects the correct version from pom.xml.

@@ -1 +1 @@
39.4.0
39.5.0
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 file contains a hardcoded version number, which is also defined in pom.xml. To maintain a single source of truth and simplify releases, consider generating this file automatically from the pom.xml version during your build or release process. A Maven plugin like maven-antrun-plugin could be used to write the project version into this file.

private Config config;
public static final String LIB_NAME = "adyen-java-api-library";
public static final String LIB_VERSION = "39.4.0";
public static final String LIB_VERSION = "39.5.0";
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 library version is hardcoded here, duplicating the version defined in pom.xml. This can lead to inconsistencies. A better approach is to read the version from the JAR's manifest file at runtime.

You can configure the maven-bundle-plugin in your pom.xml to add the version to the manifest:

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    ...
    <configuration>
        <instructions>
            <Export-Package>com.adyen</Export-Package>
            <Implementation-Title>${project.name}</Implementation-Title>
            <Implementation-Version>${project.version}</Implementation-Version>
        </instructions>
    </configuration>
</plugin>

Then, you can retrieve it in the code like this. This will make your release process more robust.

Suggested change
public static final String LIB_VERSION = "39.5.0";
public static final String LIB_VERSION = Client.class.getPackage().getImplementationVersion();

@AdyenAutomationBot AdyenAutomationBot force-pushed the promote/main branch 3 times, most recently from d291267 to 1253e72 Compare September 26, 2025 14:19
@AdyenAutomationBot AdyenAutomationBot merged commit d6eb3ea into main Sep 29, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants