Android:发布aar包到maven仓库

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'
            }
        }
    }
}


你可能感兴趣的:(Android:发布aar包到maven仓库)