Тем временем я нашел лучший способ сделать это ...
// it sets task.finalizedBy for :bundle
tasks.whenTaskAdded { task ->
switch (task.name) {
case 'bundleDebug':
case 'bundleRelease':
task.finalizedBy renameBundle
break
}
}
, используя задачу Exec
(все еще удивляясь, как будет выглядеть синтаксис задачи ant.move
):
// it finalizes task :bundle
task renameBundle (type: Exec) {
description "it renames an Android App Bundle"
def bundlePath = rootProject.getProjectDir().getAbsolutePath() + "/${project.name}/build/outputs/bundle/release/"
def baseName = getProperty('archivesBaseName')
def srcFile = "${baseName}.aab"
def dstFile = "${baseName}_renamed.aab"
def stdout = new ByteArrayOutputStream()
def stderr = new ByteArrayOutputStream()
commandLine "mv", "-v", "${srcFile}", "${dstFile}"
workingDir = bundlePath
ignoreExitValue true
standardOutput stdout
errorOutput stderr
doLast {
if (execResult.getExitValue() == 0) {
println ":${project.name}:${name} > ${stdout.toString()}"
} else {
println ":${project.name}:${name} > ${stderr.toString()}"
}
}
}
Это ничего не оставляет - и вы можете переместить файл туда, куда захотите.