【问题标题】:Gradle - How to detect --debug flag from command line?Gradle - 如何从命令行检测 --debug 标志?
【发布时间】:2017-04-11 23:02:30
【问题描述】:

我有一个正在执行命令的任务。我需要根据我是 ./gradlew --debug myTask 还是 ./gradlew myTask 来更改传递给命令的参数。

我认为它会像这样做一样简单:project.logger.isEnabled(LogLevel.DEBUG),但即使将--debug 传递给 Gradle,它也会返回 false。

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

看来你们俩都是对的。我做了一个无效的假设,即主 Gradle 进程会将其调试标志信息传递给工具 API,结果证明这是不正确的。问题是我需要向工具 API 进程传递一个额外的 --debug 标志。

【问题讨论】:

    标签: gradle


    【解决方案1】:

    你可以使用

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

    @见StartParameter.getLogLevel()

    【讨论】:

    • 为什么不简单地logLevel == LogLevel.DEBUG
    • 因为你需要导入类,或者完全限定类名
    【解决方案2】:

    以下build.gradle 工作正常:

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

    尝试只运行gradlegradle -dgradle --debug

    【讨论】:

    • 我会试一试。我正在尝试一堆不同的东西。有和没有项目等。不确定它是否有区别,但我不是从 build.gradle 执行此操作,而是在扩展 DefaultTask 的任务中执行此操作。
    • @kurzweil4 这可能会有所作为 - 我的意思是脚本评估可能会在这里发挥作用。
    • 你说的都是对的,但兰斯的回答更具体。感谢您的回复!
    猜你喜欢
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多