2016-02-18 3 views
2

Я исследовал и пытался найти примеры выше, и обнаружили следующее:Издательский артефакт удаленный репозиторий Maven на s3 с помощью Gradle

для 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.

Было бы здорово, если бы кто-нибудь мог указать мне пример того, как это сделать.

+0

В настоящее время, как представляется, не быть вне-полки плагин для этого. Учитывая мой недостаток опыта работы с Groovy, я буду ждать появления плагина в open source. Между тем, я переехал в Maven - переход проекта был на удивление легким. – Navneet

ответ

0

Я немного изменил код из второго звена (here) для проектов Java-приложений. Единственные проблемные разделы находятся внизу файла, где создаются баки источника и javadoc, поскольку он напрямую ссылается на Android. Если заменить конечные задачи (строка 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 
}