Typesafe激活器可用命令行选项/功能

时间:2015-10-08 09:45:36

标签: playframework typesafe-activator typesafe

有没有办法找出所有可能的激活器命令行选项?

activator -help仅提供最低限度的可用选项/功能列表,但所有不错的东西都是隐藏的,即使在类型安全的网站在线文档中也不可用。

到目前为止,我知道以下命令/功能:

activator run
activator -jvm-debug 9999 run
activator compile
activator clean
activator clean compile dist
activator doc //creates a nice documentation of your whole project

有什么想法可以获得这些信息吗?

('使用激活器来运行Play框架项目)

2 个答案:

答案 0 :(得分:6)

Activator 不是一些具有一些广泛选项的工具。它看起来像,但它只是运行 sbt 项目的包装器。来自git中的激活源页面:

  

Activator旨在成为一个友好的一站式服务来引导你的Scala,   Akka和Play开发。它可以用作包装脚本   发布到传统的命令行sbt,但它也包括一个   模板和教程系统,以及可选的入门GUI。

     

您可以将Activator视为传统的sbt(激活器外壳或激活器)   激活器),加上可选的UI模式(激活器   ui),加上模板系统(activator new)。

这就是全部。实际上只有四个命令:

  • ui - 运行ui模式
  • new - 从模板
  • 创建新项目
  • list-templates - 显示所有可用模板
  • shell - 运行sbt shell

让我们详细了解一下。

源代码

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 new list-template shell 和一个元命令:

case _ if Sbt.looksLikeAProject(new File(".")) => RebootToSbt(configuration, useArguments = true)

这意味着如果您在项目目录中运行activator命令(并且它不是uinewlist-templateshell),那么激活器将会使用您传递给激活器的命令和参数运行sbt。所以runcompilestage不是激活命令,而是sbt命令。

如果您不在项目目录中运行激活器(并且它不是uinewlist-templateshell命令),那么它会显示一些“帮助页面“

Activator还允许传递将用于运行activator.jar的java参数 - 您可以通过检查“activator.bat”文件或激活器shell脚本来查看它。

<强> SBT

您可以在此处找到sbt命令的参考:http://www.scala-sbt.org/0.13/docs/Command-Line-Reference.html

答案 1 :(得分:0)

我也找不到激活器命令选项的完整列表。 Activator本身并非完全开源,官方文档没有提供太多信息。

但是为了给你一个不同的角度,激活器是基于sbt建造的。所以sbt的命令选项也应该在激活器中有效。请参阅:http://www.scala-sbt.org/0.13/docs/Command-Line-Reference.html

正如您将看到的,一些激活器命令选项直接来自sbt。 除此之外,当您在问题中列出时,激活器还有一些自定义选项,例如-jvm-debugdist

希望这对你有所帮助。