【问题标题】:Publishing artifact to remote maven repository on s3 using Gradle使用 Gradle 将工件发布到 s3 上的远程 maven 存储库
【发布时间】:2016-05-30 02:30:58
【问题描述】:

我一直在研究并尝试找到上述示例并发现以下内容:

对于 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 似乎可以做到这一点。

如果有人能指出如何做到这一点的例子,那就太好了。

【问题讨论】:

  • 到目前为止,似乎还没有现成的插件。由于我缺乏使用 Groovy 的经验,我将等待该插件以开源形式出现。与此同时,我转向了 Maven - 项目的转换非常容易。

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


【解决方案1】:

Gradle 现在有一个插件可以做到这一点,但它处于 incubating 状态,尚未发布。

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

【讨论】:

    【解决方案2】:

    我对基于 Java 的项目的第二个链接 (here) 中的代码稍作修改。唯一有问题的部分在文件的底部,由于他直接引用 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
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-06
      • 1970-01-01
      • 1970-01-01
      • 2022-01-28
      • 2012-12-22
      • 1970-01-01
      • 2019-04-03
      相关资源
      最近更新 更多