谁能给我一个提示,告诉我如何使用aar和源jar发布一个maven-publish
项目/模块?我可以使用旧的maven插件做到这一点--但我想使用新的maven-publish
插件。
发布于 2015-02-25 03:41:44
这是一个使用新的maven-publish
插件的示例。
apply plugin: 'maven-publish'
task sourceJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier "sources"
}
publishing {
publications {
bar(MavenPublication) {
groupId 'com.foo'
artifactId 'bar'
version '0.1'
artifact(sourceJar)
artifact("$buildDir/outputs/aar/bar-release.aar")
}
}
repositories {
maven {
url "$buildDir/repo"
}
}
}
使用./gradlew clean build publish
发布
发布于 2016-08-31 22:23:56
稍微调整一下dskinners,就可以生成正确的依赖项了:
apply plugin: 'maven-publish'
task sourceJar(type: Jar) {
from android.sourceSets.main.java.srcDirs
classifier "source"
}
publishing {
publications {
bar(MavenPublication) {
groupId 'com.foo'
artifactId 'bar'
version '0.1'
artifact(sourceJar)
artifact("$buildDir/outputs/aar/bar-release.aar")
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
//Iterate over the compile dependencies (we don't want the test ones), adding a <dependency> node for each
configurations.compile.allDependencies.each {
if(it.group != null && (it.name != null || "unspecified".equals(it.name)) && it.version != null)
{
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
repositories {
maven {
url "$buildDir/repo"
}
}
}
您可以通过定义以下内容来更改version
和groupId
:
version = '1.0.0'
group = 'foo.bar'
发布于 2017-08-05 03:39:34
如果您希望避免样板代码,因为maven-publish
插件不会向pom.xml中写入依赖项
试试这个插件:android-maven-publish
publishing {
publications {
mavenAar(MavenPublication) {
groupId 'com.example'
artifactId 'mylibrary'
version '1.0.0'
from components.android
}
}
repositories {
maven {
url "$buildDir/releases"
}
}
}
https://stackoverflow.com/questions/26874498
复制相似问题