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:3.3
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-3.3.jar --help
usage: java -jar forbiddenapis-3.3.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 DEPRECATED: 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')
--ignoresignaturesofmissingclasses if a class is missing while
parsing signatures files, all
methods and fields from this
class are silently ignored
--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,...)