この記事の内容は執筆当時のものです。最新の内容はこちらを参照してください。 LinkedInのブログで、EclipseベースのScalaによるAndroidアプリ開発環境が紹介されてました。(と、 @okapiesさんに教えていただきました。ありがとうございます。) The technology behind EatIn: Android apps in Scala, iOS apps, and Play Framework web services うちのAndroid Scala開発環境はIntelliJ IDEA + sbtなので、折角なのでこんな風にも出来ますよと紹介してみます。本当はLinkedInブログに対抗して (sorry eclipse users!!) って書きたかったw のですが、IntelliJはエディタとして使ってるだけなので、Eclipseに変えても大して支障な
追記:この記事を最初に書いたときには存在しませんでしたが、このstandard projectを0.11系に対応させたものがこれ https://github.com/twitter/sbt-package-dist のようです twitter さんが、わりとどんなプロジェクトでも標準で使っているこれ https://github.com/twitter/standard-project/ をだらだらと読んで、なんとなく感想を書いてみるエントリ。実際自分が試したわけではなく、読んでみて「なんとなくこういうことしてるんだろうなぁ」っていう妄想が入っているので、正確じゃない部分があるかもしれません。*1このblog書いてる時点で最新っぽい 1.0.0のtag https://github.com/twitter/standard-project/blob/org=com.twitter,nam
sbt-assembly https://github.com/eed3si9n/sbt-assembly 概要 アプリのclassファイルとそれが依存するライブラリのclassファイルを一つの大きなjarファイルにする。 そのため、この単一のjarファイルを配布するだけでよく、実行時に依存jarをダウンロードする必要も、クラスパスを設定する必要も無い。 ただし、必要なものをすべて入れ込んでしまうため、HelloWorldでも20Mバイト程度のjarになる。 MainClassは自動検出されるが、明示的に指定することもできる。 使い方はとても簡単。 基本的な使い方 以下ではsbt-0.11、Scala-2.9.1、sbt-assembly-0.7.1(2011/10/1)を前提としている。 プラグインの指定 project/plugins.sbtを作成して以下を記述 addSbtPlugi
Jettyを使ってjetty-run、jetty-stopとかprepare-webappとかを繰り返していると、そのうちPermanentを使い切ってOutOfMemoryErrorが発生します。 こんな感じ。 [info] Compiling 1 Scala source to /xxxxx/hello-servlet/target/scala-2.9.0.final/classes... java.lang.OutOfMemoryError: PermGen space at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) at java.util.concurrent.FutureTask.get(FutureTask.java:83) at sbt.CompletionService$$anon
May 9, 2011 - Scala dotcloudを必要最低限操作するためのactionをsbtに追加してみました。 sbtのアクション自体はじめてなので作法がよくわかってないので、間違っているかも知れませんが。 使い方 ※scalaファイルは最後に掲載しています。 とりあえず下記を作成するサービス名に置き換えればOKです。 val dotApplicationName = "APPNAME" val dotServiceName = dotApplicationName + ".SERVNAME" あとは、下記を順に実行すればOK(dot_prepareはdot_pushの前に必ず実行されるので省略可能) “sbt dot_create” : サービスの作成 “sbt dot_prepare” : リリース用ディレクトリ作成とwarファイルのコピー “sbt dot_push” :
SBT(Simple Build Tool)で native2ascii を使う方法です。 まずは、Plugin の設定をします。project/plugins/Plugins.scala を作成します。 import sbt._ class Plugins(info: ProjectInfo) extends PluginDefinition(info) { val native2ascii = "eu.getintheloop" % "sbt-native2ascii-plugin" % "0.1.0" }次に、project/build/MyProject.scala を編集します。(ScalaTestを使う - NOSIX で作成したファイルです。) import eu.getintheloop.Native2AsciiPlugin import sbt._ class MyPro
SBT(Simple Build Tool)で実行可能な JAR をつくる方法です。 SBT で JAR ファイルをつくるには package コマンドを使います。package コマンドのオプションを下記のページで確認します。 Google Code Archive - Long-term storage for Google Code Project Hosting. Java で実行可能な JAR をつくるにはマニフェストファイルに Main-Class を記述します。下記のページなどが参考になります。 http://www.fk.urban.ne.jp/home/kishida/kouza/old/javajar.html SBTに戻って package のオプションの記述を確認すると、mainClass メソッドを定義すればよいことがわかります。project/build/MyP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Lift プロジェクトは SBT で管理できます。 最新リリース用のサンプル Lift SBT プロトタイプが用意されています。以下の手順に従う代わりに、このプロトタイプを GitHub からクローンするやり方もあります。 また、Scala 2.8.0 を使うバージョン 2.2 用の SBT プロトタイプも用意されています。 基本となるディレクトリ構造の作成 まずはじめに、Maven といずれかの Lift archetype を使って、プロジェクトのアウトラインを作成します。 mvn archetype:generate -U \ -DarchetypeGroupId=net.liftweb \ -DarchetypeArtifactId=lift-archetype-basic \ -DarchetypeVersion=2.2-SNAPSHOT \ -DarchetypeReposit
For a quick demo you can clone or download what I have done here. A minimalistic sbt-appengine-plugin example from scratch Clone the sbt-appengine-plugin from GitHub cd mystuff git clone git://github.com/Yasushi/sbt-appengine-plugin.git cd sbt-appengine-plugin sbt Publish the plugin locally so that you can use it in your own projects publish-local exit Create a directory for a new project cd .. mk
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く