发布带有附加在artifactory回购上的javadoc的.aar文件 [英] Publish .aar file with javadocs attached on artifactory repo
问题描述
我试图通过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'com.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屋!