Skip to content

Commit

Permalink
8285497: Add system property for Java SE specification maintenance ve…
Browse files Browse the repository at this point in the history
…rsion

Reviewed-by: mullan, jpai, iris
  • Loading branch information
jddarcy committed May 5, 2022
1 parent 6d7e446 commit 59ef76a
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 1 deletion.
13 changes: 13 additions & 0 deletions src/java.base/share/classes/java/lang/System.java
Original file line number Diff line number Diff line change
Expand Up @@ -732,6 +732,9 @@ public static native void arraycopy(Object src, int srcPos,
* <td>Java Runtime Environment specification version, whose value is
* the {@linkplain Runtime.Version#feature feature} element of the
* {@linkplain Runtime#version() runtime version}</td></tr>
* <tr><th scope="row">{@systemProperty java.specification.maintenance.version}</th>
* <td>Java Runtime Environment specification maintenance version,
* may be interpreted as a positive integer <em>(optional, see below)</em></td></tr>
* <tr><th scope="row">{@systemProperty java.specification.vendor}</th>
* <td>Java Runtime Environment specification vendor</td></tr>
* <tr><th scope="row">{@systemProperty java.specification.name}</th>
Expand Down Expand Up @@ -779,6 +782,16 @@ public static native void arraycopy(Object src, int srcPos,
* </tbody>
* </table>
* <p>
* The {@code java.specification.maintenance.version} property is
* defined if the specification implemented by this runtime at the
* time of its construction had undergone a <a
* href="https://jcp.org/en/procedures/jcp2#3.6.4">maintenance
* release</a>. When defined, its value identifies that
* maintenance release. To indicate the first maintenance release
* this property will have the value {@code "1"}, to indicate the
* second maintenance release this property will have the value
* {@code "2"}, and so on.
* <p>
* Multiple paths in a system property value are separated by the path
* separator character of the platform.
* <p>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1999, 2022, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -109,6 +109,10 @@ class VersionProps {
props.put("java.class.version", CLASSFILE_MAJOR_MINOR);

props.put("java.specification.version", VERSION_SPECIFICATION);

// Uncomment next props.put call after the first maintenance release for a
// platform specification is done and set the MR number, starting at "1".
// props.put("java.specification.maintenance.version", "1");
props.put("java.specification.name", "Java Platform API Specification");
props.put("java.specification.vendor", "Oracle Corporation");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -614,6 +614,9 @@ public Void run() {
pe.add(new PropertyPermission
("java.specification.version",
SecurityConstants.PROPERTY_READ_ACTION));
pe.add(new PropertyPermission
("java.specification.maintenance.version",
SecurityConstants.PROPERTY_READ_ACTION));
pe.add(new PropertyPermission
("java.specification.vendor",
SecurityConstants.PROPERTY_READ_ACTION));
Expand Down
2 changes: 2 additions & 0 deletions src/java.base/share/conf/security/java.policy
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ grant {
permission java.util.PropertyPermission "line.separator", "read";
permission java.util.PropertyPermission
"java.specification.version", "read";
permission java.util.PropertyPermission
"java.specification.maintenance.version", "read";
permission java.util.PropertyPermission "java.specification.vendor", "read";
permission java.util.PropertyPermission "java.specification.name", "read";
permission java.util.PropertyPermission
Expand Down

1 comment on commit 59ef76a

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

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

Please sign in to comment.