Skip to content

Commit

Permalink
Add support for Java 20 (#224)
Browse files Browse the repository at this point in the history
  • Loading branch information
uschindler authored Mar 27, 2023
1 parent 0267abf commit c8cc5d5
Show file tree
Hide file tree
Showing 7 changed files with 692 additions and 5 deletions.
2 changes: 2 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@
<equals arg1="${-cleaned.specification.version}" arg2="17"/>
<equals arg1="${-cleaned.specification.version}" arg2="18"/>
<equals arg1="${-cleaned.specification.version}" arg2="19"/>
<equals arg1="${-cleaned.specification.version}" arg2="20"/>
</or>
</condition>

Expand Down Expand Up @@ -165,6 +166,7 @@
<equals arg1="${build.java.runtime}" arg2="17"/>
<equals arg1="${build.java.runtime}" arg2="18"/>
<equals arg1="${build.java.runtime}" arg2="19"/>
<!-- Java 20 for testing is no longer supported as Java 7 support was removed as compile target -->
</or>
</condition>

Expand Down
2 changes: 1 addition & 1 deletion ivy.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
<!DOCTYPE ivy-module [
<!ENTITY maven.version "2.0">
<!ENTITY gradle.version "3.4">
<!ENTITY asm.version "9.4">
<!ENTITY asm.version "9.5">
<!ENTITY jarjar.asm.version "5.2">
]>
<ivy-module version="2.0">
Expand Down
6 changes: 3 additions & 3 deletions src/main/docs/bundled-signatures.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,14 @@ <h1>Bundled Signatures Documentation</h1>
<li><strong><tt>jdk-unsafe-*</tt>:</strong> Signatures
of &quot;unsafe&quot; methods that use default charset, default locale, or default timezone. For server applications it is very
stupid to call those methods, as the results will definitely not what the user wants
(for Java <tt>*</tt> = 1.7, 1.8, 9,..., 19; Ant / Maven / Gradle automatically add the compile Java version).</li>
(for Java <tt>*</tt> = 1.7, 1.8, 9,..., 20; Ant / Maven / Gradle automatically add the compile Java version).</li>

<li><strong><tt>jdk-deprecated-*</tt>:</strong> This disallows all deprecated
methods from the JDK (for Java <tt>*</tt> = 1.7, 1.8, 9,..., 19; Ant / Maven / Gradle automatically add the compile Java version).</li>
methods from the JDK (for Java <tt>*</tt> = 1.7, 1.8, 9,..., 20; Ant / Maven / Gradle automatically add the compile Java version).</li>

<li><strong><tt>jdk-internal-*</tt>:</strong> Lists all internal packages of the JDK as of <code>Security.getProperty(&quot;package.access&quot;)</code>.
Calling those methods will always trigger security manager and is completely forbidden from Java 9 on
(for Java <tt>*</tt> = 1.7, 1.8, 9,..., 19; Ant / Maven / Gradle automatically add the compile Java version, <em>since forbiddenapis v2.1</em>).</li>
(for Java <tt>*</tt> = 1.7, 1.8, 9,..., 20; Ant / Maven / Gradle automatically add the compile Java version, <em>since forbiddenapis v2.1</em>).</li>

<li><strong><tt>jdk-non-portable</tt>:</strong> Signatures of all non-portable (like <code>com.sun.management.HotSpotDiagnosticMXBean</code>)
or internal runtime APIs (like <code>sun.misc.Unsafe</code>). This is a superset of <tt>jdk-internal</tt>.<br>
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/de/thetaphi/forbiddenapis/AsmUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ private static byte[] readStream(final InputStream in) throws IOException {
@SuppressWarnings("unused")
public static ClassReader readAndPatchClass(InputStream in) throws IOException {
final byte[] bytecode = readStream(in);
if (false) patchClassMajorVersion(bytecode, Opcodes.V19 + 1, Opcodes.V19);
if (false) patchClassMajorVersion(bytecode, Opcodes.V21 + 1, Opcodes.V21);
return new ClassReader(bytecode);
}

Expand Down
Loading

0 comments on commit c8cc5d5

Please sign in to comment.