Gradle - 将任务输出写入文件

Posted

技术标签:

【中文标题】Gradle - 将任务输出写入文件【英文标题】:Gradle - Write Task Output Into A File 【发布时间】:2022-01-21 12:53:06 【问题描述】:

我正在使用 Gradle 7.1,我正在尝试将一些任务结果写入文件。 具体来说,我想在每个jar 任务执行后将dependencies 任务的输出写入一个文件。 寻找一些解决方案,我知道首先我需要有 jar.finalizedBy(dependencies) 才能让它运行。 但是,我找不到如何将dependencies 的特定输出重定向到文件中。我发现的所有解决方案都讨论了Exec 任务,而dependencies 不是。 我正在寻找类似dependencies.doFirst(///REDIRECT HERE) 的东西。

【问题讨论】:

【参考方案1】:

您可以通过附加StandardOutputListener 使dependencies 任务写入文件:

tasks.named('dependencies').configure 
    it.logging.addStandardOutputListener(new StandardOutputListener() 
        @Override
        void onOutput(CharSequence charSequence) 
            project.file("$buildDir/dependencies_task_output.txt") << charSequence
        
    )

这也可以通过任何其他 Gradle 任务来完成。

【讨论】:

以上是关于Gradle - 将任务输出写入文件的主要内容,如果未能解决你的问题,请参考以下文章

Spark写入相同目录

胶水作业无法写入文件

将 CSV 写入标准输出或文件名

Gradle 查看包的依赖关系

C++ 如何将一个文件里的数据写入到另一个文件里?

如何将 WebSocket 输出写入文本文件?