gradle - Gradle Artifactory插件 Artifactory 解析不起作用

标签 gradle artifactory

我正在尝试获取Gradle Artifactory插件来解决 Artifact 。

我的build.gradle文件在下面,被替换为正确的主机名

buildscript {
    repositories {
        maven { url 'http://jcenter.bintray.com' }
    }
    dependencies {
        classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '3.0.1')
    }
}

apply plugin: 'com.jfrog.artifactory'

artifactory {
   contextUrl = 'http://<URL>:8081/artifactory'   //The base Artifactory URL if not overridden by the publisher/resolver

   resolve {
      repository {
         repoKey = 'training'
         maven = true
      }
   }
}

configurations {
   deploy 
}

dependencies {
   deploy group: 'test', name: 'PolicyAdmin', version: '1.0', ext: 'ear'
}

task downloadFile {
    def fileExec = configurations.deploy.getSingleFile()
}

但是,当运行此命令时,它无法解析 Artifact 。依赖线是从Artifactory生成的。

我打算使用“旧的”发布机制。我的Gradle版本是2.0。

我尝试了带有maven2-default和gradle布局的人工仓库。

堆栈跟踪可以在http://textuploader.com/oljd中找到

调试跟踪可以在http://filebin.ca/1ecmeQ7zYEIU/debug.txt中找到

如果我改为使用Maven存储库,即

repositories {
   maven {
      url 'http://<URL>:8081/artifactory/repo'
   } 
}

然后 Artifact 将解决我因此对 Artifact DSL代码做错了或插件中存在错误的问题

我现在也已经在Gradle 1.12和Gradle 2.1上尝试过,但结果相同。

最佳答案

我想我找到了您要描述的问题的原因。
Gradle Artifactory插件似乎可以正常运行。
执行“artifactoryPublish”任务时,将按预期从Artifactory进行解析。
我还尝试将build.gradle任务(下载文件),依赖项配置(部署)和依赖项(如您的脚本中)添加到我的build.gradle中:

configurations {
   deploy 
}

dependencies {
   deploy group: 'test', name: 'PolicyAdmin', version: '1.0', ext: 'ear'
}

task downloadFile {
   def fileExec = configurations.deploy.getSingleFile()
}

当直接调用如上定义的downloadFile任务时,确实不会从Artifactory解析 Artifact (除非您当然将Artifactory添加为存储库)。
但是,如果您将<<添加到任务声明中:
task downloadFile << {
   def fileExec = configurations.deploy.getSingleFile()
}

Gradle将尝试从Artifactory解决 Artifactory 。
如Gradle文档中所述,在任务中添加“<<”等效于Task.doLast():
http://www.gradle.org/docs/current/dsl/org.gradle.api.Task.html

以上所有内容似乎与Gradle 2.x(带有插件的3.0.1版本)以及Gradle 1.x(带有插件的所有版本)一致。

关于gradle - Gradle Artifactory插件 Artifactory 解析不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26512005/

相关文章:

android - Android Gradle构建需要大量时间来执行代码

war - Artifactory 的运行权限

java - 人工Tomcat密码

java - Intellij 模块在重建时被遗忘

gradle - 为什么我的大型多项目 gradle 构建启动缓慢?

java - 未知源文件 : com. android.dex.DexException:多个 dex 文件定义 Lcom/google/android/gms/internal/zzpq;

mysql - 无法在 Docker 上加载 Artifactory

javascript - 如何在Json Node js中传递变量的值而不是变量名

gradle - 如何在 gradle 中优先考虑 mavenLocal 而不是 Artifactory 存储库?

android - Gradle 警告 : variant. getOutputFile() 和 variant.setOutputFile() 已弃用