使用Gradle发布工件的依赖关系

时间:2012-11-22 11:28:14

标签: gradle

我正在寻找一种方法让Gradle生成一个包含所有依赖项和传递依赖项的maven存储库。

例如,我的项目可以依赖于休眠。我想在磁盘上的某个地方用hibernate和它自己的依赖创建一个本地存储库。

我尝试了几种方法但没有成功:

  • uploadArtifact:似乎无法上传工件的依赖关系
  • 同步任务:我没有maven元数据,而且我没有传递依赖性

背景: 我的产品有一个引擎和一个webapp,可以部署为战争档案,EAR档案或没有webapp,有或没有一些组件。我需要为用户提供配置所需内容的方法以及生成它的脚本。 Gradle似乎是一个很好的候选者,但我没有看到如何创建一个包含所有可能需要的依赖项的本地存储库。

有没有人看到解决方案?

谢谢

2 个答案:

答案 0 :(得分:2)

目前没有一种简单的方法可以通过Gradle实现这一目标;你必须编写自己的解决方案脚本。特别是,您必须找到一种在发布存档时重新创建原始POM的方法。

答案 1 :(得分:0)

我找到了一个可供其他人使用的解决方案。 想法:使用maven生成存储库并使用程序集插件将项目打包为zip。 我假装maven:

<repositories>
    <repository>
        <id>my-internal-site</id>
        <url>file://${user.home}/.m2/repository</url>
    </repository>
</repositories>

并称之为:

mvn install -Dmaven.repo.local=./src/lib/

pom将包含主要依赖项和src dir包含在“bundle”

中的所有其他内容