我有一个Gradle项目,我正在使用maven-publisher插件将我的Android库安装到本地maven仓库和maven仓库中。尽管它可以工作,但生成的pom.xml文件不包括任何依赖信息。是否有一种解决方法可以包含这些信息,或者我必须回到maven插件并进行所有需要的手动配置?
经过研究,我意识到我没有告诉发布物件其依赖项的位置,我只指定了输出/构建产物,因此我需要一种将这个MavenPublication
与依赖项相关联的方法,但我还没有在文档中找到如何执行该操作。
------------------------------------------------------------ Gradle 1.10 ------------------------------------------------------------
Build time: 2013-12-17 09:28:15 UTC Build number: none Revision: 36ced393628875ff15575fa03d16c1349ffe8bb6
Groovy: 1.8.6 Ant: Apache Ant(TM) version 1.9.2 compiled on July 8 2013 Ivy: 2.2.0 JVM: 1.7.0_60 (Oracle Corporation 24.60-b09) OS: Mac OS X 10.9.2 x86_64
相关的build.gradle部分:
//...
apply plugin: 'android-library'
apply plugin: 'robolectric'
apply plugin: 'maven-publish'
//...
repositories {
mavenLocal()
maven {
name "myNexus"
url myNexusUrl
}
mavenCentral()
}
//...
android.libraryVariants
publishing {
publications {
sdk(MavenPublication) {
artifactId 'my-android-sdk'
artifact "${project.buildDir}/outputs/aar/${project.name}-${project.version}.aar"
}
}
repositories {
maven {
name "myNexus"
url myNexusUrl
credentials {
username myNexusUsername
password myNexusPassword
}
}
}
}
生成的pom.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example.android</groupId>
<artifactId>my-android-sdk</artifactId>
<version>gradle-SNAPSHOT</version>
<packaging>aar</packaging>
</project>