とりあえず使えるSBT
-
Upload
kiyotaka-kunihira -
Category
Technology
-
view
849 -
download
0
description
Transcript of とりあえず使えるSBT
とりあえず 使えるSBT
@Kuchitama 関西Scalaビギナーズ 2014/09/20
ver 1.0
自己紹介
•@Kuchitama(国平清貴) • FuRyu株式会社 • 勉強会 • Kyoto.clj (Clojure) • ScalaMatsuriスタッフ • 関西ソーシャルゲーム勉強会
対象者
•REPLが使える人
•ちょっと実践的なScalaプログラミングがしたくなった人
•Scala学習中の人
イメージScalaなんとなくわかってきたし、PlayでWebアプリ作ってみたい
とりあえず、ちょっとしたワンランナー書いてみたい
REPLに飽きたので、ちょっと実践的なプロジェクトやってみたい
SBT
sbt
•Simple(?????)
•最近本家でもSimpleの表記が消えた •ScalaのデファクトスタンダードなBuild Tool
0.13.5 or later
•ver.1に向けての準備段階
•こないだ0.13.6がでた
.sbt or .scala
•基本は.sbtに
•複雑な処理は.scalaに
•再利用できそうならpluginに
目的
•sbtで最低限押さえておきたい使い方をまとめる
•あんまり踏み込まない
•あくまでScalaを使うために必要な部分のみを抽出
やること
•プロジェクト作成(activator)
•依存ライブラリの取得
•sbtプラグインの追加
•基本コマンドの利用
プロジェクト作成
Typesafe Activator
•sbt-np pluginいらず
•scala, java, playの雛形生成
•プロジェクトテンプレートの取得
•play2.3から標準仕様
•(sbt/play) + new ぐらいの印象
https://typesafe.com/activator
Typesafe Activator
•activator コマンド
• IDE対応
デモ
新規プロジェクト作成 activator new
やっぱIDEがいい activator ui
基本の設定
基本の設定•(キー) (メソッド) (Setting[s])
•メソッド
• := キーに対してSettingを更新 • += キーにSettingを追加 • ++= キーにSettingを複数追加
name := """scalakb_sample""" !version := "1.0" !scalaVersion := "2.11.1" !// Change this to another test framework if you prefer libraryDependencies += "org.scalatest" %% "scalatest" % "2.1.6" % “test" !// Uncomment to use Akka //libraryDependencies += "com.typesafe.akka" % "akka-actor_2.11" % "2.3.3" !
基本の設定build.sbt
依存ライブラリの 取得
依存ライブラリの取得
•% と %%
•コンフィギュレーション
ライブラリ依存性 http://www.scala-sbt.org/0.13/tutorial/ja/Library-Dependencies.html
% と %%
•マネージド依存性
• <-> アンマネージド依存性 •sbt(の内部のivy)に依存性を管理してもらう
% と %%•% • Scalaのバージョンを指定して依存を解決 • Javaのライブラリを使いたいときはこっち • groupId % artifactId % revision •%% • Scalaのバージョンを自動で追加して依存を解決 • groupId %% artifactId % revision
デモ
依存ライブラリを 追加してみる
build.sbtname := """scalakb_sample""" !version := "1.0" !scalaVersion := "2.11.1" !// Change this to another test framework if you prefer libraryDependencies ++= Seq( “org.scalatest" %% "scalatest" % "2.1.6" % “test”, "joda-time" % "joda-time" % “2.4”, "com.github.scopt" %% "scopt" % “3.2.0") !…
コンフィギュレーション
•groupID % artifactID % revision % configuration
•testとかcompileとか
•使う時だけ依存解決できる
name := """scalakb_sample""" !version := "1.0" !scalaVersion := "2.11.1" !// Change this to another test framework if you prefer libraryDependencies += "org.scalatest" %% "scalatest" % "2.1.6" % “test" !// Uncomment to use Akka //libraryDependencies += "com.typesafe.akka" % "akka-actor_2.11" % "2.3.3" !
コンフィギュレーションbuild.sbt
基本タスクの利用
基本タスクの利用
•test - テストの実行
•run - プロジェクト実行
•compile - コンパイル
•package - jar化
まとめ
•activatorで簡単にプロジェクト作成
•依存ライブラリの取得は % or %%
•基本のsbtタスクは覚えやすい
Enjoy.Scala!!