
forbiddenapis-3.8.src.test.antunit.TestInternalRuntimeCalls.xml Maven / Gradle / Ivy
Go to download
Allows to parse Java byte code to find invocations of method/class/field signatures and fail build (Apache Ant, Apache Maven, Gradle, or CLI)
The newest version!
<?xml version="1.0" encoding="UTF-8"?> <!-- * (C) Copyright Uwe Schindler (Generics Policeman) and others. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. --> <project xmlns:au="antlib:org.apache.ant.antunit"> <condition property="has.sunmisc"> <available classname="sun.misc.BASE64Encoder"/> </condition> <target name="testNonPortableSignatures" if="has.sunmisc"> <au:expectfailure expectedMessage="Check for forbidden API calls failed, see log"> <forbiddenapis failOnMissingClasses="false" targetVersion="${jdk.version}"> <file file="OracleInternalRuntime.class"/> <bundledsignatures name="jdk-non-portable"/> </forbiddenapis> </au:expectfailure> <au:assertLogContains level="error" text="sun.misc.BASE64Encoder [non-portable or internal runtime class]"/> <au:assertLogContains level="error" text=" 2 error(s)"/> </target> <!-- this should work also with non-Oracle runtimes, as no heuristics: --> <target name="testInternalSignatures"> <au:expectfailure expectedMessage="Check for forbidden API calls failed, see log"> <forbiddenapis failOnMissingClasses="false" targetVersion="${jdk.version}"> <file file="OracleInternalRuntime.class"/> <bundledsignatures name="jdk-internal"/> </forbiddenapis> </au:expectfailure> <au:assertLogContains level="error" text="sun.misc.BASE64Encoder [non-public internal runtime class in Java ${jdk.version}]"/> <au:assertLogContains level="error" text=" 2 error(s)"/> </target> </project>
© 2015 - 2025 Weber Informatics LLC | Privacy Policy