アクティベーターは、いくつかの幅広い選択肢を持っているいくつかのツールではありません。それはのように見えますが、sbtプロジェクトを実行するための単なるラッパーです。 gitの中の活性化剤ソースページから:
アクティベーターはあなたのScala、 アッカをブートストラップ、および開発をプレイするために優しいワンストップショップを目指しています。これは、 が従来のコマンドラインsbtに起動するラッパースクリプトとして使用できますが、 テンプレートとチュートリアルシステムと、使い始めるためのオプションのGUIも含まれています。
アクティベータは従来のsbt(アクティベータシェルまたは アクティベータ)、オプションのUIモード(アクティベータ UI)、およびテンプレートシステム(アクティベータnew)と考えることができます。
それだけです。実際には4つのコマンド:
- UIから
- 新しい UIモードを実行する -
- すべての利用可能なテンプレートを表示する - テンプレートから
- リスト・テンプレートを新しいプロジェクトを作成しますシェル - sbtシェルを実行するため
これを詳しく見てみましょう。
ソースコード
https://github.com/typesafehub/activator/blob/master/launcher/src/main/scala/activator/ActivatorLauncher.scala
try configuration.arguments match {
case Array("ui") => RebootToUI(configuration, version = checkForUpdatedVersion.getOrElse(APP_VERSION))
case Array("new", _*) => Exit(ActivatorCli(configuration))
case Array("list-templates") => Exit(TemplateHandler())
case Array("shell") => RebootToSbt(configuration, useArguments = false)
case _ if Sbt.looksLikeAProject(new File(".")) => RebootToSbt(configuration, useArguments = true)
case _ => displayHelp(configuration)
} catch {
case e: Exception => generateErrorReport(e)
}
あなただけの4コマンドUI、新しい、リスト・テンプレート、シェルと1つのメタコマンドがあることがわかります。
case _ if Sbt.looksLikeAProject(new File(".")) => RebootToSbt(configuration, useArguments = true)
コマンドをプロジェクトディレクトリ(ui
、new
、list-template
、shell
ではない)で実行すると、アクティベータよりもアクティベータに渡すコマンドと引数でsbtが実行されることを意味します。したがってrun
、compile
、stage
はアクティベータコマンドではなくsbtコマンドです。
あなたはいないプロジェクトディレクトリにアクチベーターを実行します(そしてそれはui
ではありません、new
、list-template
、shell
コマンド)、それはあなたのアクティベーターは、また、そのJavaの引数を渡すことができ
いくつかの「ヘルプページ」と表示されます場合はactivator.jarを実行するために使用されます - あなたは "activator.bat"ファイルまたはアクティベータのシェルスクリプトを調べることでそれを見ることができます。 SBTの
SBT
リファレンスは、あなたがここで見つけることができますコマンド:http://www.scala-sbt.org/0.13/docs/Command-Line-Reference.html