我创建了一个任务,该任务可以提取本地.tar文件(我以前是从Artifactory手动下载的)作为测试。我的gradle脚本中的文件在Artifactory上时如何引用?我应该只使用服务器路径吗?我使用gradle所做的只是基本的东西,还没有使用存储库。
我还想根据自上次运行脚本以来文件是否已更改执行某种操作,这可能吗?
最佳答案
一种方法是为您的TAR文件创建一个新的configuration
。在我的示例中,我给它起了名字myTar
。在存储库闭包中,您定义Artifactory存储库的URL,并在dependencies
闭包中引用TAR文件作为依赖项。运行Gradle时,它将为您下载文件并将其放入本地存储库中。在我阅读时,您已经创建了一个提取TAR文件的任务。我创建了一个名为extractMyTar
的任务,该任务通过其配置名称引用您下载的TAR文件,并将其解压缩到本地目录中。
configurations {
myTar
}
repositories {
mavenRepo urls: 'http://my.artifactory/repo'
}
dependencies {
myTar 'your.org:artifact-name:1.0@tar'
}
task extractMyTar << {
File myTarFile = configurations.getByName('myTar').singleFile
if(myTarFile.exists()) {
ant.untar(src: myTarFile, dest: file('myDestDir'))
}
}
关于build - 使用Gradle访问存储库中的最新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066333/