Skip to content
This repository was archived by the owner on Jun 1, 2026. It is now read-only.

Upgrade Gradle/Kotlin toolchain and test app deps - #948

Merged
0xh3rman merged 2 commits into
mainfrom
fix-android-test-app
Feb 13, 2026
Merged

0xh3rman merged 2 commits into
mainfrom
fix-android-test-app

Conversation

@0xh3rman

Copy link
Copy Markdown
Collaborator

Bump Gradle wrapper and plugin toolchain settings, enable Foojay toolchain resolver, and adjust project Gradle/Kotlin versions. Key changes:

  • Update root Android build plugins: com.android.application -> 8.13.2, Kotlin plugin -> 2.3.10.
  • Add org.gradle.toolchains.foojay-resolver-convention plugin and new gradle-daemon-jvm.properties files to pin toolchain URLs/vendor/version.
  • Update Gradle wrapper distributions: project -> 8.14.4; GemTest -> 9.2.1 (added distributionSha256Sum for GemTest wrapper).
  • Add Android Gradle properties (android.builtInKotlin=false, android.newDsl=false) to root and expand several Android flags for the GemTest module.
  • GemTest build: bump Kotlin and Android plugin versions (Kotlin 2.3.10, com.android.application 9.0.0), add Compose plugin and plugin dependency for Kotlin Compose.
  • Bump test app dependencies: JNA 5.15.0 -> 5.18.1, gemstone AAR 1.0.0 -> 1.0.3.
  • Code adjustments in test app: switch HTTP method usage to AlienHttpMethod/alienMethodToString and use immutable Map for headers; replace AlienError.RequestError with AlienException.RequestException.

These changes prepare the project for newer Gradle/Kotlin toolchains, update test dependencies, and adapt test code to API changes.

Bump Gradle wrapper and plugin toolchain settings, enable Foojay toolchain resolver, and adjust project Gradle/Kotlin versions. Key changes:

- Update root Android build plugins: com.android.application -> 8.13.2, Kotlin plugin -> 2.3.10.
- Add org.gradle.toolchains.foojay-resolver-convention plugin and new gradle-daemon-jvm.properties files to pin toolchain URLs/vendor/version.
- Update Gradle wrapper distributions: project -> 8.14.4; GemTest -> 9.2.1 (added distributionSha256Sum for GemTest wrapper).
- Add Android Gradle properties (android.builtInKotlin=false, android.newDsl=false) to root and expand several Android flags for the GemTest module.
- GemTest build: bump Kotlin and Android plugin versions (Kotlin 2.3.10, com.android.application 9.0.0), add Compose plugin and plugin dependency for Kotlin Compose.
- Bump test app dependencies: JNA 5.15.0 -> 5.18.1, gemstone AAR 1.0.0 -> 1.0.3.
- Code adjustments in test app: switch HTTP method usage to AlienHttpMethod/alienMethodToString and use immutable Map for headers; replace AlienError.RequestError with AlienException.RequestException.

These changes prepare the project for newer Gradle/Kotlin toolchains, update test dependencies, and adapt test code to API changes.
@semanticdiff-com

Copy link
Copy Markdown

Review changes with  SemanticDiff

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @0xh3rman, 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 significantly upgrades the project's Gradle and Kotlin toolchain, ensuring compatibility with newer build environments and leveraging modern features. It also updates key dependencies for the test application and adapts existing code to reflect API changes in the underlying libraries. These changes collectively prepare the project for future development and maintain a robust build system.

