• Stars
    star
    358
  • Rank 115,070 (Top 3 %)
  • Language
    Perl
  • License
    GNU Lesser Genera...
  • Created about 12 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A tool for checking backward API/ABI compatibility of a Java library

JAPICC 2.4

Java API Compliance Checker (JAPICC) — a tool for checking backward binary and source-level compatibility of a Java library API.

Contents

  1. About
  2. Install
  3. Usage
  4. Test suite

About

The tool checks classes declarations of old and new versions and analyzes changes that may break compatibility: removed methods, removed class fields, added abstract methods, etc. The tool is intended for developers of software libraries and Linux maintainers who are interested in ensuring backward compatibility.

The Scala language is supported since 1.7 version of the tool.

Java 9 is supported since 2.4 version of the tool.

The tool is a core of the Java API Tracker project: https://abi-laboratory.pro/java/tracker/

Install

sudo make install prefix=/usr
Requires
  • JDK or OpenJDK - development files
  • Perl 5

Usage

japi-compliance-checker OLD.jar NEW.jar
Java 9
japi-compliance-checker OLD.jmod NEW.jmod
Create API dumps
japi-compliance-checker -dump LIB.jar -dump-path ./API.dump
japi-compliance-checker API-0.dump API-1.dump
Adv. usage

For advanced usage, see doc/index.html or output of -help option.

Test suite

The tool is tested properly in the Java API Tracker project, by the community and by the internal test suite:

japi-compliance-checker -test

There are about 100 basic tests in the test suite.

More Repositories

1

abi-compliance-checker

A tool for checking backward API/ABI compatibility of a C/C++ library
Perl
594
star
2

pkgdiff

A tool for visualizing changes in Linux software packages
Perl
200
star
3

abi-tracker

A tool to visualize ABI changes timeline of a C/C++ software library
Perl
186
star
4

abi-dumper

Dump ABI of an ELF object containing DWARF debug info
Perl
167
star
5

vtable-dumper

A tool to list content of virtual tables in a shared library
C
110
star
6

api-sanity-checker

An automatic generator of basic unit tests for a C/C++ library
Perl
85
star
7

japi-tracker

A tool to visualize API changes timeline of a Java library
Perl
52
star
8

abi-monitor

A tool to monitor and build new versions of a software library
Perl
27
star
9

pkg-abidiff

Verify backward compatibility of Linux packages (RPM or DEB)
Python
21
star
10

upstream-tracker

A project to monitor and verify compatibility of upstream ABI changes in C/C++ libraries
Shell
15
star
11

abi-reports

JSON-format reports of the ABI Tracker project
Python
11
star
12

installer

Install/remove tools and their dependencies
Perl
9
star
13

kernel-abi-tracker

A tool to monitor and analyze ABI changes in new versions of the Linux kernel
Shell
8
star
14

japi-monitor

A tool to monitor new versions of a Java library
Perl
8
star
15

distdiff

A tool for visualizing changes in Linux distributions
Perl
7
star
16

upstream-tracker-4j

A project to monitor and verify compatibility of upstream API changes in Java libraries
Perl
7
star
17

installer-4j

Install/remove Java tools and their dependencies
Perl
4
star
18

api-reports-4j

JSON-format reports of the Java API Tracker project
4
star
19

articles

Related articles
1
star