我的gradle项目有多个模块。我希望所有的源代码jar和依赖项jar都在lib文件夹中,并且应该压缩以上传到存储库中。我已经按照我(新手)的理解编写了代码,但我不知道为什么它不起作用。
myProject's build.gradle
apply plugin: 'idea'
apply plugin: 'distribution'
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'maven'
tasks.register("projectDistribution", Zip) {
group = 'build'
dependsOn jar
archiveName = 'myProject.zip'
duplicatesStrategy 'exclude'
project.getTasksByName('distZip', true).each{task ->
dependsOn task
task.enabled = false
task.archiveName = task.project.name
with task
}
from (jar){
into 'myProject/lib'
}
from(sourceSets.main.runtimeClasspath.files.findAll {it.name.endsWith('jar') }.collect { it }) {
into 'myProject/lib'
}
from(sourceSets.main.runtimeClasspath.files.findAll {it.name.endsWith('jar') }.collect { zipTree(it) })
{
into 'myProject/lib'
}
buildscript{
repositories {
maven {
url uri('http://myRepoUrl')
}
}
dependencies {
classpath 'io.spring.grale:dependency-management-plugin:1.0.7.RELEASE'
}
}
这是我模块的gradle.build文件
buildscript{
repositories {
maven {
url uri('http://myRepoUrl')
}
}
dependencies {
classpath 'com.google.guava:guava:27.1-jre'
}
}
plugin{
id 'java'
}
repositories{
mavenCentral()
}
dependencies {
compile project(":myModule2")
compile 'com.google.guava:guava:27.1-jre'
}
task distZip(type: Zip, dependsOn: [ jar ]) {
baseName = 'myProject'
duplicatesStrategy 'exclude'
from (jar){
into 'myProject/lib'
}
from(sourceSets.main.runtimeClasspath.files.findAll {it.name.endsWith('jar') }.collect { it }) {
into 'myProject/lib'
}
}
据我所知,这段代码应该在构建中创建一个distributions文件夹,其中应该有一个包含所有jar的zip文件。但我看不到分发文件夹本身。你能引导我理解我的错误吗。
如果您对此有任何建议,我们将不胜感激!
暂无答案!
目前还没有任何答案,快来回答吧!