Настройка скрипта Kotlin Gradle - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь скомпилировать простой скрипт Kotlin Gradle. Я создал проект в Idea с build.gradle.kts со следующим содержимым:

group = "org.example"
version = "1.0-SNAPSHOT"

tasks {
    register("runScript", Copy::class) {
        from("data")
        into("out")
    }
}

Он был вдохновлен образцом копирования в хранилище gradle / kotlin-dsl и не компилируется ни из IDE, ни из gradlew в терминале. Это дает мне эти ошибки:

e: /Users/dalexiv/Workspace/script-zipper/build.gradle.kts:5:5: Unresolved reference: register
e: /Users/dalexiv/Workspace/script-zipper/build.gradle.kts:5:27: Unresolved reference: Copy
e: /Users/dalexiv/Workspace/script-zipper/build.gradle.kts:6:9: Unresolved reference: from
e: /Users/dalexiv/Workspace/script-zipper/build.gradle.kts:7:9: Unresolved reference: into

Может быть, я пропустил какой-нибудь плагин для включения? Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Проблема в том, что вы используете Gradle с версией ниже, чем 4.10 .

В случае gradlew вы можете проверить файл <project>/gradle/wrapper/gradle-wrapper.properties на значение distributionUrl и изменить его на версию 4.10+, например ::

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

Говоря об IDE, я полагаю, что вы используете IntelliJ IDEA (или какого-нибудь брата). Проблема в том, что текущая версия IDEA (2018.2.3) генерирует - для Gradle Kotlin DSL project - Gradle обертка с версией 4.8, что вызывает твоя проблема. Если в вашем проекте IntelliJ используется оболочка Gradle , решение будет таким же, как и выше.

Другим решением может быть установка локального распределения Gradle с версией 4.10+.

enter image description here

0 голосов
/ 03 сентября 2018
tasks.register("runScript", Copy::class.java) {
    from("data")
    into("out")
}
...