Algunas diferencias causadas por diferentes versiones de Grdle

La versión de gradle se actualiza continuamente de forma iterativa. Después de la actualización, afectará algunas configuraciones, como la configuración de kotlin y la forma de cargar maven. Regístrelo aquí

Impacto en la configuración de kotlin

La versión de gradle de nuestro proyecto principal es 6.3, y la gramática de la configuración de koltin se usa para el proyecto. El tutorial del documento oficial es el mismo. El
inserte la descripción de la imagen aquí
número de versión de gradle del proyecto recién creado es 7.3.3

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí
En primer lugar, se ha ajustado la estructura gramatical, que poco tiene que ver. Lo más importante es que build.gradle de la aplicación no necesita depender de
la implementación 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:xxxx'
porque dependerá automáticamente de ella.
Sin embargo, la versión del complemento kotlin es requerido para la compatibilidad con otros proyectos en el paquete aar Cambiado a 1.3.72, el resultado es un error cuando se compila.
inserte la descripción de la imagen aquí
Puede ser que la versión anterior del complemento koltin no importe automáticamente el paquete kotlin-stdlib. Debe importe manualmente la
implementación 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.72 '
Será normal volver a compilar.

referencia

Agregar Kotlin a una aplicación existente

Impacto en la forma de subir maven

La forma anterior era

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

        }
    }
}

Ahora la sintaxis ha cambiado.

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

            }
        }
    }
}

referencia

Complemento con id 'maven' no encontrado.
maven-publish插件的使用
No se encontró el complemento con id 'maven' No
se encontró el complemento con id 'maven'或者No se encontró el complemento [id: 'maven'] en ninguna de las siguientes fuentes
Uso de protocolos inseguros con repositorios, sin opciones explícitas en, no es compatible. Cambia a Maven...

Supongo que te gusta

Origin blog.csdn.net/lizhongyisailang/article/details/131302568
Recomendado
Clasificación