我创建了一个任务,可以提取本地 .tar 文件(我之前从 Artifactory 手动下载)作为测试。当文件在我的 gradle 脚本中的 Artifactory 上时,如何引用它们?我应该只使用服务器路径吗?我对 gradle 所做的只是基本的东西,还没有使用存储库。
我还想根据我上次运行脚本后文件是否发生更改来执行某个操作,这可能吗?
我创建了一个任务,可以提取本地 .tar 文件(我之前从 Artifactory 手动下载)作为测试。当文件在我的 gradle 脚本中的 Artifactory 上时,如何引用它们?我应该只使用服务器路径吗?我对 gradle 所做的只是基本的东西,还没有使用存储库。
我还想根据我上次运行脚本后文件是否发生更改来执行某个操作,这可能吗?
一种方法是configuration
为您的 TAR 文件创建一个新文件。在我的例子中,我给它起了名字myTar
。在 repositories 闭包中,您定义 Artifactory 存储库的 URL,并将 TAR 文件作为dependencies
闭包中的依赖项引用。运行 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'))
}
}