名古屋Scala Hackathonに行ってきた

定刻通りに開始

ビルド

conscript のインストール(required by g8)

$ curl https://raw.github.com/n8han/conscript/master/setup.sh | sh
$ mkdir -p ~/modules/cs/bin
$ mv ~/bin/cs !$
$ rmdir ~/bin
$ cd ~/local/bin
$ ln -s ~/modules/cs/bin/cs .

modules とlocal 配下に置くルールなのでそのように.
cs 本体は ~/.conscript に置かれるので,とりあえずそのままで.

giter8 のインストール

$ cs n8han/giter8
$ mkdir -p ~/modules/g8/bin
$ mv ~/bin/g8 ~/moduels/g8/bin
$ rmdir ~/bin
$ cd local/bin
$ ln -s ~/modules/g8/bin/g8 .

android-plugin

$ cd work
$ git clone git://github.com/jberkel/android-plugin
$ cd android-plugin
$ sbt publish-local

プロジェクト

$ cd work
$ mkdir android-scala-sample
$ g8 jberkel/android-app
package [my.android.project]: org.clairvy.sample
name [My Android Project]: ClairvySample
main_activity [MainActivity]:
scala_version [2.9.0-1]:
api_level [10]:
$ cd clairvysample
$ git init; git add .; git ci -m 'initial import'
$ ANDROID_SDK_ROOT=$HOME/modules/android-sdk-mac_86 sbt
sbt> compile
sbt> android:emulator-start avd2_3_3
sbt> android:package-debug
sbt> android:install-emulator

sbt なら補完できるから,android: すればわかるよね.

エディタ

Vim
NetBeans

nbscala は,ダウンロードしてプラグインの追加で全選択.

$ cd ~/.sbt/plugins/
$ xsbt
> set resolvers += ScalaToolsSnapshots
> set resolvers += "remeniuk repo" at "http://remeniuk.github.com/maven" 
> set libraryDependencies += "org.netbeans" %% "sbt-netbeans-plugin" % "0.1.4"
> update
> session save
> exit
$ cd work/android-scala-sample/clairvysample
$ xsbt
xsbt> netbeans create
xsbt> exit

Scalaエディタとしては便利な気がするけど.sbt とリンクがよくわからない.

IntelliJ IDEA

Plugins

sbt android が2.9.0-1 だったので,ビルド

$ git clone https://github.com/mpeltonen/sbt-idea.git
$ cd sbt-idea
$ ./sbt
sbt> 
sbt> publish-local
sbt> exit
$ vi ~/.sbt/plugins/build.sbt
resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "0.11.0")
$ xsbt
sbt> gen-idea

プロジェクトとしてオープンできる.

scala-edit

どうせEmacs と思われているのであえてscala-edit を試す.

scala-edit

$ mkdir modules/scala-edit
$ wget http://scala-edit.googlecode.com/files/scalaedit-assembly-0.3.4.jar
$ cat <<EOL > scalaedit
#!/bin/sh
root=$HOME/modules/scala-edit
java -jar $root/scalaedit-assembly-0.3.4.jar "$@"
EOL
$ chmod +x scalaedit
$ cd ~/local/bin
$ ln -s ~/modules/scala-edit/scalaedit .

sbt のversion の所為で,動かんかったみたいなので
~/.scalaedit/bin/sbt-launcher-0.11.jar を今のに入れかえた.
@maeda_ 曰く.インタラクティブがちゃんとしてる気がする.
補完もないし,まだないかな.

scale
$ git svn clone -s http://scale.googlecode.com/svn/ scale
$ cd scale
$ sbt