RFR: 8352982: gradle TEST_SDK_PATH param doesn't work with relative paths

Ambarish Rapte arapte at openjdk.org
Wed Apr 2 00:28:36 UTC 2025


On Tue, 1 Apr 2025 12:31:03 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> Issue:
>> The test execution fails when a relative path is specified a relative path for `TEST_SDK_PATH`.
>> For example:
>> 1. gradle -PTEST_ONLY=true -PTEST_SDK_PATH=**..**/jfx1/build test 
>> 2. gradle -PTEST_ONLY=true -PTEST_SDK_PATH=**~**/jfx1/build test
>> 
>> Solution:
>> Convert the relative path to an absolute path.
>> 
>> More about fix:
>> The property TEST_SDK_PATH belongs to the root project rt in build.gradle.
>> If we modify this property in build.gradle, it does not reflect in the child projects. The child projects for example graphics, controls would still have the value of TEST_SDK_PATH before modification.
>> To solve this, I Introduced a new variable in build.gradle `TEST_SDK_DIR`. It would hold the modified value of `TEST_SDK_PATH` and gets correctly reflected across all sub-projects.
>> 
>> Verified that both relative paths and absolute path work fine after this change.
>
> build.gradle line 729:
> 
>> 727:     }
>> 728:     String testSdkPath = "${TEST_SDK_PATH}"
>> 729:     if (testSdkPath.startsWith("~")) {
> 
> This isn't related to handling relative paths at all. Rather it is related to how bash works. The `~` character is handled by the shell and it is a known limitation that you can't use it in the middle of a string.

Thanks Kevin, I shall remove the part related to `~`

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1751#discussion_r2023838838


More information about the openjfx-dev mailing list