Allows to parse Java byte code to find invocations of method/class/field signatures and fail build (Apache Ant, Apache Maven, Gradle, or CLI)
Full name: de.thetaphi:forbiddenapis:2.5
The JAR file can be called as command line tool using java -jar
. This is the documentation of the CLI executable as printed by itsself:
$ java -jar forbiddenapis-2.5.jar --help usage: java -jar forbiddenapis-2.5.jar [options] Scans a set of class files for forbidden API usage. --allowmissingclasses don't fail if a referenced class is missing on classpath --allowunresolvablesignatures don't fail if a signature is not resolving -b,--bundledsignatures <name> name of a bundled signatures definition (separated by commas or option can be given multiple times) -c,--classpath <path> class search path of directories and zip/jar files -d,--dir <directory> directory with class files to check for forbidden api usage; this directory is also added to classpath -e,--excludes <pattern> ANT-style pattern to exclude some files from checks (separated by commas or option can be given multiple times) -f,--signaturesfile <file> path to a file containing signatures (option can be given multiple times) -h,--help print this help -i,--includes <pattern> ANT-style pattern to select class files (separated by commas or option can be given multiple times, defaults to '**/*.class') --internalruntimeforbidden DEPRECATED: forbids calls to non-portable runtime APIs; use bundled signatures 'jdk-non-portable' instead --suppressannotation <classname> class name or glob pattern of annotation that suppresses error reporting in classes/methods/fields (separated by commas or option can be given multiple times) -V,--version print product version and exit Exit codes: 0 = SUCCESS, 1 = forbidden API detected, 2 = invalid command line, 3 = unsupported JDK version, 4 = other error (I/O,...)