library build.gradle 添加
plugins {
id 'maven-publish'
}
task androidSourceJar(type: Jar) {
from android.sourceSets.main.java.getSrcDirs()//源码路径
archiveClassifier.set("sources")
}
afterEvaluate {// components.release 只有在配置完成之后,才能拿到值
publishing {
// 配置maven 仓库
repositories {
//mavenLocal() //本地
maven {
url = "http://127.0.0.1:8081/repository/maven-releases/"
credentials {
username = "admin"
password = "admin1234"
}
}
}
publications {
maven(MavenPublication) { //maven 名字可任意取
from components.release // 注释1:使用 Android Gradle 插件生成的组件,作为发布的内容
artifact androidSourceJar// 上传源码
groupId = "com.koin.testmavenlib"
artifactId = "testLib"
version = "1.0.3"
}
}
}
}
上传遇到405错误时 更改Nexus使用hosted类型的nexus仓库
插件发布
plugins {
id 'groovy' // Groovy.
id 'org.jetbrains.kotlin.jvm' // Kotlin
id 'java-gradle-plugin' // GradlePlugin
id 'maven-publish'
}
dependencies {
implementation gradleApi()
}
gradlePlugin {
plugins {
hello {//hello 任意名
// 在 app 模块需要通过 id 引用这个插件
id = 'versionplugin'
// 实现这个插件的类的路径
implementationClass = 'com.koin.easyupload.EasyUpload'
}
}
}
task sourceJar(type: Jar) {
from sourceSets.main.allSource//源码路径
archiveClassifier.set("sources")
}
afterEvaluate {// components.release 只有在配置完成之后,才能拿到值
publishing {
// 配置maven 仓库
repositories {
//mavenLocal() //本地
maven {
url = "http://127.0.0.1:8081/repository/maven-releases/"
credentials {
username = "admin"
password = "admin1234"
}
}
}
publications {
mavenPlugin(MavenPublication) {//mavenPlugin 任意名
from components.java // 注释1:使用 Android Gradle 插件生成的组件,作为发布的内容
artifact sourceJar // 上传源码
groupId "com.koin.easyupload"
artifactId "EasyUpload"
version '1.0.1'
}
}
}
}
网友评论