query: tag:sbt

sbtのバージョンを確認するには以下のコマンドを実行すればok

pre>>
% sbt sbt-version
<<--

posted by genki genki on Wed 5 Dec 2012 at 04:08 with 0 comments

ScalaのCLIな開発環境 sbt を使ってjava -jarでstandalone実行可能な
jarファイルを作る方法をメモしておきます。

sbtにはプラグイン機構が備わっていて、今回は
sbtプラグインのproguardというのを利用します。
sbtプラグインは、以下のファイルを記述することで導入可能です。

project/plugins/Plugins.scala

scala>>
import sbt._
class Plugins(info: ProjectInfo)
extends PluginDefinition(info)
{
val proguard = "org.scala-tools.sbt" % "sbt-proguard-plugin" % "0.0.5"
}
<<--

ついでにProjectファイルでProguardを使うように設定します。

project/build/FooBar.scala

scala>>
import sbt._

class FooBar(info: ProjectInfo)
extends DefaultProject(info)
with ProguardProject
{
override def mainClass = Some("main.scala.FooBar")
override def proguardOptions = List(
"-keepclasseswithmembers public class * " +
"{ public static void main(java.lang.String[]); }",
proguardKeepLimitedSerializability,
proguardKeepAllScala,
"-keep interface scala.ScalaObject")
override def proguardInJars =
Path.fromFile(scalaLibraryJar) +++ super.proguardInJars
}

<<--

あとは、sbtから

pre>>
sbt> reload
sbt> update
sbt> proguard
<<--

で target/scala_x.x.x/foobar_x.x.x-x.min.jar
が生成されるので、これを java -jarすれば起動できます。

posted by genki genki on Wed 9 Mar 2011 at 22:11 with 0 comments