Revapi Text Reporter

Super simple Revapi reporter outputting a textual representation of the differences to a file or on standard output.

Лицензия

Лицензия

Категории

Категории

Reporting Прикладные библиотеки
Группа

Группа

org.revapi
Идентификатор

Идентификатор

revapi-reporting-text
Последняя версия

Последняя версия

0.4.1
Дата

Дата

Тип

Тип

jar
Описание

Описание

Revapi Text Reporter
Super simple Revapi reporter outputting a textual representation of the differences to a file or on standard output.
Организация-разработчик

Организация-разработчик

Lukas Krejci
Система контроля версий

Система контроля версий

https://github.com/revapi/revapi

Скачать revapi-reporting-text

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.revapi/revapi-reporting-text/ -->
<dependency>
    <groupId>org.revapi</groupId>
    <artifactId>revapi-reporting-text</artifactId>
    <version>0.4.1</version>
</dependency>
// https://jarcasting.com/artifacts/org.revapi/revapi-reporting-text/
implementation 'org.revapi:revapi-reporting-text:0.4.1'
// https://jarcasting.com/artifacts/org.revapi/revapi-reporting-text/
implementation ("org.revapi:revapi-reporting-text:0.4.1")
'org.revapi:revapi-reporting-text:jar:0.4.1'
<dependency org="org.revapi" name="revapi-reporting-text" rev="0.4.1">
  <artifact name="revapi-reporting-text" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.revapi', module='revapi-reporting-text', version='0.4.1')
)
libraryDependencies += "org.revapi" % "revapi-reporting-text" % "0.4.1"
[org.revapi/revapi-reporting-text "0.4.1"]

Зависимости

compile (1)

Идентификатор библиотеки Тип Версия
org.revapi : revapi jar

provided (2)

Идентификатор библиотеки Тип Версия
org.revapi : revapi-site-shared zip
com.google.code.findbugs : annotations jar

test (1)

Идентификатор библиотеки Тип Версия
junit : junit jar

Модули Проекта

Данный проект не имеет модулей.

Revapi

Build Status Code Coverage Gitter Chat

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.

Summary

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:

  • large number of API checks

    • categorized by their influence on source, binary and "semantical" compatibility

  • support for computing the API "surface" by tracking usages of types across the checked library and also its dependencies (ability to report type "leakage" from deps)

  • support for Java8 constructs (default methods in particular)

  • powerful filtering stuff to check and reclassification of found problems

  • ability to filter by annotation presence

  • Maven plugin automatically includes depenendcies in the check

Other features:

  • ability to judge the severity of changes based on semver rules (see here)

  • automatic updates of pom.xml or release.properties versions according to semver rules (see here)

  • pluggable reporting (standard output, maven site generation, JUnit report generator (TBD))

Building

This is a maven project, so to build you simply:

mvn install

Usage

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.

Standalone

Download the standalone distribution zip and

unzip revapi-XXX-standalone.zip
cd revapi-XXX-standalone
./revapi.sh

Read the usage info and go.

Maven

<build>
    <plugins>
        <plugin>
            <groupId>org.revapi</groupId>
            <artifactId>revapi-maven-plugin</artifactId>
            <version>...</version>
            <dependencies>
                <dependency>
                    <groupId>org.revapi</groupId>
                    <artifactId>revapi-java</artifactId>
                    <version>...</version>
                </dependency>
                <dependency>
                    <groupId>com.acme</groupId>
                    <artifactId>my-extension</artifactId>
                    <version>...</version>
                </dependency>
                ...
            </dependencies>
            <configuration>
                ...
            </configuration>
            <executions>
                <execution>
                    <id>api-check</id>
                    <goals><goal>check</goal></goals>
                    ...
                </execution>
                ...
            </executions>
        </plugin>
        ...
    </plugins>
    ...
</build>

Gradle

There is an external Gradle plugin available for Revapi, https://github.com/palantir/gradle-revapi.

Embedding

Revapi revapi = Revapi.builder().withAllExtensionsFromThreadContextClassLoader().build();

AnalysisContext analysisContext = AnalysisContext.builder()
    .withOldAPI(API.of(...))
    .withNewAPI(API.of(...))
    .withConfigurationFromJSON("json").build();

revapi.analyze(analysisContext);

Extending Revapi

See the site for more info.

org.revapi

Revapi

Revapi - API evolution checker for the masses

Версии библиотеки

Версия
0.4.1
0.4.0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.2
0.2.1
0.2.0
0.1.0