Highlights

  • Gradle/Kotlin Toolchain Upgrade: Upgraded root Android build plugins: 'com.android.application' to 8.13.2 and Kotlin plugin to 2.3.10. Also, for the GemTest build, Kotlin and Android plugin versions were bumped to 2.3.10 and 9.0.0 respectively, and the Compose plugin was added.
  • Foojay Toolchain Resolver Integration: Integrated the 'org.gradle.toolchains.foojay-resolver-convention' plugin and introduced 'gradle-daemon-jvm.properties' files in both the main project and GemTest module for streamlined JDK toolchain resolution.
  • Gradle Wrapper Updates: Updated Gradle wrapper distributions: the main project to 8.14.4 and the GemTest module to 9.2.1, including a SHA256 sum for the GemTest wrapper for enhanced integrity.
  • Android Gradle Properties Expansion: Added 'android.builtInKotlin=false' and 'android.newDsl=false' to the root 'gradle.properties' and expanded several Android flags for the GemTest module to fine-tune build behavior.
  • Test App Dependency Updates: Updated test app dependencies: JNA from 5.15.0 to 5.18.1 and gemstone AAR from 1.0.0 to 1.0.3.
  • Test App Code Adjustments: Adjusted test app code to use 'AlienHttpMethod' and 'mapOf' for headers, and replaced 'AlienError.RequestError' with 'AlienException.RequestException' to align with API changes.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • gemstone/android/build.gradle.kts
    • Updated 'com.android.application' plugin version from 8.13.1 to 8.13.2.
    • Updated 'org.jetbrains.kotlin.android' plugin version from 2.2.21 to 2.3.10.
  • gemstone/android/gradle.properties
    • Added 'android.builtInKotlin=false'.
    • Added 'android.newDsl=false'.
  • gemstone/android/gradle/gradle-daemon-jvm.properties
    • Added a new file to define Foojay toolchain URLs, vendor (JETBRAINS), and version (21) for various OS/architecture combinations.
  • gemstone/android/gradle/wrapper/gradle-wrapper.properties
    • Updated 'distributionUrl' to 'gradle-8.14.4-bin.zip' from 'gradle-8.13-bin.zip'.
  • gemstone/android/settings.gradle.kts
    • Added 'org.gradle.toolchains.foojay-resolver-convention' plugin version 1.0.0.
  • gemstone/tests/android/GemTest/app/build.gradle
    • Added 'org.jetbrains.kotlin.plugin.compose' plugin.
    • Updated JNA dependency from 5.15.0 to 5.18.1.
    • Updated gemstone AAR dependency from 1.0.0 to 1.0.3.
  • gemstone/tests/android/GemTest/app/src/main/java/com/example/gemtest/MainActivity.kt
    • Changed 'method' parameter from String literal to 'AlienHttpMethod.GET'.
    • Changed 'headers' map initialization from 'hashMapOf' to 'mapOf'.
  • gemstone/tests/android/GemTest/app/src/main/java/com/example/gemtest/NativeProvider.kt
    • Replaced 'AlienError.RequestError' with 'AlienException.RequestException'.
    • Modified 'HttpMethod' constructor to use 'alienMethodToString(target.method)'.
  • gemstone/tests/android/GemTest/build.gradle
    • Updated 'org.jetbrains.kotlin.android' plugin version from 1.9.24 to 2.3.10.
    • Updated 'com.android.application' plugin version from 8.13.2 to 9.0.0.
    • Added 'org.jetbrains.kotlin.plugin.compose' plugin version 2.3.10.
  • gemstone/tests/android/GemTest/gradle.properties
    • Added multiple Android build properties: 'android.defaults.buildfeatures.resvalues', 'android.sdk.defaultTargetSdkToCompileSdkIfUnset', 'android.enableAppCompileTimeRClass', 'android.usesSdkInManifest.disallowed', 'android.uniquePackageNames', 'android.dependency.useConstraints', 'android.r8.strictFullModeForKeepRules', 'android.r8.optimizedResourceShrinking', 'android.builtInKotlin', 'android.newDsl'.
  • gemstone/tests/android/GemTest/gradle/gradle-daemon-jvm.properties
    • Added a new file to define Foojay toolchain URLs, vendor (JETBRAINS), and version (21) for various OS/architecture combinations.
  • gemstone/tests/android/GemTest/gradle/wrapper/gradle-wrapper.properties
    • Updated 'distributionUrl' to 'gradle-9.2.1-bin.zip' from 'gradle-8.9-bin.zip'.
    • Added 'distributionSha256Sum'.
  • gemstone/tests/android/GemTest/settings.gradle
    • Added 'org.gradle.toolchains.foojay-resolver-convention' plugin version 1.0.0.
Activity
  • No human activity has been recorded on this pull request yet.
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. ↩

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

Copy link
Copy Markdown
Contributor

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 effectively upgrades the Gradle and Kotlin toolchains, along with several test application dependencies. The changes are well-structured, including the adoption of the Foojay toolchain resolver and necessary code adjustments for new dependency APIs. My review found one area for improvement in the Gradle configuration for the test app, where some newly added properties are obsolete with the upgraded Android Gradle Plugin version and should be removed for better maintainability. Overall, this is a solid update that modernizes the project's build setup.

Comment thread gemstone/tests/android/GemTest/gradle.properties Outdated
@0xh3rman
0xh3rman merged commit ccdcd9f into main Feb 13, 2026
6 checks passed
@0xh3rman
0xh3rman deleted the fix-android-test-app branch February 13, 2026 23:29
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant