Опубликовать библиотеку Java с пользовательским основным артефактом - PullRequest
0 голосов
/ 22 сентября 2019

Я пытаюсь создать библиотеку Java с пользовательским основным артефактом. Я следовал этой документации , но проблема в том, что когда я запускаю задачу "опубликовать", я получаю эту ошибку.

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, как я могу решить это?

1 Ответ

0 голосов
/ 23 сентября 2019

Тип задачи rpm доступен с плагином nebula.rpm, как описано в вики здесь

plugins {
    id("nebula.ospackage") version "7.4.1"
    id("nebula.rpm") version "7.4.1"
}

Не знаком с этим плагином, но он не выглядиткак применение nebula.ospackage достаточно.

...