japi-tracker
japi-tracker copied to clipboard
A tool to visualize API changes timeline of a Java library
NAME: Java API Tracker - visualize API changes timeline of a Java library.
The tool requires input profile of the library in JSON format. It can be created manually or automatically generated by the Java API Monitor.
Sample report: https://abi-laboratory.pro/java/tracker/timeline/slf4j/
The tool is developed by Andrey Ponomarenko: https://abi-laboratory.pro/
INSTALL: sudo make install prefix=/usr
REQUIRES: Perl 5 Java API Compliance Checker (2.4 or newer) Java API Monitor (1.3 or newer) PkgDiff (1.6.4 or newer)
USAGE: japi-tracker [options] [profile]
The input profile can be generated by the API Monitor tool. All manual edits in the profile will be preserved after re-generating it by the API Monitor.
The home page of the output report is: timeline/LIB_NAME/index.html
EXAMPLES: japi-tracker -build slf4j.json
CRON JOB: japi-monitor -get -build-new [profile] japi-tracker -build [profile]
PROFILE FORMAT:
{ "Name": "SHORT LIBRARY NAME", "SourceUrl": "URL TO DOWNLOAD PACKAGES", "Maintainer": "MAINTAINER NAME",
"Versions": [ { "Number": "VERSION NUMBER", "Installed": "INSTALL TREE PATH", "Source": "SOURCE PACKAGE PATH", "Changelog": "CHANGELOG: On/Off", "PkgDiff": "PACKAGE DIFF: On/Off" },
...
{ ... }] }
PROFILE EXAMPLE:
{ "Name": "slf4j", "SourceUrl": "http://www.slf4j.org/dist/", "Maintainer": "Andrey P.",
"Versions": [ { "Number": "1.7.19", "Installed": "installed/slf4j/1.7.19", "Source": "src/slf4j/1.7.19/slf4j-1.7.19.zip", "Changelog": "Off", "PkgDiff": "Off" },
{ "Number": "1.7.18", "Installed": "installed/slf4j/1.7.18", "Source": "src/slf4j/1.7.18/slf4j-1.7.18.zip", "Changelog": "Off", "PkgDiff": "Off" },
...
{ "Number": "1.6.0", "Installed": "installed/slf4j/1.6.0", "Source": "src/slf4j/1.6.0/slf4j-1.6.0.zip", "Changelog": "Off", "PkgDiff": "Off" }] }
ADV. OPTIONS: If you want to allow users to connect the maintainer of the tracker then you can set "MaintainerUrl" option.
To skip checking of some archives in the install tree of a library please define "SkipArchives": ["A1", ..., "An"] option.
The name of the analysed library in the title can be changed by "Title" option.
ADV. OPTIONS OF A VERSION: To hide some version in the report you can define "Deleted" option.
ADV. USAGE: For advanced usage, see output of --help option.
Enjoy!