Build 只有配置而没有源的Gradle项目
我想创建一个没有任何来源的新Gradle项目。我将在那里放置一些配置文件,我想在构建时生成一个zip文件。Build 只有配置而没有源的Gradle项目,build,gradle,Build,Gradle,我想创建一个没有任何来源的新Gradle项目。我将在那里放置一些配置文件,我想在构建时生成一个zip文件。 对于maven,我会使用汇编插件。我正在寻找最简单、最轻松的方法来处理Gradle。我想知道,即使我在这里没有任何源代码,我是否需要应用java插件,因为它提供了一些基本和有用的任务,如清理、组装等。生成zip非常简单,我知道怎么做,但我不知道如何在gradle世界中生成zip。据我所知,这听起来可能很奇怪,但看起来我需要应用java插件才能创建zip文件。此外,它还可以方便地提供一些常见
对于maven,我会使用汇编插件。我正在寻找最简单、最轻松的方法来处理Gradle。我想知道,即使我在这里没有任何源代码,我是否需要应用java插件,因为它提供了一些基本和有用的任务,如清理、组装等。生成zip非常简单,我知道怎么做,但我不知道如何在gradle世界中生成zip。据我所知,这听起来可能很奇怪,但看起来我需要应用java插件才能创建zip文件。此外,它还可以方便地提供一些常见任务,例如
clean
。以下是我的build.gradle
:
apply plugin: 'java'
task('dist', type: Zip) {
from('solr')
into('solr')
}
assemble.dependsOn dist
我应用了java插件并定义了我的dist
任务,该任务创建了一个zip文件,其中包含一个solr目录,其中包含我的项目中的solr目录的内容。当我运行公共gradle build
或gradle assembly
时,最后一行便于执行任务,因为我不想显式调用dist
任务。
这样,如果我处理多个项目,我只需要在父项目上执行gradlebuild
,以生成所有工件,包括配置zip
请让我知道,如果你有更好的解决方案,并添加您自己的答案 您可以使用groovy插件和ant。我做了这样的事。我也很喜欢贾瓦纳的回答
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)
}
}
任务jar(依赖项:['dev\u jars']
File destFile=新文件(${dist.absolutePath}“+”/“+”数据库连接-“+dir.name+”.jar”)
println destFile.getAbsolutePath()
jar(destfile:destfile,update:false,baseDir:dir)
}
}
到目前为止,我都是手动完成的。换句话说,对于那些我只想创建某种发行版并且需要基本生命周期任务(如组装和清理)的项目,我只是创建了这些任务以及所需的依赖项
但是有一个“基本”插件(在《用户指南》的“标准Gradle插件”的“基本插件”中提到)似乎很适合这个功能。请注意,尽管《用户指南》提到此插件和其他基本插件尚未被视为GradleAPI的一部分,也没有真正的文档化
结果与您的结果几乎相同,唯一的区别是没有令人困惑的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
谢谢你的贡献+1.如果你喜欢我自己的答案,你可以投票我更喜欢我的,因为它比较短,如果我使用Gradle,我不喜欢使用Ant,但可能是我。好的!我只是一个新手,我不知道有基础插件。谢谢!