从SourceForge下载依赖项

时间:2014-01-23 07:26:49

标签: gradle

我的项目取决于Jacob。 Maven Central上的工件已经过时了,所以我想直接从SF下载它们。但我不知道如何用gradle做到这一点。

更具体地说,我试图实现的是:

  1. 从SF下载.zip发行版。
  2. 解压缩发行版并解压缩.jar(重命名,以便.jar文件名包含版本)和两个.dll。
  3. 将解压缩的.jar添加到编译配置中。
  4. 测试对.dll具有运行时依赖性。
  5. 最终项目.jar应包含jacob.jar和.dlls。
  6. 这是一个非常开放的问题,我想我知道如何做清单上的一些要点。任务2可能只是一个复制任务,任务5只是告诉gradle什么进入jar。任务1看起来应该很容易,但我不认为复制任务接受URL作为源。

    我真的不知道该怎么做,是任务3.我如何将一个派生资源添加到一个配置中,如果它没有,就让它触发一个任务?它类似于正常的依赖关系解析,但是包含的依赖关系是从另一个转换的依赖关系派生的。

    我意识到简单的方法是在我的项目中包含Jacob依赖项,但我真的不喜欢用二进制工件污染我的SCM存储库: - )

1 个答案:

答案 0 :(得分:0)

对于第1步,您必须编写自己的下载任务(使用Groovy应该很容易)。如果您事先知道解压缩Jar的路径,则步骤3已经可以在配置阶段完成。因此,您只需添加常规文件依赖项。你是对的第2步和第5步。步骤4可能会配置test任务(例如,你可能需要为本机代码位置设置系统属性)。剩下的就是建立必要的任务依赖。