Я пытаюсь опубликовать sh Lambda zip файл на s3- s3://my-aws-lambda/<projectName>/[release|SNAPSHOT]/
. Задача, определенная ниже, publishToS3
завершается неудачно с сообщением
Caused by: java.io.FileNotFoundException: /Users/me/my-lambda/build/distributions
, когда я запускаю
./gradlew clean build -x test -x release
Оцените любую помощь. Спасибо.
task buildZip(type: Zip) {
from compileJava
from processResources
into('lib') {
from configurations.runtimeClasspath
}
}
task publishToS3(type: Exec, dependsOn: buildZip) {
onlyIf { file("${project.buildDir}/distributions").exist() }
def artifacts = new FileNameByRegexFinder().getFileNames("${project.buildDir}/distributions", /.*\.zip/)
assert artifacts.size() == 1
def isSnapShot = artifacts[0].endsWith('-SNAPSHOT.zip')
def releaseCmd = ("aws s3 cp " +
"${artifacts[0]} " +
"s3://my-aws-lambdas/${project.name}/${isSnapShot ? 'SNAPSHOT' : 'release'}/ ").trim().tokenize(' ') as List
workingDir "${project.buildDir}/distributions"
commandLine releaseCmd
}
build.dependsOn buildZip