This question already has an answer here:
Publishing non-jar files in gradle

(1个答案)


3年前关闭。




我有一个Gradle项目,该项目使用de.fanero.gradle.plugin.nar插件(https://github.com/sponiro/gradle-nar-plugin)构建Nifi NAR文件。
buildscript {
    repositories {
        mavenCentral()
        maven { url 'http://dl.bintray.com/sponiro/gradle-plugins' }
    }
    dependencies {
        classpath group: 'de.fanero.gradle.plugin.nar', name: 'gradle-nar-plugin', version: '0.1'
    }
}

apply plugin: 'de.fanero.gradle.plugin.nar'
apply plugin: 'java'

dependencies {
    ...
}

现在,我想使用com.jfrog.artifactory插件将NAR文件上传到Jfrog Artifactory。我正在努力解决出版物的定义。我尝试执行类似于以下定义的操作,但失败了。
publishing {
    publications {
        mavenJava(MavenPublication) {
            from project.components.java
        }
    }
}

我设法做到这一点的唯一方法是显式定义文件路径,但我想将其用作最后的手段。
nar(MavenPublication) {
    artifact file("build/libs/my-custom-nar-1.0-SNAPSHOT.nar")
}

我将不胜感激所有建议。谢谢。

最佳答案

不确定NAR是什么,但是我已经发布了具有以下配置的自定义非JAR Artifact :

  • 定义您的 Artifact 。它可以是ZIP,JAR或TAR:
    task deployableZIP(type: Zip) {
        from 'deployable'
        baseName = 'deployable'
        destinationDir = buildDir
    }
    
  • 配置发布:
    publishing {
        publications {
            main(MavenPublication) {
                artifact source: deployableZIP, extension: 'zip'
            }
        }
    }
    

  • 请注意,publications块引用了deployableZIP任务本身:没有引号,只是一个任务引用。

    我相信,就您而言,nar任务已经由插件创建,因此您需要做的是:
    publishing {
        publications {
            main(MavenPublication) {
                artifact source: nar, extension: 'nar'
            }
        }
    }
    

    然后,您可以在Gradle Artifactory plugin中使用该出版物:
    artifactory {
        contextUrl = 'http://artifacto.ry'
        publish {
            repository {
                repoKey = 'libs-snapshot-local'
                username = 'darth_vader'
                password = 'padme'
            }
            defaults {
                publications('main')
                publishArtifacts = true
            }
        }
    }
    

    有许多示例可用here

    10-07 19:27
    查看更多