我正在尝试在构建时上传到Crittercism,并将其放在gradle文件的底部。但是,当我构建调试时,它似乎不起作用。我究竟做错了什么?
task uploadMappingToProd() << {
def critterAppId = "abcde"
def appVersionName = "1.0.1"
def appVersionCode = "DEBUG"
def critterKey = "12345"
commandLine 'curl',
"https://app.crittercism.com/api_beta/proguard/$critterAppId",
'-F', 'proguard=@build/outputs/mapping/production/release/mapping.txt',
'-F', "app_version=$appVersionName-$appVersionCode",
'-F', "key=$critterKey"
type Exec
dependsOn 'assembleDebug'
}
最佳答案
完成此操作的方式,即定义的任务uploadMappingToProd
,如果由于某种原因而被调用,也会调用assembleDebug
。因为您已要求uploadMappingToProd
依赖assembleDebug
-而非相反。因此,assembleDebug
将愉快地完成而不会接近uploadMappingToProd
。
如果您希望反向依赖关系即assembleDebug
依赖uploadMappingToProd
,则需要在定义任务后添加此行。
afterEvaluate {
tasks.assembleDebug.dependsOn uploadMappingToProd
}
这将确保
uploadMappingToProd
每次都在assembleDebug
被调用之前被调用。