maven插件生成pom.xml

时间:2014-06-05 22:45:25

标签: android maven gradle android-studio

您好我有一个gradle安卓项目,其中包含两个库模块:

- MyProject
|-- LibA
|-- LibB

因此,LibB依赖于LibA。因此,LibB的build.gradle文件如下所示:

apply plugin: 'android-library'
apply plugin: 'maven'

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "file://$buildDir/repo")
            pom.groupId = 'com.test.lib'
            pom.version = '1.0'
        }
    }
}


dependencies {
    compile 'com.android.support:support-v4:19.+'
    compile project (':LibA')
}

如您所见,我想为gradle项目中的每个库模块生成.aar文件。到目前为止一切顺利,但生成具有正确依赖于LibA的pom.xml文件并不像预期的那样工作:

LibB的pom.xml文件如下所示:

<dependency>
  <groupId>com.android.support</groupId>
  <artifactId>support-v4</artifactId>
  <version>19.+</version>
  <scope>compile</scope>
</dependency>

<dependency>
  <groupId>MyProject</groupId>
  <artifactId>LibA</artifactId>
  <version>unspecified</version>
  <scope>compile</scope>
</dependency>

有没有办法指定LibA的maven依赖关系在生成的pom文件中的外观。 ActionBar-PullToRefresh等其他项目如何做到这一点?例如:ActionBar-PullToRefresh有一个Actionbar sherlock的子库模块,它依赖于:library  the mail ActionBar-PullToRefresh library

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

我并没有真正进入gradle,但是我没有使用直接指向另一个项目的依赖项,而是使用一个定义组和工件ID以及工件版本的依赖项,就像你一样使用android支持库。

所以不是

 compile project (':LibA')

而是

 compile ('com.example.lib:LibA:1.2')

编辑:之前声明的&#34;编译项目(&#39; com.example.lib:LibA:1.2&#39;)&#34;,这是错误的。感谢Blundell指出这一点。