2017-04-11 5 views
2

私はコマンドを実行しているタスクがあります。そして、私は./gradlew --debug myTask./gradlew myTaskを実行するかどうかによって、どのパラメータがコマンドに渡されるかを変更する必要があります。Gradle - コマンドラインから--debugフラグを検出する方法?

project.logger.isEnabled(LogLevel.DEBUG)と同じくらい簡単だと思っていましたが、--debugがGradleに渡されてもfalseが返されます。

- = - = - = - = - = - = - = - = - = -

あなたが両方とも正しいと思われます。私は、メインのGradleプロセスがデバッグフラグ情報をツールAPIに渡すという誤った仮定をしていましたが、これは誤っていることが判明しました。問題は、追加の--debugフラグをツールAPI処理に渡す必要があることでした。

答えて

3

あなたは

if (project.gradle.startParameter.logLevel.name() == 'DEBUG')

@see StartParameter.getLogLevel()

を使用することができますを実行してみてください
3

うまく次build.gradle作品:

println "LOL ${logger.isDebugEnabled()}" 

がちょうどgradlegradle -dまたはgradle --debug

+0

私はそれを撃つでしょう。私はいろいろなものを試していました。プロジェクトの有無にかかわらず、違いがあるかどうかはわかりませんが、私はbuild.gradleではなく、DefaultTaskを拡張するタスクでこれをやっています。 – kurzweil4

+0

@ kurzweil4それはおそらく違いがあります - 私はスクリプトの評価がここで役割を果たすかもしれないことを意味します。 – Opal

+1

あなたはどちらも正しいですが、ランスの答えはより具体的です。レスポンスありがとう! – kurzweil4

関連する問題