Добавьте зависимость и плагин в отдельный файл, используя «применить из» в Gradle - PullRequest
0 голосов
/ 28 июня 2018

My build.gradle внутри каталога приложения содержит:

apply plugin: 'com.android.application'

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

allprojects {
    repositories {
        mavenCentral();
        jcenter()
    }
}
def hasBuildExtras = file('build-extras.gradle').exists()
if (hasBuildExtras) {
    apply from: 'build-extras.gradle'
}

А это мой build-extras.gradle файл:

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
    dependencies {
        classpath 'com.github.triplet.gradle:play-publisher:1.2.2'
    }
}

apply plugin: 'com.github.triplet.play'

Правильно ли считать, что build-extras.gradle должно быть "объединено" внутри исходного файла? Независимо от того, как я перемещаю его, я получаю Error:Plugin with id 'com.github.triplet.play' not found. Если я переместу classpath 'com.github.triplet.gradle:play-publisher:1.2.2' к основному файлу и оставлю только apply plugin: 'com.github.triplet.play' внутри build-extras.gradle, то, похоже, он будет работать нормально. Так я неправильно определяю зависимости?

1 Ответ

0 голосов
/ 29 июня 2018

Файл build.gradle может содержать только один блок buildscript. Вы правы с объяснением абзаца. Добавьте зависимость плагина к блоку dependencies вашего основного файла сборки внутри buildscript, затем условно примените плагин, используя любую логику, какую захотите.

...