File japicmp.pod of Package japicmp

=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>.
openSUSE Build Service is sponsored by