#kotlin #gradle #gradle-kotlin-dsl #jitpack
Вопрос:
Когда я использую groovy, проблем нет, но когда я перехожу на kotlin DSL, у меня возникает проблема.
вот журнал из jitpack:
СБОЙ: Сборка завершилась неудачно с исключением.
- Где: Файл сборки ‘/home/jitpack/сборка/Общая функция/сборка.gradle.kts’ строка: 1
- Что пошло не так: Плагин [идентификатор: ‘com.android.библиотека’] не был найден ни в одном из следующих источников:
- Основные плагины Gradle (плагин не находится в пространстве имен «org.gradle»)
- Репозитории плагинов (зависимость плагина должна включать номер версии для этого источника)
Я уже пробовал какой-то способ, например, добавить apply(плагин = «com.android.библиотека») в свой класс kts, но это не работает,
вот мой файл gradle
Проекты Gradle:
buildscript {
repositories {
mavenCentral()
jcenter()
google()
}
dependencies {
classpath(Config.Dependencies.androidPlugin)
classpath(Config.Dependencies.kotlinPlugin)
}
}
allprojects {
repositories {
mavenCentral()
jcenter()
google()
maven { url = uri(Config.Repositories.gradleMaven) }
}
}
tasks.register("clean",Delete::class){ delete(rootProject.buildDir) }
Модуль градуировки:
plugins {
id(Config.Plugins.androidLibrary)
id(Config.Plugins.kotlinAndroid)
id(Config.Plugins.kotlinKapt)
}
android {
compileSdkVersion(Versions.compileSdk)
defaultConfig {
minSdkVersion(Versions.minSdk)
targetSdkVersion(Versions.targetSdk)
versionCode = Versions.versionCode
versionName = Versions.versionName
testInstrumentationRunner = Config.testRunner
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
getByName("release") {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
buildFeatures.viewBinding = true
kotlinOptions.jvmTarget = "1.8"
}
dependencies {
implementation(Libraries.kotlinStdlib)
implementation(Libraries.coreKtx)
implementation(Libraries.appCompat)
implementation(Libraries.constraintLayout)
implementation(Libraries.legacySupport)
implementation(Libraries.fragmentKtx)
androidTestImplementation(Libraries.testJunit)
androidTestImplementation(Libraries.espressoCore)
implementation(Libraries.material)
testImplementation(Libraries.jUnit)
}
Комментарии:
1. Синтаксис применения плагинов kotlin в Kotlin DSL отличается (см. kotlinlang.org/docs/gradle.html )