我有一个正在尝试迁移到 Play 2.0.2 的 Play 1.2.4 应用程序。我目前在 Play 1.2.4 中有这样的结构:
网站依赖于前端目录依赖于前端前端依赖于(编译视图时定义的路由文件)
Frontend 包含一组可供网站和目录使用的视图。做出这个决定是因为 Catalog 非常轻量级,并且用于前端的快速开发。虽然网站中有更多的代码并且需要更长的时间来编码/编译/测试。
我无法将这些项目设置为像这里描述的子项目http://www.playframework.org/documentation/2.0/SBTSubProjects因为存在循环依赖。视图使用 Asset.of 需要定义路由文件。但是网站和目录都定义了一个路由文件,而 Play 2.0 不支持来自依赖项的路由文件(这应该在 Play 2.1 中出现)。在目录中,视图在控制器中被引用。
我在想,如果我可以将前端的构建逻辑更改为不尝试编译视图,而只是发布包含它们的工件,那么我可以让网站和目录将这些工件添加到它定义的视图中并一起构建它们。这将打破我的循环依赖。
以前有没有其他人这样做过?我是 SBT 的初学者,甚至不知道这是否可能。谁能告诉我如何修改 Build.scala 文件以停止编译视图而是导出它们?把它做成一个 SBT 插件对我来说有意义吗?如果您知道任何显示如何执行此操作的代码,您可以发布代码的链接吗?