我想创建一个没有任何源的新Gradle项目。我打算在那里放置一些配置文件,并且在构建时我想生成一个zip文件。 使用maven我会使用程序集插件。我正在寻找最简单最轻松的方式来用Gradle来做到这一点。我想知道是否需要应用java插件,即使我没有任何源代码,仅仅是因为它提供了一些基本和有用的任务,比如清理,装配等。生成一个zip文件非常简单,我知道该怎么做,但我不知道在哪里以及如何将zip生成放在gradle世界中。只有配置且没有源的Gradle项目
回答
我已经手动完成,直到现在。换句话说,对于我想要做的是创建某种发行版的项目,我需要像汇编和清理这样的基本生命周期任务,我只是简单地创建这些任务以及所需的依赖关系。
但是有一个'base'插件(在用户指南中的“Standard Gradle Plugins”的“Base plugins”下面提到)似乎很适合这项功能。请注意,用户指南提到这个和其他基本插件尚未被认为是Gradle API的一部分,并且没有真正记录。
结果与您的结果非常相似,唯一的区别是没有令人困惑的java特定任务始终保持最新状态。
apply plugin: 'base'
task dist(type: Zip) {
from('solr')
into('solr')
}
assemble.dependsOn(dist)
采样运行:
$ gradle clean assemble
:clean
:dist
:assemble
BUILD SUCCESSFUL
Total time: 2.562 secs
据我了解,这可能听起来很奇怪,但看起来我需要应用java插件才能创建zip文件。此外,它可以方便地使用一些常见任务,例如clean
。以下是我的build.gradle
:
apply plugin: 'java'
task('dist', type: Zip) {
from('solr')
into('solr')
}
assemble.dependsOn dist
我应用了Java插件和定义我的dist
任务,创建一个包含与Solr的目录中我的项目中内容的Solr的目录中的zip文件。当我运行常见的gradle build
或gradle assemble
时,最后一行很方便,因为我不想明确地调用dist
任务。 这种方式,如果我与多个项目工作,我只需要执行gradle build
父母上生成所有工件,包括配置zip。
请让我知道,如果你有更好的解决方案,并添加自己的答案!
你可以使用groovy插件并使用ant。我做了这样的事情。我也喜欢javanna的回答。
task jars(dependsOn: ['dev_jars']) << {
def fromDir = file('/database-files/non_dev').listFiles().sort()
File dist = new File("${project.buildDir}/dist")
dist.mkdir()
fromDir.each { File dir ->
File destFile = new File("${dist.absolutePath}" + "/" + "database-connection-" + dir.name + ".jar")
println destFile.getAbsolutePath()
ant.jar(destfile:destFile, update:false, baseDir:dir)
}
}
感谢您的贡献! +1!如果你喜欢我自己的答案,你可以upvote它! :)我更喜欢我的,因为它更短,如果我使用Gradle,我宁愿不使用Ant,但也许是我。 – javanna 2012-03-26 13:57:48
- 1. 只有文件且没有内置输出的项目文件
- 2. Gradle集Android项目配置
- 3. Gradle多项目配置
- 4. 配置GitWeb - 404 - 没有找到项目
- 5. 如何获取Gradle项目的所有配置列表?
- 6. Gradle - 将配置应用到使用插件的所有项目
- 7. D中有没有开源项目?
- 8. 有没有办法阻止tabbar项目的配置?
- 9. NG重复:一个项目,只有源
- 10. 配置Gradle项目取决于lwjgl
- 11. 带Gradle脚本的Gradle中的锅板项目配置Kotlin
- 12. 有没有办法配置Gradle默认日志输出?
- 13. intellij 2016挂起时启动新的gradle项目w /现有源
- 14. 在Android Gradle项目中,有没有办法在嵌套的依赖关系中传递构建变体配置?
- 15. 在Intellji Junit中配置LogLevel在Gradle项目中运行配置?
- 16. Android项目Gradle构建成功后没有输出目录吗?
- 17. 具有SCM的Gradle多项目
- 18. Gradle:有效的项目名称/路径?
- 19. 开源项目:如何处理私有/秘密配置数据?
- 20. Heroku上的Gradle的JavaServlet项目没有运行
- 21. Libgdx HTML项目没有编译(没有源代码可用...)
- 22. 没有有效的目标分配配置文件
- 23. 在没有maven的多模块J2EE web项目中配置log4j2
- 24. Netbeans 7.1 - 创建一个没有运行配置的项目
- 25. Gradle:没有多个项目的多个JAR
- 26. 复制项目/删除项目只有没有根文件夹的子内容?
- 27. Python 3和开源:有没有什么好的项目?
- 28. Symfony - 在localhost上配置现有项目
- 29. WIT的新配置字段没有在现有的TFS项目中显示
- 30. MySQL:员工没有项目和没有员工的项目
好的!我只是一个Gradle新手,我不知道有基本的插件。非常感谢! – javanna 2012-03-26 19:58:43