= Revapi :toc:
image:https://travis-ci.org/revapi/revapi.svg?branch=master[Build Status,link=https://travis-ci.org/revapi/revapi] image:http://codecov.io/github/revapi/revapi/coverage.svg?branch=master[Code Coverage,link=https://codecov.io/github/revapi/revapi?branch=master] image:https://img.shields.io/gitter/room/nwjs/nw.js.svg[Gitter Chat,link=https://gitter.im/revapi/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link]
http://revapi.org[Revapi] is a tool for API analysis and change tracking.
INFO: Revapi requires Java8 update 40 (1.8.0_40) or later to run. Older versions may produce wrong results.
While Revapi is designed to be extensible and in theory should support API checks in other languages than Java (not just programming languages but anything that can be decomposed to a tree structure) the only extension in existence today is the Java API checker.
The main distinguishing features of the Java API checker include:
This is a maven project, so to build you simply:
Revapi can be invoked in a couple of ways. It can be used as a standalone program, as a maven plugin or it can also be embedded in your application and used as a library.
http://revapi.org/downloads.html[Download] the standalone distribution zip and
unzip revapi-XXX-standalone.zip cd revapi-XXX-standalone ./revapi.sh
Read the usage info and go.
There is an external Gradle plugin available for Revapi, https://github.com/palantir/gradle-revapi.
Revapi revapi = Revapi.builder().withAllExtensionsFromThreadContextClassLoader().build();
AnalysisContext analysisContext = AnalysisContext.builder() .withOldAPI(API.of(...)) .withNewAPI(API.of(...)) .withConfigurationFromJSON("json").build();
== Extending Revapi
See the http://revapi.org/architecture.html[site] for more info.
== Getting in touch
Twitter:: https://twitter.com/revapi_org[@revapi_org] IRC:: #revapi @ freenode Mailing list:: https://groups.google.com/forum/#!forum/revapi, [email protected] Issues:: https://github.com/revapi/revapi/issues Code:: https://github.com/revapi/