使用Gradle将zip文件发布到Nexus(Maven)

时间:2016-12-27 13:50:04

标签: maven gradle nexus progress-4gl openedge

假设您要使用Gradle上传到Nexus的PL文件。这样的剧本怎么样?

group' be.mips' version =' 1.4.0-SNAPSHOT'

在settings.gradle中 - > rootProject.name =' stomp'

让我们说pl文件在子目录dist(./dist/stomp.pl)中。

现在我想将这个stomp.pl文件发布到nexus快照存储库。

只要你使用Java,那么Gradle(就像Maven一样)就像魅力一样。但是,如果您有DLL,ZIP或PL(进度库),那么很少有文档可以找到该怎么做。

2 个答案:

答案 0 :(得分:9)

我很长时间都会发布这样的文物。例如,ZIP存档包含SQL文件。让我举一个真实项目的例子:

的build.gradle

<div class="items">
  <div>The DFP ad</div>
  <div>New content</div> 
  <div>New content</div> 
  <div>New content</div> 
  <div>New content</div> 
</div>

gradle.properties

apply plugin: "base"
apply plugin: "maven"
apply plugin: "maven-publish"

repositories {
    maven { url defaultRepository }
}

task assembleArtifact(type: Zip, group: 'DB') {
    archiveName 'db.zip'
    destinationDir file("$buildDir/libs/")
    from "src/main/sql"
    description "Assemble archive $archiveName into ${relativePath(destinationDir)}"
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            artifact source: assembleArtifact, extension: 'zip'
        }
    }
    repositories {
        maven {
            credentials {
                username nexusUsername
                password nexusPassword
            }
            url nexusRepo
        }
    }
}

assemble.dependsOn assembleArtifact
   build.dependsOn assemble
 publish.dependsOn build

答案 1 :(得分:0)

如果您使用的是Kotlin DSL,请按如下所示声明工件:

const

其中U&& = 是生成zip文件的任务,在上面的示例中,该文件来自application插件。