Gradle构建结果

时间:2013-07-15 06:27:23

标签: java gradle

我正在使用Gradle构建我的软件。但是,我发现它的输出程序有点微不足道。我不想使用--debug或--info,因为日志记录非常详细。我只是想知道Gradle buid的工件(zip,jar,dmg等)的结果是什么。例如,当我运行'gradle jar'时,我想打印创建jar的位置。

我是这样做的:

jar {
    doLast {
        println "Jar has been created in ${archivePath}"
    }
}

很好地打印出jar已经在build / lib目录中创建。但是,当我运行'gradle distZip'时,工件不是在lib目录中创建的,而是在发行目录中创建的。然而上面的内容仍然打印出来,但我宁愿没有:当我运行distZip时,我想知道在哪里可以找到该命令的输出,而不是distZip所依赖的每一步。

1 个答案:

答案 0 :(得分:0)

没关系,以下内容会很好用:

def artifacts = []

addListener(new TaskExecutionListener() {
    void afterExecute(Task task, TaskState state) {

            if(task in AbstractArchiveTask) {
                    artifacts << task.outputs.files.singleFile
            }
    }

    void beforeExecute(Task task) { }
})

addBuildListener(new BuildAdapter() {
    void buildFinished(BuildResult result) {
            if(artifacts) {
                    println "\nOutput location: ${artifacts.last()}\n"
            }
    }
})

这也可以作为要点here