簡體   English   中英

如何使用Maven依賴項將Play Framework 2.0集成到Gradle構建管理中?

[英]How to integrate Play Framework 2.0 into Gradle build management using Maven dependencies?

Play framework 2.0是一個用於創建Web應用程序的全棧獨立框架。 然而,可能許多人需要將其集成到他們的構建管理中。 不幸的是,我沒有找到關於他的更多信息。

這是我的用例:我想創建一個使用Scala和Play 2.0的新項目。 我不想使用sbt。 我想使用Gradle,依賴管理應該通過Maven存儲庫完成。

我只找到了這個播放模塊: http//www.playframework.org/modules/maven-1.0/home ,它通過Maven支持依賴管理。

我在Grails中尋找類似這些示例的內容: https//github.com/grails/grails-gradle-pluginhttp://grails.org/doc/latest/guide/commandLine.html#4.5%20Ant%20and %20Maven

當然,我可以編寫調用“播放控制台命令”的腳本/任務。 雖然,我不喜歡這個解決方案。 有沒有更好的方法來使用Gradle / Maven進行構建管理? 如果這是唯一的解決方案,那么我會使用Gradle,然后調用Play命令(即內部sbt),對嗎? 這是否有效,還是會出現其他問題?

這是一項非常棘手的業務。 Play中的SBT用於獲取依賴項,編譯源和模板,以及SBT增量編譯+自動重新加載功能。 我編寫了一個build.gradle腳本來解析所有Play 2.0依賴項並設置Eclipse或IntelliJ IDEA類路徑,並在此處公開

我會在有空的時候嘗試實施編譯,但這需要一些研究。 當然,您可以添加僅委托給SBT的編譯和運行任務,但這需要在SBT和Gradle中描述所有項目依賴項,這將很難管理。

編輯:

我更新了示例build.gradle文件。 我添加了playCompileplayClean任務, playClean任務應該有助於CI環境。 playCompile任務執行以下操作:

  1. 將所有用戶依賴項(在compile配置中定義)復制到lib/文件夾。 這是有效的,因為Play將從lib/下獲取所有罐子。
  2. 執行play compile命令來編譯所有源代碼,模板和其他Play框架的東西。

您可以使用cleanCopyPlayLibsplayClean分別刪除上述命令的輸出。

請注意,在Windows上似乎存在一個奇怪的問題(錯誤?),這意味着即使play compile失敗,gradle也會告訴您它成功了。

回復評論:

我想你只是失蹤了

repositories{
  mavenCentral()
}

在你的文件中。 檢查此文檔

好消息,從Gradle 2.7開始,有一個官方播放插件: https//docs.gradle.org/current/userguide/play_plugin.html

LinkedIn目前正在制作Gradle插件來支持這一點 他們在3個里程碑中推出了這個:

  1. 使用Gradle構建Play應用程序
  2. 連續模式和熱重新加載
  3. Scala交互式REPL

里程碑1已經完成。 它可以通過Gradle夜間版本獲得 在上面鏈接的博客文章中,他們鼓勵人們嘗試一下。

我在Gradle for Play Framework 1.2.x中設計了一個簡單的構建腳本,您也可以將其用於Play 2.x.

https://github.com/kirang89/play-gradle

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM