在我的例子中,我有许多子项目和子/子项目的多项目构建。
然后,我希望能够从不同的子项目调用此任务,以生成不同的JAR集(基于项目依赖关系)。这样我就可以为不同的子项目创建单独的分布。
我已经到了可以以一种丑陋的方式列出所有项目DEP 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的捆绑应用程序插件:
apply plugin: 'application'
从文档中:
应用程序插件有助于创建可执行的JVM应用程序。它可以在开发过程中轻松地在本地启动应用程序,并将应用程序打包为TAR和/或ZIP,包括操作系统特定的启动脚本。
它将把它打包为一个包含所有依赖项的归档文件。
我很久以前就问过这个问题.... 有没有办法在Gradle中列出任务依赖关系?
问题内容: 可以运行以了解模块任务的依赖性。有没有办法找到 buildscript依赖 的 传递依赖 ? 示例: 直接取决于: 可以在MVNRepository上看到。但是,这些工件有其自己的依赖性。有没有找到方法而无需手动遍历整个依赖树的方法? 为了澄清起见,我正在谈论的类路径由以下方式定义: 问题答案: 您可以使用以下命令: Udacity提供了很棒的Android Gradle 教程,但是您
我试图通过这个Gradle插件https://github.com/theboegl/gradle-launch4j使用http://launch4j.sourceforge.net/。 当我执行时,我会得到以下输出。 这是我的年级版本信息。 这是我的构建脚本。
我有一个使用Gradle作为构建工具的项目和第二个使用Maven的POM的子项目。我没有在子项目上更改构建工具的自由。 我想要实现的是将我的项目添加到Maven POM中,作为我的Gradle项目的依赖项。 其中root(当前目录)是我的Gradle项目,并包含,Maven项目位于下,POM文件就在该目录下。 我在我的< code>build.gradle文件中尝试了这些变化: 第一次尝试: 第二
eclipse插件似乎使用以下机制来实现这一点: 但是我找不到想法插件的相应选项。我错过了什么? 这是构建。gradle文件:
我希望我的gradleGUI显示任务,而不仅仅是依赖项。看这些图片。我的gradle显示picture1(黑色背景),我希望它在picture2(白色背景)中显示树状。