File tree 3 files changed +31
-4
lines changed
3 files changed +31
-4
lines changed Original file line number Diff line number Diff line change 1
1
.idea /
2
2
classes /
3
+
4
+ * .iml
Original file line number Diff line number Diff line change @@ -19,9 +19,14 @@ inputs:
19
19
required : true
20
20
default : ' latest'
21
21
install :
22
- description : ' Install the downloaded JDK archive file by running actions/setup-java, default to `true`'
22
+ description : ' Install the downloaded JDK archive file by running actions/setup-java, defaults to `true`'
23
23
required : true
24
24
default : ' true'
25
+ install-as-version :
26
+ description :
27
+ Controls which value is passed as `java-version` to actions/setup-java, defaults to `PARSE_URI`
28
+ if `release` starts with a digit, else it defaults to `HASH_URI`
29
+ required : false
25
30
uri :
26
31
description : ' URI of JDK archive file to download'
27
32
required : false
44
49
JAVA=$JAVA_HOME_17_X64/bin/java
45
50
DOWNLOAD=$GITHUB_ACTION_PATH/src/Download.java
46
51
if [ ! -z "${{ inputs.uri }}" ]; then
47
- $JAVA $DOWNLOAD ${{ inputs.uri }}
52
+ $JAVA \
53
+ -Dinstall-as-version="${{ inputs.install-as-version }}" \
54
+ $DOWNLOAD \
55
+ ${{ inputs.uri }}
48
56
else
49
- $JAVA $DOWNLOAD ${{ inputs.website }} ${{ inputs.release }} ${{ inputs.version }}
57
+ $JAVA \
58
+ -Dinstall-as-version="${{ inputs.install-as-version }}" \
59
+ $DOWNLOAD \
60
+ ${{ inputs.website }} \
61
+ ${{ inputs.release }} \
62
+ ${{ inputs.version }}
50
63
fi
51
64
- name : ' Install Java Development Kit'
52
65
if : ${{ inputs.install == 'true' }}
Original file line number Diff line number Diff line change @@ -98,7 +98,8 @@ static void main(boolean dryRun, String... args) {
98
98
99
99
// Set outputs
100
100
outputs .put ("archive" , archive .toString ());
101
- outputs .put ("version" , website .parseVersion (uri ).orElse ("UNKNOWN-VERSION" ));
101
+ var digit = Character .isDigit (jdk .version ().charAt (0 ));
102
+ outputs .put ("version" , website .computeVersionString (uri , digit ? "PARSE_URI" : "HASH_URI" ));
102
103
} catch (Exception exception ) {
103
104
exception .printStackTrace (System .err );
104
105
GitHub .error ("Error detected: " + exception );
@@ -289,6 +290,17 @@ default Path computeArchivePath(String uri) {
289
290
return cache .resolve (file );
290
291
}
291
292
293
+ default String computeVersionString (String uri , String defaultVersion ) {
294
+ var property = System .getProperty ("install-as-version" );
295
+ GitHub .debug ("install-as-version: " + property );
296
+ var version = property == null || property .isBlank () ? defaultVersion : property ;
297
+ return switch (version ) {
298
+ case "PARSE_URI" -> parseVersion (uri ).orElse ("UNKNOWN-VERSION" );
299
+ case "HASH_URI" -> Integer .toString (uri .hashCode ());
300
+ default -> version ;
301
+ };
302
+ }
303
+
292
304
/** Try to parse version information from the given uri. */
293
305
default Optional <String > parseVersion (String uri ) {
294
306
for (var versionPattern : parseVersionPatterns ()) {
You can’t perform that action at this time.
0 commit comments