man*_*ool 5 android kotlin build.gradle gradle-kotlin-dsl
我正在尝试将 build.gradle 文件迁移到 buildSrc 目录中的 build.gradle.kts 。请注意,在我的 buildSrc 中,我已经使用 java-gradle-plugin 并使用 org.gradle.api 中的 api 创建了一个 gradle 插件,例如插件、项目等。但是当我配置脚本时,我在文件中得到了一个未解析的引用,该引用使用 org .gradle.api
这是 build.gradle 文件的代码
plugins {
id 'java'
id 'java-gradle-plugin'
id 'org.jetbrains.kotlin.jvm' version '1.3.21'
}
gradlePlugin {
plugins {
netguard {
id = 'pluginId'
implementationClass = 'myplugin.plugin.awesomeplugin'
}
}
}
repositories {
mavenCentral()
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud)
这是迁移后的 build.gradle.kts
import org.gradle.kotlin.dsl.*
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
`kotlin-dsl`
java
`java-gradle-plugin`
id("org.jetbrains.kotlin.jvm") version "1.3.21"
}
gradlePlugin {
plugins {
create("netguard") {
id = "pluginId"
implementationClass = "myplugin.plugin.awesomeplugin"
}
}
}
repositories {
mavenCentral()
}
dependencies {
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
}
val compileKotlin: KotlinCompile by tasks
compileKotlin.kotlinOptions.jvmTarget = "1.8"
val compileTestKotlin: KotlinCompile by tasks
compileTestKotlin.kotlinOptions.jvmTarget = "1.8"
Run Code Online (Sandbox Code Playgroud)
这里有一些来自 org.gradle.api 的未解决的参考
org.gradle.api.Plugin
org.gradle.api.Project
org.gradle.api.file.ConfigurableFileTree
org.gradle.testing.jacoco.plugins.JacocoPluginExtension
org.gradle.testing.jacoco.tasks.JacocoCoverageVerification
org.gradle.testing.jacoco.tasks.JacocoReport
...
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激。谢谢你!