在 gradle-5.1.1 代替 TaskInternal execute() 有什么用?
What use instead of TaskInternal execute() at gradle-5.1.1?
我在 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
任务没有得到参数...
Fabric/Crashlytics Gradle 插件的来源似乎没有公开(而且我自己从未使用过),否则我会在那里检查。但是鉴于 Gradle 4 的工作示例并通过我的普通 Gradle 眼镜查看问题,我希望以下 should/could 与 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'
}
我什至希望有更好的方法来做到这一点,但由于我无法自己测试,所以我想谨慎行事。让我知道它是否有效或无效!
我在 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
任务没有得到参数...
Fabric/Crashlytics Gradle 插件的来源似乎没有公开(而且我自己从未使用过),否则我会在那里检查。但是鉴于 Gradle 4 的工作示例并通过我的普通 Gradle 眼镜查看问题,我希望以下 should/could 与 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'
}
我什至希望有更好的方法来做到这一点,但由于我无法自己测试,所以我想谨慎行事。让我知道它是否有效或无效!