Что использовать вместо TaskInternal execute () в gradle-5.1.1? - PullRequest
1 голос
/ 16 мая 2019

Мое пользовательское задание на gradle-4.10.1:

task fabricUploadApkDevelop(group: "fabric", dependsOn: ['assembleDevDebug']) {
    doLast {
        //fabric gradle task `assembleRelease crashlyticsUploadDistributionDevDevelop` and options:
        def task = tasks.getByName("crashlyticsUploadDistributionDevDebug")
        task.ext.betaDistributionGroupAliases = "develop"
        task.ext.betaDistributionNotifications = true
        task.ext.betaDistributionReleaseNotesFilePath = "${project.rootDir}/app/build/outputs/apk/dev/debug/releaseNotes.txt"
        task.execute()
    }
}

Но на gradle-5.1.1:

TaskInternal.execute() удалено, поэтому я не могу запустить свой task.execute(),как изменить мою задачу?Или как запустить задачу crashlyticsUploadDistributionDevDebug с параметрами через терминал?

Я пытался использовать:

  //gradle 5.x
task fabricUploadApkDevelop(group: "fabric") {
    ext.betaDistributionGroupAliases = "develop"
    ext.betaDistributionNotifications = true
    ext.betaDistributionReleaseNotesFilePath = "${project.rootDir}/app/build/outputs/apk/dev/debug/releaseNotes.txt"

    doLast {
        ext.betaDistributionGroupAliases = "develop"
        ext.betaDistributionNotifications = true
        ext.betaDistributionReleaseNotesFilePath = "${project.rootDir}/app/build/outputs/apk/dev/debug/releaseNotes.txt"
    }

    finalizedBy 'crashlyticsUploadDistributionDevDebug'
}

Но crashlyticsUploadDistributionDevDebug задача не получает параметры ...

1 Ответ

1 голос
/ 21 мая 2019

Источники для плагина Fabric / Crashlytics Gradle не являются общедоступными (и я никогда не использовал его сам), иначе я бы проверил там.Но, учитывая ваш рабочий пример для Gradle 4 и глядя на проблему через мои ванильные очки Gradle, я ожидал, что с Gradle 5 может / может сработать следующее:

project.afterEvaluate {
    crashlyticsUploadDistributionDevDebug.doFirst {
        ext.betaDistributionGroupAliases = "develop"
        ext.betaDistributionNotifications = true
        ext.betaDistributionReleaseNotesFilePath = "${project.rootDir}/app/build/outputs/apk/dev/debug/releaseNotes.txt"
    }
}

task fabricUploadApkDevelop(group: "fabric") {
    dependsOn 'crashlyticsUploadDistributionDevDebug'
}

Я бы даже ожидал, чтобыть более хорошим способом сделать это, но так как я не могу проверить это сам, я хотел быть осторожным.Дайте мне знать, если это сработало или что не сработало!

...