Variazioni
V2EX  ›  问与答

问个关于 gradle 的问题,在执行 gradle build 时如何同时执行自定义的 task?

  •  
  •   Variazioni · Aug 1, 2019 · 2825 views
    This topic created in 2504 days ago, the information mentioned may be changed or developed.

    我有一个多模块 Spring Boot 的工程,并且子工程均引用了'org.springframework.boot'插件,目录结构如下
    /projectA
    /projectA/serviceA
    /projectA/serviceB
    /projectA/serviceC
    在 projectA 目录执行 gradle build 时,分别会在三个子工程的 build/libs 目录下生成 jar 包。
    现在我想将打好的 jar 包统一复制到某个路径,并且我在 /projectA/build.gradle 中添加了如下代码:

    allprojects {
        task copy () {
            doLast { task ->
                copyJars() {
                    CopySpec copySpec ->
                        from "${project.getBuildDir()}\\libs"
                        into "D:\\"  
                }
            }
        }
    }
    

    此时,在 /projectA 目录下执行 gradle copy,即可将三个子工程的 jar 包复制到 D 盘根目录下。

    需求是这样的,我希望在 /projectA 目录下执行 gradle build 时,在编译打包完成后自动执行 copy 任务,应该如何编写 build.gradle 文件?

    gradle 版本为 5.5

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3412 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:18 · PVG 19:18 · LAX 04:18 · JFK 07:18
    ♥ Do have faith in what you're doing.