我有一个使用Play框架编写的项目,称为myproject-web
。它主要是另一个项目上的薄HTTP层,它构成了整个业务逻辑的核心,称为myproject-engine
。在我的构 build 置中,myproject-web
是一个sbt项目,而myproject-engine
是一个Gradle项目。
我想要实现的是,无论何时我尝试构建play应用程序(在myproject-engine
上,或者在开发人员模式下自动发生)或执行run
时,Play都将play dist
识别为依赖项,并调用gradle进行构建。可能吗?对我来说最重要的是,它会自动加载myproject-engine
具有的所有依赖项。
最终,我希望达到的状态是,我为这些项目托管我的Maven存储库,然后SBT可以简单地从那里提取此程序包,并将获得其所有依赖项。设置起来比较容易吗?即使是这样,维护起来也相对容易吗?
最佳答案
正如@ Peter-Niederwieser在其评论中指出的那样,我认为唯一可行的解决方案是建立一个maven / ivy / gradle存储库,将myproject-engine
Gradle项目发布到该存储库。使用正确的resolvers
,无论项目使用何种构建工具,该项目都将成为另一个项目依赖项。
请参阅sbt的官方文档中的Resolvers。
关于maven - 如何将gradle项目定义为Play中的库依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23908087/