パッケージの依存関係/非依存関係をアサートするための Java 用のコード分析ツールはありますか?
私は、相互に認識すべきではないパッケージ間に依存関係が忍び込んでいるプロジェクトを持っています。
どのパッケージのペアを (どの方向で) 依存させることができるかを指定したいと思います。または、相互に依存することを許可されていない、または両方の方法で依存できないパッケージを指定すると役立ちます。理想的には、これは Ant ビルドおよび/または JUnit 実行の一部として実行でき、ルールに違反する新しい依存関係が導入された場合にビルドに失敗する可能性があるものです。次に、これを CI プロセスに追加します。
また、パッケージのグループのレベルで依存関係を指定できると便利です (たとえば、「web」内のすべてのパッケージとサブパッケージは、「api」またはそのサブパッケージ内の任意のパッケージに依存できます)。
私の特定のプロジェクトに関連する場合の詳細:
- Java のバージョンは 1.7 です
- ビルド プロセスは Ant に基づいています (必要に応じて最新バージョンにアップグレードできます)。
- テストは JUnit で行われます (必要に応じて最新バージョンにアップグレードできます)