2010年12月20日

SBTをwinで使ってみる

SBTをwinで使ってみる

EclipseのScala PlugInが重いのでSBTを試してみようかと。SBTは、scala用のシンプルなビルドツール。

SBT(simple-build-tool):http://code.google.com/p/simple-build-tool/
セットアップ方法:http://code.google.com/p/simple-build-tool/wiki/Setup

1.sbt_launch.jarを落としてくる


ここ(http://code.google.com/p/simple-build-tool/downloads/list)からjarを落とす(わたしの場合は、sbt-launch-0.7.4.jarを落としました)。 jar形式なのでインストールとかないです。後はこのjarでプロジェクト作ったりします。

2.プロジェクト作成用のバッチ作る


プロジェクト作成用のバッチファイルを作る(sbt.bat)

set SCRIPT_DIR=%~dp0
java -Xmx512M -jar "%SCRIPT_DIR%sbt-launch-0.7.4.jar" %*

プロキシ経由している環境の場合は、

set SCRIPT_DIR=%~dp0
java -Dhttp.proxyHost=myproxy -Dhttp.proxyPort=8080 -Dhttp.proxyUser=username -Dhttp.proxyPassword=mypassword -Xmx512M -jar "%SCRIPT_DIR%sbt-launch-0.7.4.jar" %*

とします。(sbt-launch-0.7.4.jarの所をDLしたjarファイル名に置き換えてね)

3.プロジェクト作ってみる


コマンドプロンプトで、

> sbt.bat

で実行する。色々聞かれるので答えましょう。

Project does not exist,create new project(y/N/s)
(プロジェクトないけど、新しいの作る?)

> y
(作らなきゃ始まらないだろうが!)

Name:
(プロジェクト名どうするのよ?)

> hello_sbt
(初めて使う環境には挨拶からだよね)

Organization:
(このプロジェクトはどこに所属するのさ?)

> self
(無職じゃないよ無職じゃ)

Version[1.0]:
(プロジェクトの初期バージョンは何よ?1.0とかで良いの?)

> 0.1
(1.0とか恐れ多いっす。。。自分0.1です)

Scala version[2.7.7]:
(Scalaのバージョンは?2.7.7で良い?)

> 2.8.1
(2.8.1が良いよー。2.7.7は小学生までだろう常考)

> sbt version[0.7.4]
(sbtのバージョンは?0.7.4落としたんだから0.7.4だよねー)

> 0.7.4
(嫁と畳とsbtは新しい方が良いと聞いています)

後は勝手に必要な物落として環境作ってくれます。

4.作られたプロジェクト見てみる



-lib
プロジェクトで使用するjarとかを入れる場所
-project
プロジェクトの設定とか入ってる
-src
プログラムを入れる場所
-target
objectとか生成物がここにできるよ

と4つのディレクトリが作成された。メインであるsrcは

-src
-main
プロジェクトのメインソースを入れる場所
-resouces
mainでしか使わないjarはココに入れてね
-scala
scalaのソースはここにいれる
-java
javaのソースはここにいれる
-test
プロジェクトのメインソースを入れる場所
-resouces
mainでしか使わないjarはココに入れてね
-scala
scalaのソースはここにいれる
-java
javaのソースはここにいれる

という事みたい。mavenと同じ感じです(公式サイトにはこう書いてあるけど、javaのディレクトリ作られなかったんだよなぁ)。

5.プロジェクト実行してみる


/src/scala/にhello.scalaを作る。中身は

object hello{
def main(args:Array[String]){
println("Hello,sbt!")
}
}

コンパイルするには

> sbt.bat
> ~compile

でコンパイルしてくれる。ソースディレクトリを見て変更&追加があった場合は勝手にコンパイルしてくれる。っで実行

> ~run

で実行できます。 compile,run以外にも色々コマンドはあるので
http://code.google.com/p/simple-build-tool/wiki/RunningSbt
を参照すると幸せになれそうです。

EclipseみたいなIDE便利機能はないけど、気楽に開発出来てエディターとか固定のがある人には良い環境な印象。


ラベル:SBT
posted by purigen at 10:00| Comment(0) | TrackBack(0) | Scala | このブログの読者になる | 更新情報をチェックする

2010年11月02日

はじめてのScala-とりあえず導入-

少し興味を持ったのでScalaで遊んでみた。

とりあえず公式HP:http://www.scala-lang.org/

1.scalaをインストール


まずはインストール。http://www.scala-lang.org/downloadsにて環境に合わせたライブラリ一式を落としてくる。 私はWinで試したのでWin版を落としてきて、適当な所にコピってパス通しました。

インストール確認で、

> scala -version
Scala code runner version 2.8.0.final -- Copyright 2002-2010, LAMP/EPFL

と出ればインストール完了。

2.scala試してみる


新しい言語でやる時のお約束で「Hello World」プログラムを作ります。

object HelloScala{
def main(args:Array[String]){
print("Hello Scala!")
}
}

これをHelloScala.scalaとかで保存して、コマンドにて実行

> scala HelloScala.scala

。。。。。 はい、何も出ません。どうやらコマンドからscala命令でコンパイル&実行した場合は、main関数を実行しれくれない。

解決方法1:

object HelloScala{
def main(args:Array[String]){
print("Hello Scala!")
}
}
HelloWorld.main(null)

と最後にmainを呼び出す行を足して

> scala HelloScala.scala

を実行すればmainを実行しれくれます。
解決方法2:
コンパイルと実行をわけて行えば良かったりします。

コンパイル

> scalac HelloScala.scala


実行

> scala HelloScala


この辺のscalaコマンドに関しては
http://www.h7.dion.ne.jp/~samwyn/Scala/commands.htm
がすごく良くまとまってます。

irb的な対話的なコーディング


対話的にscalaを実行する事もできたり。スクリプト言語とかだと標準の機能ですね。

> scala

とだけ入力するとirbモードになり対話的にプログラムできます。ちょっとしたプログラムの時に便利かな?
posted by purigen at 00:52| Comment(0) | TrackBack(0) | Scala | このブログの読者になる | 更新情報をチェックする
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。