0

我创建了一个任务,可以提取本地 .tar 文件(我之前从 Artifactory 手动下载)作为测试。当文件在我的 gradle 脚本中的 Artifactory 上时,如何引用它们?我应该只使用服务器路径吗?我对 gradle 所做的只是基本的东西,还没有使用存储库。

我还想根据我上次运行脚本后文件是否发生更改来执行某个操作,这可能吗?

4

1 回答 1

1

一种方法是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'))
    }
}
于 2012-06-17T14:05:13.133 回答