美文网首页
Android:发布aar包到maven仓库

Android:发布aar包到maven仓库

作者: Leo_o | 来源:发表于2022-08-10 15:10 被阅读0次

    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仓库

          本文链接:https://www.haomeiwen.com/subject/aecawrtx.html