Skip to content

Conversation

kahgoh
Copy link
Member

@kahgoh kahgoh commented Oct 9, 2025

Also updated to Gradle 9.1.0 to use a JDK 25 Docker image during the build (to use same version of the JDK).

Also updated to Gradle 9.1.0 to use a JDK 25 Docker image during the
build (to use same version of the JDK).
@kahgoh kahgoh requested a review from a team as a code owner October 9, 2025 09:21
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit
Copy link

Choose a reason for hiding this comment

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

I think cd -P is a bashism (?). Might want to change the shebang.

Copy link
Member Author

@kahgoh kahgoh Oct 9, 2025

Choose a reason for hiding this comment

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

No, I don't think its bashism. Rather, I think it is POSIX compliant. Looking at the man page on man7 it says:

  The cd utility shall conform to the Base Definitions volume of
  POSIX.1‐2017, Section 12.2, Utility Syntax Guidelines.

  The following options shall be supported by the implementation:
  ...
  -P        Handle the operand dot-dot physically; symbolic link
            components shall be resolved before dot-dot components
            are processed (see step 7. in the DESCRIPTION).

It is also mentioned in the Shell and Utilities volume of POSIX.1-2024.

@kahgoh kahgoh merged commit c88a80b into exercism:main Oct 9, 2025
2 checks passed
kahgoh added a commit to kahgoh/exercism-java-analyzer that referenced this pull request Oct 10, 2025
This is to be consistent with the exercism/java-test-runner#171 which
updated the test runner to use Gradle 9.1.0.
kahgoh added a commit to kahgoh/exercism-java-representer that referenced this pull request Oct 10, 2025
This upgrades Gradle to 9.1.0 to be consistent with
exercism/java-test-runner#171.

This has also required the following changes:
- Updating the Shadow plugin to a compatible version (see
  https://github.com/GradleUp/shadow).
- Adding JUnit launcher as test runtime dependency, as the automatic
  loading of test framework implementation was removed
  (see https://docs.gradle.org/8.7/userguide/upgrading_version_8.html#test_framework_implementation_dependencies).
- Replacing the mainClassName property. This was deprecated back
  in Gradle 8 (see https://docs.gradle.org/current/userguide/upgrading_version_7.html#javaapplication_api_cleanup).
kahgoh added a commit to exercism/java-analyzer that referenced this pull request Oct 10, 2025
* Update to Gradle 9.1.0

This is to be consistent with the exercism/java-test-runner#171 which
updated the test runner to use Gradle 9.1.0.

* Update shadow Gradle plugin

Updating the shadow Gradle plugin to work with Gradle 9.0.

See https://github.com/GradleUp/shadow for Gradle compatibility.

* Update mainClassName property

This is required to work with Gradle 9. The mainClassName property
was deprecated back in Gradle 8.

See https://docs.gradle.org/current/userguide/upgrading_version_7.html#javaapplication_api_cleanup

* Add JUnit platform launcher

This is required to work with Gradle 9.

The automatic loading of test framework implementation was removed
back in Gradle 8, so it now has to be specified as a test runtime
dependency.

See also https://docs.gradle.org/8.7/userguide/upgrading_version_8.html#test_framework_implementation_dependencies
kahgoh added a commit to exercism/java-representer that referenced this pull request Oct 10, 2025
This upgrades Gradle to 9.1.0 to be consistent with
exercism/java-test-runner#171.

This has also required the following changes:
- Updating the Shadow plugin to a compatible version (see
  https://github.com/GradleUp/shadow).
- Adding JUnit launcher as test runtime dependency, as the automatic
  loading of test framework implementation was removed
  (see https://docs.gradle.org/8.7/userguide/upgrading_version_8.html#test_framework_implementation_dependencies).
- Replacing the mainClassName property. This was deprecated back
  in Gradle 8 (see https://docs.gradle.org/current/userguide/upgrading_version_7.html#javaapplication_api_cleanup).
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.

3 participants