我正在尝试创建一个java库,其中包含自定义的主要工件。我遵循了这个documentation,但问题是当我运行"publish“任务时,我得到了这个错误。
Could not determine the dependencies of task ':publishMavenPublicationToMyRepoRepository'.
> Task with path 'rpm' not found in root project 'commons'.
这是我的gradle文件:
import com.netflix.gradle.plugins.rpm.Rpm
plugins {
`java-library`
`maven-publish`
id("nebula.ospackage") version "7.4.1"
kotlin("jvm") version "1.3.50"
}
group = "com.test"
version = "1.0.0"
java.sourceCompatibility = JavaVersion.VERSION_1_8
repositories {
mavenCentral()
}
dependencies {
implementation("javax.xml.bind:jaxb-api:2.3.1")
implementation("io.jsonwebtoken:jjwt:0.9.1")
implementation("com.googlecode.libphonenumber:libphonenumber:8.10.14")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.9.9")
}
tasks.withType<Rpm> {
version = "1.0.0"
release = "1"
packageName = "com.test.commons"
into("$buildDir/rpms/com.test.commons.rpm")
}
val rpmFile = file("$buildDir/rpms/com.test.commons.rpm")
val rpmArtifact = artifacts.add("archives", rpmFile) {
type = "rpm"
builtBy("rpm")
}
publishing {
publications {
create<MavenPublication>("maven") {
artifact(rpmArtifact)
}
}
repositories {
maven {
name = "myRepo"
url = uri("file://${buildDir}/repo")
}
}
}
我认为问题出在rpm任务中,我该如何解决这个问题?
发布于 2019-09-23 00:31:35
rpm
任务类型在nebula.rpm
插件中提供,如wiki here中所述
plugins {
id("nebula.ospackage") version "7.4.1"
id("nebula.rpm") version "7.4.1"
}
不熟悉这个插件,但看起来应用nebula.ospackage
还不够。
发布于 2020-06-12 12:08:44
nebula.ospackage
插件将创建一个名为buildRpm
的com.netflix.gradle.plugins.rpm.Rpm
类型的任务。
在脚本中,您通过名称rpm
引用了一个不存在的任务:这解释了您得到的错误(> Task with path 'rpm' not found in root project 'commons'.
)
只需更新您的脚本以使用正确的任务名称:
val rpmArtifact = artifacts.add("archives", rpmFile) {
type = "rpm"
builtBy("buildRpm") // <=== instead of "rpm"
}
注意:你不需要应用插件nebula.rpm
,nebula.ospackage
就足够了。
https://stackoverflow.com/questions/58048668
复制相似问题