Play Framework 2.0は、Webアプリケーションを作成するためのフルスタックスタンドアロンフレームワークです。それにもかかわらず、おそらく多くの人がそれをビルド管理に統合する必要があります。残念ながら、私は彼について多くの情報を見つけられませんでした。
これが私のユースケースです:ScalaとPlay2.0を使用する新しいプロジェクトを作成したい。sbtを使用したくない。Gradleを使用したいので、依存関係の管理を行う必要がある。 Mavenリポジトリ経由。
私はこのプレイモジュールのみを見つけました: http://www.playframework.org/modules/maven-1.0/home Mavenを介した依存関係管理をサポートします。
Grailsで次の例のようなものを探しています: https://github.com/grails/grails-gradle-plugin または http://grails.org/doc/latest/ guide/commandLine.html#4.5%20Ant%20and%20Maven
もちろん、「プレイコンソールコマンド」を呼び出すスクリプト/タスクを書くこともできます。しかし、私はこの解決策が好きではありません。ビルド管理にGradle/Mavenを使用するより良い方法はありますか?これが唯一の解決策である場合は、Gradleを使用します。GradleはPlayコマンド(つまり、内部でsbt)を呼び出します。これは機能しますか、それとも他の問題が発生しますか?
これは非常にトリッキーなビジネスです。 PlayのSBTは、依存関係のフェッチ、ソースとテンプレートのコンパイル、およびSBTインクリメンタルコンパイル+自動リロード機能に使用されます。すべてのPlay2.0依存関係を解決し、EclipseまたはIntelliJ IDEAクラスパスを設定するために、build.gradle
スクリプトを作成し、それを ここで公開 にしました。
後で時間があるときにコンパイルを実装しようとしますが、それにはいくつかの調査が必要になります。もちろん、SBTに委任するだけのコンパイルタスクと実行タスクを追加することはできますが、SBTとGradleの両方ですべてのプロジェクトの依存関係を記述する必要があり、管理が難しくなります。
編集:
sample build.gradle ファイルを更新しました。 CI環境で役立つplayCompile
タスクとplayClean
タスクを追加しました。 playCompile
タスクは次のことを行います。
compile
構成で定義)をlib/
フォルダーにコピーします。これは、Playがlib/
の下からすべてのjarファイルを親切に取得するために機能します。play compile
コマンドを実行して、すべてのソース、テンプレート、およびその他のPlayフレームワークのものをコンパイルします。cleanCopyPlayLibs
とplayClean
を使用して、それぞれ上記のコマンドの出力を削除できます。
Windowsには奇妙な問題(バグ?)があるように見えることに注意してください。つまり、play compile
が失敗しても、gradleは成功したことを通知します。
コメントへの返信:
私はあなたが単に行方不明だと思います
repositories{
mavenCentral()
}
あなたのファイルで。チェック このドキュメントアウト 。
朗報です。Gradle2.7の時点で、公式の再生プラグインがあります: https://docs.gradle.org/current/userguide/play_plugin.html
LinkedInは現在これをサポートするためにGradleプラグインを作成しています 。彼らはこれを3つのマイルストーンで展開しています:
Milestone 1はすでに完成しています。Gradleナイトリービルド から入手できます。上記のリンクされたブログ投稿で、彼らは人々にそれを試してみるように勧めています。
Play Framework 1.2.x用のGradleで、Play2.xにも使用できる簡単なビルドスクリプトを設計しました。