Skip to content

Commit

Permalink
README update
Browse files Browse the repository at this point in the history
  • Loading branch information
gunnarmorling committed Jan 2, 2019
1 parent 2e1633a commit c6a552f
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@
amongst a project's packages against a description of allowed package dependences
and fail the project compilation when detecting any unintentional dependencies.

* [Requirements](#requirements)
* [Usage](#usage)
* [Obtaining Deptective via Jitpack](#obtaining-deptective-via-jitpack)
* [Configuration Options](#configuration-options)
* [Contributing and Development](#contributing-and-development)
* [IDE Set-Up](#ide-set-up)
* [Related Work](#related-work)
* [License](#license)

## Requirements
Expand Down Expand Up @@ -141,6 +143,17 @@ Before working on larger changes, it's recommended to get in touch first to make
4. After importing the project, make sure that Java 11 is on the build path of the _javac-plugin_ module
(right-click on that module, then "Properties" -> "Java Build Path" -> "Libraries").

## Related Work

🕵 Different projects exist that analyze Java package dependencies, validate and/or produce metrics on them.
I'm not aware of any tool though that provides instantaneous feedback about any unwanted dependencies right during compilation.
Some related tools are:

* [ArchUnit](https://www.archunit.org/) aims at enforcing architectures described in a Java DSL.
In contrast to Deptective it is not executed during compilation but via (JUnit) tests.
* [JDepend](https://github.com/clarkware/jdepend) analyzes Java packages and produces metrics on them.
* The Eclipse Java compiler allows to put access restrictions in place but they can only be used to limit access to types/packages in other JARs on the classpath, not to packages of the current compilation unit itself

## License

🕵 Deptective is licensed under the Apache License version 2.0.

0 comments on commit c6a552f

Please sign in to comment.