Gradle 插件本地化及发布命令

950 阅读1分钟

插件的本地化

group = 'com.learntranform'
version = '1.0.1'
uploadArchives {
    repositories {
        flatDir {
            name "localRepository"
            dir "../app/localRepository/libs"
        }
    }
}

uploadArchives 发布脚本

uploadArchives {
    repositories {
        mavenDeployer {
            pom.groupId = 'com.klearn'
            pom.artifactId = 'chuguo_net_lib'
            pom.version = 1.0.0
            repository(url: "https://maven.klearn-inc.com/nexus/content/repositories/release") {
                authentication(userName: "uName", password: "uPswd")
            }
        }
    }
}

插件的发布上传命令

./gradlew uploadArchives

使用MAVEN-PUBLISH发布多渠道AAR包

使用MAVEN-PUBLISH发布多渠道AAR包 具体脚本

apply plugin: 'maven-publish'
publishing {
    publications {
        //重庆测试环境
        release(MavenPublication) {
            groupId = 'com.klearn'//公司域名
            artifactId = 'chuguo_net_lib'//该aar包的名称
            version = '7.1.0'//版本号
//            def projectName = project.getName()
            artifact "build/outputs/aar/retrofitlib-release.aar"//对应该渠道打包出来的aar所在的目录
            pom.withXml{
                def dependenciesNode = asNode().appendNode("dependencies")
                configurations.implementation.allDependencies.forEach(){
                    Dependency dependency ->
                        if (dependency.version != "unspecified" && dependency.name != "unspecified"){
                            def dependencyNode = dependenciesNode.appendNode('dependency')
                            dependencyNode.appendNode('groupId', dependency.group)
                            dependencyNode.appendNode('artifactId', dependency.name)
                            dependencyNode.appendNode('version', dependency.version)
                        }
                }
            }
        }
    }
    repositories {
        maven {
            allowInsecureProtocol=true
            //maven仓库的地址 远程
            url = "https://maven.klearn-inc.com/nexus/content/repositories/release"
            //仓库的用户名及密码
            credentials {
                username 'name'
                password 'pswd'
            }
            //👇这是一个本地仓库地址,可以用来测试,发布之后的aar将存放于该地址
            //MAC路径示例
            //url = "file:///Users/klearn/Downloads/maven"
            //Windows路径示例
            //"file://d:/maventestrepository"
        }
    }
}

//编译发布到maven
task deploy{
    dependsOn tasks.clean
    dependsOn tasks.build
    dependsOn tasks.publish
    tasks.preBuild.mustRunAfter(tasks.clean)
    //👇
//    tasks.generatePomFileForCqtestPublication.mustRunAfter(tasks.build)
//    tasks.generatePomFileForDevPublication.mustRunAfter(tasks.build)
    tasks.generatePomFileForReleasePublication.mustRunAfter(tasks.build)
}

安卓打包失败“Build-tool 31.0.0 is missing DX” 移动文件可行

安卓打包失败Build-tool 31.0.0 is missing DX

执行aar打包

./gradlew assembleRelease

执行发布命令

./gradlew publishReleasePublicationToMavenRepository