1、配置build.gradle
apply plugin: 'java'
apply plugin: 'maven'
// Use as maven groupId
group = 'com.github.liheyuan'
// Use as maven artifactId
project.archivesBaseName = 'coder4-gradle-maven-demo'
// Use as maven version
project.version = 0.1
sourceCompatibility = 1.8
targetCompatibility = 1.8
repositories {
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
}
// source pom
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
// javadoc pom
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
// source & javadoc pom
artifacts {
archives sourcesJar
archives javadocJar
}
dependencies {
compile 'com.google.guava:guava:21.0'
testCompile 'junit:junit:4.12'
}
简单解释几句吧:
group、project.archivesBaseName、project.version分别代表了maven将来pom的groupId、archiveId、mavenVersion
sources、javadoc和artifacts那几行主要是生成-sources和-docs的maven包
2、预览即将发布的pom文件
gradle install
cat ./build/poms/pom-default.xml
备注:这个实际会安装到local的maven仓库,如果想让别的项目能使用本地仓库,需要
repositories {
mavenLocal()
}
3、预览即将发布的jar文件
ls ./build/libs/
coder4-gradle-maven-demo-0.1.jar
coder4-gradle-maven-demo-0.1-javadoc.jar
coder4-gradle-maven-demo-0.1-sources.jar
4、连接jetpack.io
https://jitpack.io/
5、github上发布版本
https://github.com/blog/1547-release-your-software
6、如何使用
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
dependencies {
compile 'com.github.liheyuan:gradle-maven-demo:0.1'
}
我写了2个demo,分别是同一个repo下一个pom和多个pom的,欢迎参考:
https://github.com/liheyuan/gradle-maven-multi-demo
https://github.com/liheyuan/gradle-maven-demo