在 gradle-cargo 插件中配置可部署文件

Configure deployable file in gradle-cargo plugin

我正在尝试部署从存储库下载的文件。我将无法猜测事先下载的文件版本。那么我该如何明确引用这个文件呢?

例如:我从存储库下载的文件看起来像 myfile-1.0.134243.war。我无法将此文件明确引用为 file = file("${buildDir}/repo/myfile-1.0.134243.war"),因为我对版本一无所知。

这就是我的配置现在的样子。

cargo {
   containerId = 'tomcat7x'
   port = 8080
   deployable {
       file = file("${buildDir}/repo").listFiles()[0]
       context = "${project.name}"
   }
   remote {
       hostname = "mytomcatserver"
       username = "${tomcat_username}"
       password = "${tomcat_password}"
       timeout = 6000
   }
}

我已将 doLast 任务添加到从存储库下载 artitact 的下载任务。在该任务中,我重命名了下载的文件并删除了所有版本信息,然后将该文件引用为 file = file("${buildDir}/repo/${project.name}.war")在货物配置中。

mydownloadtask.doLast{
   copy {
      from "${buildDir}/repo"
      into "${buildDir}/repo"
      rename (/[a-zA-Z0-9-_\.]+.[a-z]/, "${project.name}.war")
   }
}