Files
japicmp/japicmp.pod

180 lines
5.3 KiB
Plaintext

=encoding utf8
=head1 NAME
japicmp - a tool to compare two versions of a jar archive
=head1 SYNOPSIS
japicmp [B<-a> I<accessModifier>] [(B<-b> | B<--only-incompatible>)]
[(B<-e> I<excludes> | B<--exclude> I<excludes>)] [B<--exclude-exclusively>]
[(B<-h> | B<--help>)] [B<--html-file> I<pathToHtmlOutputFile>]
[B<--html-stylesheet> I<pathToHtmlStylesheet>]
[(B<-i> I<includes> | B<--include> I<includes>)] [B<--ignore-missing-classes>]
[B<--ignore-missing-classes-by-regex> I<ignoreMissingClassesByRegEx>…]
[B<--include-exclusively>] [B<--include-synthetic>] [(B<-m> | B<--only-modified>)]
[(B<-n> I<pathToNewVersionJar> | B<--new> I<pathToNewVersionJar>)]
[B<--new-classpath> I<newClassPath>] [B<--no-annotations>]
[(B<-o> I<pathToOldVersionJar> | B<--old> I<pathToOldVersionJar>)]
[B<--old-classpath> I<oldClassPath>] [B<--report-only-filename>]
[(B<-s> | B<--semantic-versioning>)]
[(B<-x> I<pathToXmlOutputFile> | B<--xml-file> I<pathToXmlOutputFile>)]
[B<--error-on-binary-incompatibility>]
[B<--error-on-source-incompatibility>]
[B<--error-on-modifications>]
[B<--no-error-on-exclusion-incompatibility>]
[B<--error-on-semantic-incompatibility>]
[B<--ignore-missing-old-version>] [B<--ignore-missing-new-version>]
=head1 DESCRIPTION
B<japicmp> is a tool to compare two versions of a jar archive.
=head1 OPTIONS
=over
=item B<-a> I<accessModifier>
Sets the access modifier level (public, package, protected, private), which
should be used.
=item B<-b>, B<--only-incompatible>
Outputs only classes/methods that are binary incompatible. If not given, all
classes and methods are printed.
=item B<-e> I<excludes>, B<--exclude> I<excludes>
Semicolon separated list of elements to exclude in the form
package.Class#classMember, C<*> can be used as wildcard. Annotations are given
as FQN starting with C<@>. Examples:
C<mypackage;my.Class;other.Class#method(int,long);foo.Class#field;@my.Annotation>.
=item B<--exclude-exclusively>
Exclude only packages specified in the “exclude” option, include their
sub-packages.
=item B<-h>, B<--help>
Display help information.
=item B<--html-file> I<pathToHtmlOutputFile>
Provides the path to the html output file.
=item B<--html-stylesheet> I<pathToHtmlStylesheet>
Provides the path to your own stylesheet.
=item B<-i> I<includes>, B<--include> I<includes>
Semicolon separated list of elements to include in the form
C<package.Class#classMember>, C<*> can be used as wildcard. Annotations are
given as FQN starting with C<@>. Examples:
C<mypackage;my.Class;other.Class#method(int,long);foo.Class#field;@my.Annotation>.
=item B<--ignore-missing-classes>
Ignores all superclasses/interfaces missing on the classpath.
=item B<--ignore-missing-classes-by-regex> I<ignoreMissingClassesByRegEx>
Ignores only those superclasses/interface missing on the classpath that are
selected by a regular expression.
=item B<--include-exclusively>
Include only packages specified in the “include” option, exclude their
sub-packages.
=item B<--include-synthetic>
Include synthetic classes and class members that are hidden per default.
=item B<-m>, B<--only-modified>
Outputs only modified classes/methods.
=item B<-n> I<pathToNewVersionJar>, B<--new> I<pathToNewVersionJar>
Provides the path to the new version(s) of the jar(s). Use C<;> to separate jar
files.
=item B<--new-classpath> I<newClassPath>
The classpath for the new version.
=item B<--no-annotations>
Do not evaluate annotations.
=item B<-o> I<pathToOldVersionJar>, B<--old> I<pathToOldVersionJar>
Provides the path to the old version(s) of the jar(s). Use C<;> to separate jar
files.
=item B<--old-classpath> I<oldClassPath>
The classpath for the old version.
=item B<--report-only-filename>
Reports just filenames (not full paths) in report description.
=item B<-s>, B<--semantic-versioning>
Tells you which part of the version to increment.
=item B<-x> I<pathToXmlOutputFile>, B<--xml-file> I<pathToXmlOutputFile>
Provides the path to the xml output file.
=item B<--error-on-binary-incompatibility>
Exit with an error if a binary incompatibility is detected.
=item B<--error-on-source-incompatibility>
Exit with an error if a source incompatibility is detected.
=item B<--error-on-modifications>
Exit with an error if any change between versions is detected.
=item B<--no-error-on-exclusion-incompatibility>
Ignore incompatible changes caused by an excluded class (e.g. excluded
interface removed from not excluded class) when deciding whether to exit with
an error.
=item B<--error-on-semantic-incompatibility>
Exit with an error if the binary compatibility changes are inconsistent with
Semantic Versioning. This expects versions of the form
I<Major>.I<Minor>.I<Patch> (e.g. C<1.2.3> or C<1.2.3-SNAPSHOT>). See
L<http://semver.org/spec/v2.0.0.html> for more information about Semantic
Versioning.
=item B<--ignore-missing-old-version>
When B<--error-on-semantic-incompatibility> is passed, ignore non-resolvable
artifacts for the old version.
=item B<--ignore-missing-new-version>
When B<--error-on-semantic-incompatibility> is passed, ignore non-resolvable
artifacts for the new version.
=back
=head1 LICENSE
japicmp is released under version 2.0 of the L<Apache
License|https://www.apache.org/licenses/LICENSE-2.0.txt>.
=head1 SEE ALSO
The website is located at L<https://siom79.github.io/japicmp>.