使用Gradle将工件发布到s3上的远程maven存储库

时间:2016-02-18 04:20:10

标签: java maven gradle amazon-s3 maven-remote-resources

我一直在研究并试图找到上述例子,并发现了以下内容:

适用于Android项目:

Hosting a Private Maven Repo on Amazon S3

gradle maven push project

然而,这些插件需要指定某些Android属性并抛出Could not find property 'android' on task ':androidJavadocs'.

之类的错误

对于SFTP上的远程存储库,有maven-publish

此外,似乎可以这样做in Maven

如果有人能指出我如何做到这一点的例子,那将会很棒。

2 个答案:

答案 0 :(得分:0)

Gradle现在有一个插件可以执行此操作,但它处于 孵化 状态但尚未发布。

https://docs.gradle.org/current/userguide/publishing_maven.html

答案 1 :(得分:0)

我稍微修改了第二个链接(here)中基于Java的项目的代码。唯一有问题的部分位于文件的底部,因为他直接引用Android,所以创建了源和javadoc jar。如果您使用以下内容替换最终任务(第95行),它应该可以解决您的问题:

task sourcesJar(type: Jar) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

// Makes the Javadocs
task javadocs(type: Javadoc) {
    // I set this to false here since I reference third party classes in my Javadocs 
    //   which fails the Javadoc generation, but this can be removed
    failOnError  false
    source = sourceSets.main.java.srcDirs
}

task javadocJar(type: Jar, dependsOn: javadocs) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives sourcesJar
    archives javadocJar
}