6

Atlassian Stashプル リクエストで変更されたファイルをチェックするユーティリティを作成しています。目標は、各 Java ファイルを Checkstyle (または Findbugs、または PMD) で実行し、問題のある各行にプラグイン コメントを追加することです。

これを実現するには、プラグインは、Checkstyle (または他のコード スタイル強制ユーティリティ) を介して、要求内の変更された各 Java ファイルの内容を実行する必要があります。Atlassian Stash API を使用すると、変更されたファイルの内容を簡単に取得できますが、プログラムで Checkstyle を介してこれらの内容を実行することはできないようです。これを行う唯一の方法は、一時ファイルをディスクに保存して Checkstyle を実行することです。コマンドを呼び出してそれに対して jar しRuntime.getRuntime().exec(...)ます。

Java API を使用してプログラムで実行できる単純化された Checkstyle のようなユーティリティはありますか?

基本的に、次のようなことができるものが必要です。

String contentsOfJavaFile = ; //stuff
List<Problem> problems = CheckstyleOrSomethingElse.analyze(contentsOfJavaFile);

for(Problem p : problems) {
    // p.getLine();
    // p.getDescription();
    // add comment to Stash
}
4

2 に答える 2