2014-01-23 68 views
0

我有一个项目取决于Jacob。 Maven中心的工件相当过时,所以我想直接从SF下载它们。但我不知道如何用gradle来做到这一点。从SourceForge下载依赖关系

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

  1. 下载SF从分发.zip文件。
  2. 解压缩发行版并提取.jar(使用重命名以便.jar文件名包含版本)和两个.dll文件。
  3. 将提取的.jar添加到编译配置中。
  4. 测试对.dlls具有运行时依赖关系。
  5. 最终项目.jar应包含jacob.jar和.dlls。

这是一个相当开放的问题,我想我知道如何做一些列表上的要点。任务2可能只是一个复制任务,任务5只是告诉gradle什么进入jar。任务1似乎应该很容易,但我认为复制任务不接受URL作为源。

我真的不知道该怎么做,是任务3.如何将派生资源添加到配置中,并使其触发任务(如果它不存在)?它就像正常的依赖关系解析一样,但是包含的依赖关系是从另一个已转换的依赖关系派生的。

我意识到,简单的办法是只在自己的项目雅各布依赖关系,但我真的不喜欢用二进制工件污染我的SCM仓库:-)

回答

0

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