PlayFramework 2.0         プラグイン         イロハのイ      原 一浩 @kara_d
原 一浩   @kara_d   http://greative.jp/
本日のセッション内容➡   Playプラグインを入れてみよう➡   Playプラグインとはなにか➡   Typesafe社製プラグインでまなぶ    オリジナルプラグイン作成のための構成                          3
Playプラグインを入れてみよう             4
入れてみるプラグイン➡   Groovy Template Engine for Play 2➡   play2-project-info                                        5
アプリケーション用プラグイン➡   Groovy Template Engine for Play 2    •   https://github.com/mbknor/gt-engine-play2                      ...
Build.scalaに書く val	  appDependencies	  =	  Seq( 	  	  //	  Add	  your	  project	  dependencies	  here, 	  	  "kjetland"	  ...
Runした後に依存管理が行われる [info]	  Updating	  {file:/Users/hoge/study_play20/ testSample5/}testSample5... [info]	  Resolving	   org...
コンソール用プラグイン➡   Project Information module for Play2!    •   https://github.com/karad/play2-project-info                   ...
Plugins.sbtに書く resolvers	  +=	  "Greative	  Maven	  Repository"	  at	  "https:// github.com/karad/maven-­‐repo/raw/master/...
Playプラグインとはなにか                 11
Playプラグインは、➡   Play上の機能追加、依存管理する仕組み    •   アプリケーションの機能拡張    •   ライブラリの追加    •   対話型コンソールの機能拡張➡   Playのプラグイン自体は、コンパイル済みのjar...
Playコンソールについて➡   Playコンソールはsbtコンソールの拡張➡   sbt    •   sbt is a build tool for Scala and Java projects that aims to do      ...
Playとsbtの関係➡   Play 2.0以降、sbtが全面採用    •   Playコマンド用    •   ライブラリ、プラグインの依存管理用    •   ビルド用                            14
Playにおけるプラグインの種類➡   アプリケーション    •   Model    •   Controller    •   View        - Tag➡   クラスライブラリ    •   jar➡   コンソール    • ...
Playプラグインは何で書くの?➡   クラスライブラリとしてのプラグイン    •   Java/Scala両方➡   アプリケーションのプラグイン    •   プロジェクトによる➡   コンソール型のプラグイン    •   Scala ...
Typesafe社製プラグインでまなぶオリジナルプラグイン作成のための構成                   17
参考になるもの➡   play-plugins    •   https://github.com/typesafehub/play-plugins        - dustプラグインとか参考になる➡   play本体    •   proj...
フォルダ構成➡   conf/    •   application.conf➡   project/    •   build.properties    •   Build.scala    •   plugins.sbt➡   sbt-p...
使うファイル➡   プラグイン本体のソース    •   HogeKeys.scala    •   HogePlugin.scala    •   HogeTasks.scala➡   ビルド用ファイル    •   Build.scala ...
リポジトリってどうなってるの?➡   Gitをmavenリポジトリとしているプラグインが多い    •   ライブラリのリポジトリと、mavenリポジトリで分ける    •   メリット        - URLが出来る        - マニ...
ありがとうございました7/14 第3回playframework勉強会http://playframeworkja.doorkeeper.jp/events/1231-%E7%AC%AC3%E5%9B%9Eplayframework%E5%8B...
Upcoming SlideShare
Loading in...5
×

Playbay Play 2.0 plugin イロハのイ

2,390

Published on

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,390
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Playbay Play 2.0 plugin イロハのイ

  1. 1. PlayFramework 2.0 プラグイン イロハのイ 原 一浩 @kara_d
  2. 2. 原 一浩 @kara_d http://greative.jp/
  3. 3. 本日のセッション内容➡ Playプラグインを入れてみよう➡ Playプラグインとはなにか➡ Typesafe社製プラグインでまなぶ オリジナルプラグイン作成のための構成 3
  4. 4. Playプラグインを入れてみよう 4
  5. 5. 入れてみるプラグイン➡ Groovy Template Engine for Play 2➡ play2-project-info 5
  6. 6. アプリケーション用プラグイン➡ Groovy Template Engine for Play 2 • https://github.com/mbknor/gt-engine-play2 デモ 6
  7. 7. Build.scalaに書く val  appDependencies  =  Seq(    //  Add  your  project  dependencies  here,    "kjetland"  %%  "gt-­‐engine-­‐play2"  %  "0.1.6" ) val  main  =  PlayProject(appName,  appVersion,   appDependencies,  mainLang  =  JAVA).settings(    //  Add  your  own  project  settings  here            resolvers  +=  "mbknor  github  Repository"  at  "http:// mbknor.github.com/m2repo/releases/"     ) 7
  8. 8. Runした後に依存管理が行われる [info]  Updating  {file:/Users/hoge/study_play20/ testSample5/}testSample5... [info]  Resolving   org.hibernate.javax.persistence#hibernate-­‐jpa-­‐2.0-­‐api; 1.0.1.Fin                                                                                               [info]  downloading  http://mbknor.github.com/m2repo/ releases/kjetland/gt-­‐engine-­‐play2_2.9.1/0.1.6/gt-­‐ engine-­‐play2_2.9.1-­‐0.1.6.jar  ... [info]     [SUCCESSFUL  ]  kjetland#gt-­‐engine-­‐ play2_2.9.1;0.1.6!gt-­‐engine-­‐play2_2.9.1.jar  (2004ms) [info]  downloading  http://mbknor.github.com/m2repo/ releases/kjetland/gt-­‐engine_2.9.1/0.1.7.12/gt-­‐ engine_2.9.1-­‐0.1.7.12.jar  ... [info]     [SUCCESSFUL  ]  kjetland#gt-­‐ engine_2.9.1;0.1.7.12!gt-­‐engine_2.9.1.jar  (1179ms) [info]  downloading  http://repo.typesafe.com/typesafe/ releases/org/codehaus/groovy/groovy/1.8.6/ groovy-­‐1.8.6.jar  ... 8
  9. 9. コンソール用プラグイン➡ Project Information module for Play2! • https://github.com/karad/play2-project-info デモ 9
  10. 10. Plugins.sbtに書く resolvers  +=  "Greative  Maven  Repository"  at  "https:// github.com/karad/maven-­‐repo/raw/master/release/" addSbtPlugin("jp.greative"  %  "play2-­‐project-­‐info-­‐sbt"   %  "0.1") 10
  11. 11. Playプラグインとはなにか 11
  12. 12. Playプラグインは、➡ Play上の機能追加、依存管理する仕組み • アプリケーションの機能拡張 • ライブラリの追加 • 対話型コンソールの機能拡張➡ Playのプラグイン自体は、コンパイル済みのjar • これをsbtを使って依存管理する • ただし、Playコンソール系は別 12
  13. 13. Playコンソールについて➡ Playコンソールはsbtコンソールの拡張➡ sbt • sbt is a build tool for Scala and Java projects that aims to do the basics well. It requires Java 1.6 or later.➡ .sbtと.scala • .sbt build definition uses a Scala-based "domain-specific language" (DSL)➡ 始める sbt • http://scalajp.github.com/sbt-getting-started-guide-ja/ 13
  14. 14. Playとsbtの関係➡ Play 2.0以降、sbtが全面採用 • Playコマンド用 • ライブラリ、プラグインの依存管理用 • ビルド用 14
  15. 15. Playにおけるプラグインの種類➡ アプリケーション • Model • Controller • View - Tag➡ クラスライブラリ • jar➡ コンソール • sbtのコンソール - sbtプラグインとして作成 15
  16. 16. Playプラグインは何で書くの?➡ クラスライブラリとしてのプラグイン • Java/Scala両方➡ アプリケーションのプラグイン • プロジェクトによる➡ コンソール型のプラグイン • Scala 16
  17. 17. Typesafe社製プラグインでまなぶオリジナルプラグイン作成のための構成 17
  18. 18. 参考になるもの➡ play-plugins • https://github.com/typesafehub/play-plugins - dustプラグインとか参考になる➡ play本体 • project - Build.scala • framework - src console sbt-plugin 18
  19. 19. フォルダ構成➡ conf/ • application.conf➡ project/ • build.properties • Build.scala • plugins.sbt➡ sbt-plugin/ • src/ - main/ scala/➡ README.md 19
  20. 20. 使うファイル➡ プラグイン本体のソース • HogeKeys.scala • HogePlugin.scala • HogeTasks.scala➡ ビルド用ファイル • Build.scala デモ 20
  21. 21. リポジトリってどうなってるの?➡ Gitをmavenリポジトリとしているプラグインが多い • ライブラリのリポジトリと、mavenリポジトリで分ける • メリット - URLが出来る - マニュアル置ける - アップロード楽 - 無料 デモ 21
  22. 22. ありがとうございました7/14 第3回playframework勉強会http://playframeworkja.doorkeeper.jp/events/1231-%E7%AC%AC3%E5%9B%9Eplayframework%E5%8B%89%E5%BC%B7%E4%BC%9A-play_ja日本Play frameworkユーザー会https://groups.google.com/group/play_ja?hl=ja 22
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×