我创建了一个任务,可以提取本地.tar文件(我以前从Artifactory手动下载)作为测试。如何从Gradle脚本中将文件引用到Artifactory上?我应该只使用服务器路径吗?我用gradle做的所有事情都是基本的东西,并没有使用存储库。
我还想根据自上次运行脚本后文件是否发生变化而执行某项操作,这可能吗?
答案 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'))
}
}