Skip to content

Commit 54b5143

Browse files
authored
Update advanced-usage.md
Add example step/file for `.sdkmanrc`
1 parent dd4a6bd commit 54b5143

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

docs/advanced-usage.md

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -602,16 +602,26 @@ steps:
602602
If the `java-version-file` input is specified, the action will extract the version from the file and install it.
603603

604604
Supported files are `.java-version`, `.tool-versions` and `.sdkmanrc`.
605-
In `.java-version` file, only the version should be specified (e.g., 17.0.7).
606-
In `.tool-versions` file, java version should be preceded by the java keyword (e.g., java 17.0.7).
607-
In `.sdkmanrc` file, java version should be preceded by the `java=` prefix (e.g., java=17.0.7-tem) and include the distribution.
608-
The `.java-version` file recognizes all variants of the version description according to [jenv](https://github.com/jenv/jenv).
609-
Similarly, the `.tool-versions` file supports version specifications in accordance with [asdf](https://github.com/asdf-vm/asdf)
610-
standards, adhering to Semantic Versioning ([semver](https://semver.org/)).
611-
The `.sdkmanrc` file supports version specifications in accordance with [file format](https://sdkman.io/usage#env-command),
612-
see [Sdkman! documentation](https://sdkman.io/jdks) for more information.
613-
614-
If both java-version and java-version-file inputs are provided, the java-version input will be used.
605+
* In `.java-version` file, only the version should be specified (e.g., 17.0.7). The `.java-version` file recognizes all variants of the version description according to [jenv](https://github.com/jenv/jenv).
606+
* In `.tool-versions` file, java version should be preceded by the java keyword (e.g., java 17.0.7). The `.tool-versions` file supports version specifications in accordance with [asdf](https://github.com/asdf-vm/asdf) standards, adhering to Semantic Versioning ([semver](https://semver.org/)).
607+
* (NEW) In `.sdkmanrc` file, java version should be preceded by the `java=` prefix (e.g., java=17.0.7-tem) and include the distribution. The `.sdkmanrc` file supports version specifications in accordance with [file format](https://sdkman.io/usage#env-command), see [Sdkman! documentation](https://sdkman.io/jdks) for more information.
608+
609+
610+
If both `java-version` and `java-version-file` **inputs** are provided, the `java-version` input will be used.
611+
612+
**Example step using `Sdkman!`**:
613+
```yml
614+
- name: Setup java
615+
uses: actions/setup-java@v5
616+
with:
617+
java-version-file: '.sdkmanrc'
618+
distribution: 'temurin'
619+
```
620+
621+
**Example `.sdkmanrc`**:
622+
```
623+
java=17.0.7-tem
624+
```
615625
616626
Valid entry options (does not apply to `.sdkmanrc`):
617627
```
@@ -624,4 +634,4 @@ LTS versions : temurin-21.0.5+11.0.LTS
624634
If the file contains multiple versions, only the first one will be recognized.
625635
626636
***NOTE***:
627-
For the tool-version file, ensure that you use standard semantic versioning (semver) formats, as non-standard formats (such as jetbrains-21b212.1) may not be parsed correctly. Additionally, for complex version strings containing multiple version-like segments (for example, java semeru-openj9-11.0.15+10_openj9-0.32.0), the extraction logic may incorrectly capture the last segment (0.32.0) instead of the main version (11.0.15+10).
637+
For the tool-version file, ensure that you use standard semantic versioning (semver) formats, as non-standard formats (such as jetbrains-21b212.1) may not be parsed correctly. Additionally, for complex version strings containing multiple version-like segments (for example, java semeru-openj9-11.0.15+10_openj9-0.32.0), the extraction logic may incorrectly capture the last segment (0.32.0) instead of the main version (11.0.15+10).

0 commit comments

Comments
 (0)