使用Gradle将构件发布到远程Maven S3仓库

3

我一直在研究并尝试寻找上述内容的示例,找到了以下内容:

对于Android项目:

在Amazon S3上托管私有Maven Repo

gradle maven推送项目

然而,这些插件需要指定某些Android属性,并会抛出错误,如在任务':androidJavadocs'上找不到属性'android'

对于通过SFTP进行远程存储库,可以使用maven-publish

此外,似乎也可以在Maven中实现此操作。

如果有人能向我指出如何做到这一点的示例,那将是非常好的。


目前似乎没有现成的插件可用。鉴于我对Groovy缺乏经验,我会等待插件在开源中出现。同时,我转移到了Maven - 项目的过渡令人惊讶地容易。 - Navneet
2个回答

0

0

我稍微修改了你第二个链接(这里)的代码,适用于基于Java的项目。唯一有问题的部分在文件底部,因为他直接引用了Android,所以源码和javadoc jars的创建会出现问题。如果你将最后的任务(从第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
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接