发布带有附加在artifactory回购上的javadoc的.aar文件 [英] Publish .aar file with javadocs attached on artifactory repo

查看:114
本文介绍了发布带有附加在artifactory回购上的javadoc的.aar文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图通过artifactory gradle puglin发布一个带有javadoc文件的AAR到我的maven repo。

aar文件正在上传成功,但我的javadoc没有。我可以使用哪个脚本上传我的javadocs?



这是我的build.gradle代码

  apply plugin:'com.android.library'
apply plugin:'com.jfrog.artifactory'
apply plugin:'maven-publish'

def packageName ='br.com.lexsis.libtest'
def libraryVersion ='0.0.1-SNAPSHOT'

android {
compileSdkVersion 23
buildToolsVersion23.0 .0

defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName1.0
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
}

依赖关系{
编译fileTree(dir:'libs',include:['* .jar'])
compile'c​​om.android.support:appcompat-v7:23.0 .0'
}

pu (
aar(MavenPublication){
groupId packageName
version = libraryVersion
artifactId project.getName()

//告诉maven准备生成的* .aar文件来发布
artifact($ buildDir / outputs / aar / $ {project.getName()} - release.aar)

pom.withXml {
def dependencies = asNode()。appendNode('dependencies')
configurations.getByName(_ releaseCompile)。getResolvedConfiguration()。getFirstLevelModuleDependencies()。each {
def dependency ='dependency.appendNode('dependency')
dependency.appendNode('groupId',it.moduleGroup)
dependency.appendNode('artifactId',it.moduleName)
dependency.appendNode('版本',it.moduleVersion)
}
}
}



artifactory {
contextUrl =$ {artifactory_contextUrl}
发布{
知识库{
//发布到
的Artifactory存储库密钥repoKey = libraryVersion.endsWith('SNAPSHOT')? 'libs-snapshot-local':'libs-release-local'

username =$ {artifactory_user}
password =$ {artifactory_password}
}
defaults {
//告诉Artifactory插件哪些工件应该发布到Artifactory。
publications('aar')
publishArtifacts = true

//要附加到已发布构件的属性。
属性= ['qa.level':'basic','dev.team':'core']
//将生成的POM文件发布到Artifactory(默认为true)
publishPom =


任务androidJavadocs b classpath + = project.files(android.getBootClasspath()。join(File.pathSeparator))
}

任务androidJavadocsJar(类型:Jar,dependsOn:androidJavadocs){
classifier ='javadoc'
from androidJavadocs.destinationDir
}

任务androidSourcesJar(类型:Jar){
classifier ='sources'$ b $ from android。 sourceSets.main.java.srcDirs
}

artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}



$ b

> 伪像($ buildDi r / outputs / aar / $ {project.getName()} - release.aar)



添加另一个工件 - androidJavadocsJar 任务:



artifact androidJavadocsJar



如果需要,请重复使用jar源代码。


I'm trying to publish an AAR with javadoc file to my maven repo through artifactory gradle puglin.

The aar file is doing uploaded with success, but i the javadoc don't. Which script can i use to upload my javadocs?.

This is my build.gradle code

apply plugin: 'com.android.library'
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'maven-publish'

def packageName = 'br.com.lexsis.libtest'
def libraryVersion = '0.0.1-SNAPSHOT'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
}

publishing {
    publications {
        aar(MavenPublication) {
            groupId packageName
            version = libraryVersion
            artifactId project.getName()

            // Tell maven to prepare the generated "*.aar" file for publishing
            artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")

            pom.withXml {
                def dependencies = asNode().appendNode('dependencies')
                configurations.getByName("_releaseCompile").getResolvedConfiguration().getFirstLevelModuleDependencies().each {
                    def dependency = dependencies.appendNode('dependency')
                    dependency.appendNode('groupId', it.moduleGroup)
                    dependency.appendNode('artifactId', it.moduleName)
                    dependency.appendNode('version', it.moduleVersion)
                }
            }
        }
    }
}

artifactory {
    contextUrl = "${artifactory_contextUrl}"
    publish {
        repository {
            // The Artifactory repository key to publish to
            repoKey = libraryVersion.endsWith('SNAPSHOT') ? 'libs-snapshot-local' : 'libs-release-local'

            username = "${artifactory_user}"
            password = "${artifactory_password}"
        }
        defaults {
            // Tell the Artifactory Plugin which artifacts should be published to Artifactory.
            publications('aar')
            publishArtifacts = true

            // Properties to be attached to the published artifacts.
            properties = ['qa.level': 'basic', 'dev.team': 'core']
            // Publish generated POM files to Artifactory (true by default)
            publishPom = true
        }
    }
}

task androidJavadocs(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

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

task androidSourcesJar(type: Jar) {
    classifier = 'sources'
    from android.sourceSets.main.java.srcDirs
}

artifacts {
    archives androidSourcesJar
    archives androidJavadocsJar
}

解决方案

Your publication only includes the aar file:

artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")

Add another artifact - the output of the androidJavadocsJar task:

artifact androidJavadocsJar

Repeat for sources jar, if you want.

这篇关于发布带有附加在artifactory回购上的javadoc的.aar文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