当前位置:   article > 正文

Grdle版本的不同导致的一些差异_gradle版本的不同对项目的影响

gradle版本的不同对项目的影响

gradle版本是不断迭代升级的,升级后对有些配置是有影响的,比如对kotlin配置、上传maven的方式,特此记录一下

kotlin配置的影响

我们主项目的gradle版本是6.3,对项目进行koltin配置的语法了,官方文档教程是一样的
在这里插入图片描述
新建的项目gradle版本号是7.3.3

在这里插入图片描述
在这里插入图片描述
首先语法结构进行了调整,这个关系不大。最大的地方是,app的build.gradle中不用再依赖
implementation ‘org.jetbrains.kotlin:kotlin-stdlib-jdk8:x.x.xx’
因为会自动依赖的
但是,打成aar包为了兼容别的项目需要kotlin插件版本改成1.3.72,结果一build就报错
在这里插入图片描述
可能是低版本的koltin插件不会自动导入kotlin-stdlib包吧,需要自己手动导入一下
implementation ‘org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72’
再build就正常了。

参考

将 Kotlin 添加到现有应用

对上传maven的方式的影响

之前的方式是

apply plugin: 'maven'

boolean isRelease = false

uploadArchives {
    repositories {
        mavenDeployer {
            if (isRelease) {
                repository(url: 'http://10.xx.xx.60:8081/repository/maven-releases/') {
                    authentication(userName: 'admin', password: 'xxxx')
                }

                pom.project {
                    version gradle.ext.versionName
                    artifactId 'sohuPush'
                    groupId 'com.sohu.sohuPush'
                    packaging 'aar'
                    description 'SohuVideo com.sohu.sohuPush'
                }
            } else {
                snapshotRepository(url: 'http://10.xx.xxx.60:8081/repository/maven-snapshots/') {
                    authentication(userName: 'deployment', password: 'xxxx')
                }

                pom.project {
                    version gradle.ext.versionName + "-SNAPSHOT"
                    artifactId 'sohuPush'
                    groupId 'com.sohu.sohuPush'
                    packaging 'aar'
                    description 'SohuVideo com.sohu.sohuPush'
                }
            }

        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

现在语法变了

apply plugin: 'maven-publish'

boolean isRelease = false

afterEvaluate {
    publishing {
        publications {
            maven(MavenPublication) {
                groupId = 'com.sohu.clipImage'
                artifactId = 'clipImage'
                if (isRelease) {
                    version = gradle.ext.versionName
                    from components.release
                } else {
                    version = gradle.ext.versionName + "-SNAPSHOT"
                    from components.debug
                }
                description 'SohuVideo com.sohu.clipImage'
            }
        }
        repositories {
            maven {
                if (isRelease) {
                    allowInsecureProtocol = true
                    url = 'http://10.xx.xxx.60:8081/repository/maven-releases/'
                    credentials {
                        it.username = 'admin'
                        it.password = 'xxxxx'
                    }
                } else {
                    allowInsecureProtocol = true
                    url = 'http://10.xx.xxx.60:8081/repository/maven-snapshots/'
                    credentials {
                        it.username = 'deployment'
                        it.password = 'xxxxxx'
                    }
                }

            }
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

参考

Plugin with id ‘maven’ not found.
maven-publish插件的使用
Plugin with id ‘maven’ not found
Plugin with id ‘maven‘ not found或者Plugin [id: ‘maven‘] was not found in any of the following sources
Using insecure protocols with repositories, without explicit opt-in, is unsupported. Switch Maven…

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/286938
推荐阅读
相关标签
  

闽ICP备14008679号