使用gradle访问存储库中的最新文件

时间:2012-06-16 19:19:07

标签: build gradle artifactory

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

我还想根据自上次运行脚本后文件是否发生变化而执行某项操作,这可能吗?

1 个答案:

答案 0 :(得分:1)

执行此操作的一种方法是为您的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'))
    }
}