gpt4 book ai didi

gradle - 如何仅在Gradle任务中列出项目依赖项jar

转载 作者:行者123 更新时间:2023-12-03 06:09:33 26 4
gpt4 key购买 nike

就我而言,我拥有包含多个子项目和子/子项目的多项目构建。

然后,我希望能够从不同的子项目中调用此任务以产生不同的jar集(基于项目依赖项)。这样,我将能够为不同的子项目创建单独的发行版。

我到了一个可以丑陋列出所有项目部门的阶段:

task showJars {
doLast {
if( configurations && configurations.getByName('compile') ) {
configurations.compile.collect {
if( !it.toString().contains('.gradle') )
println(it)
}
}
}
}

我正在执行一项任务,将所有项目jar收集到一个目录中,以为应用程序创建分发。有什么干净的方法可以做到这一点吗?

谢谢!

最佳答案

您可能需要根据您的项目和配置来调整以下代码段,但这应该为您提供大致的思路:

task copyProjectDependencies << {
file("build/project-dependencies").deleteDir()
subprojects.findAll().each { project ->
copy {
from project.jar
from project.configurations.runtime
into "build/project-dependencies/jars"
}
}
}

您还可以查看gradle bundle 的 application plugin:
apply plugin: 'application'

从文档:

The Application plugin facilitates creating an executable JVM application. It makes it easy to start the application locally during development, and to packaging the application as a TAR and/or ZIP including operating system specific start scripts.



它将打包为具有所有依赖项的存档。

关于gradle - 如何仅在Gradle任务中列出项目依赖项jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36033685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com