【发布时间】:2015-05-03 20:32:12
【问题描述】:
我正在使用 Gradle 构建一个 Android 库项目并将其作为 aar 部署到 maven 存储库。
该库有一些依赖项,应该包含在 POM 中
apply plugin: 'maven' 不存在 POM 文件,只有工件
使用apply plugin: 'maven-publish' 会生成一个 POM 文件,但它不包含任何依赖项
有什么想法吗?这只是不支持吗?
Gradle 2.2 和 Android Gradle 插件 1.1.0
第一种方法:
configurations {
archives {
extendsFrom configurations.default
}
}
afterEvaluate { project ->
uploadArchives {
configuration = configurations.archives
repositories {
mavenDeployer {
repository(url: "http://nexus-url") {
authentication(userName: nexusUsername, password: nexusPassword)
pom.groupId = 'com.example'
pom.version = '123-SNAPSHOT'
pom.artifactId = 'foo'
pom.packaging = 'aar'
pom.project {
artifactId = 'bar'
packaging 'aar'
description 'baz'
}
}
}
}
也试过了,不用afterEvaluate包装
第二种方法:
publishing {
publications {
sdk(MavenPublication) {
groupId 'com.example'
artifactId 'foo'
version = "0.123-SNAPSHOT"
artifact("$buildDir/outputs/aar/app-sdk-debug.aar")
}
}
repositories {
maven {
url "http://nexus-url"
credentials {
username 'foo'
password 'bar'
}
}
}
}
更新
问题的根本原因是这个项目使用了风味。使用apply plugin: 'maven'时,如果没有风味,则可以正确生成pom
【问题讨论】:
标签: android maven gradle android-library