Skip to content

Commit

Permalink
Feature/cli (#2)
Browse files Browse the repository at this point in the history
* Documentation

* Documentation
  • Loading branch information
avantgardnerio authored Nov 4, 2018
1 parent 517be59 commit fc42f0f
Showing 1 changed file with 18 additions and 0 deletions.
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,21 @@ broken apis:
```

Then pick a version from the list!

## How it works

1. It uses [ShrinkWrap Resolver](http://arquillian.org/modules/resolver-shrinkwrap/) to build a dependency graph of your project.
1. It scans through the classes in each jar and uses [ASM4](https://asm.ow2.io/) to find function invocations.
1. It builds a map of all cross-module function calls.
1. It assumes any function called from an external module is a public API.
1. It compares all the versions of each module to see which methods are not present in all versions.
1. It filters these by a given search term.
1. Finally, it prints a report to help you figure out which version to use when a dependency conflict arrises.

## Roadmap

1. Count all the broken calls, and recommend the version of each library most likely to not have missing method exceptions at run time.
1. Produce a report to name-and-shame [semver](https://semver.org/) violations.
1. Convert this project into a [Gradle ResolutionStrategy](https://docs.gradle.org/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html) so it Just Works.


0 comments on commit fc42f0f

Please sign in to comment.