3

Gradle の CodeNarc で HTML とコンソール レポートの両方を生成したいと考えています。

私のbuild.gradle

apply plugin: 'codenarc'
...
codenarc {
    toolVersion = '0.24.1'
    configFile = file('config/codenarc/codenarc.groovy')
    reportFormat = 'html'
}

これは問題なく動作しますが、現在は HTML へのリンクしか表示されていないため、コンソールにもレポートを表示したいと考えています。複数のレポート タイプをリクエストするにはどうすればよいですか?

4

2 に答える 2

3

2 番目のタスクを実行して別のレポートを生成する代わりに、次の変更を加えて別のレポート形式を追加できます。次に、ファイルの 1 つを取得して、コンソールに書き込みます。(HTML または XML レポートを取得してコンソールに書き込むこともできますが、書式を設定しないと読みにくい場合があります。)

注:reportsクロージャーにより、さまざまな形式のレポートが取得されます。はdoLast、これらのレポートの 1 つの出力をコンソールに出力します。コンソール出力が必要ない場合は、doLastクロージャーを削除できます。

タスクを次のように変更することをお勧めします。

task codenarcConsoleReport {
    doLast {
        println file("${codenarc.reportsDir}/main.txt").text
    }
}
codenarcMain {
    finalizedBy codenarcConsoleReport
    reports {
        text.enabled = true
        html.enabled = true
        xml {
            enabled =  true
            destination = file("${codenarc.reportsDir}/customFileName.xml")
        }
    }
}

注: これにより、タスクが 2 回実行されることはありません。

于 2016-04-27T20:06:02.647 に答える
0

私が考えることができる最善の方法は、別のタスクを作成することです:

task codeNarcConsole(type: CodeNarc) {
  // other config
  reportFormat = 'console'
}

check.dependsOn('codeNarcConsole')

理想的ではありませんが、実行可能です。これについてGradle Bugsに投稿して改善することもできます。

于 2016-04-25T23:47:40.053 に答える