相关疑难解决方法(0)

Scala 2.9的"scala.sys.process"如何工作?

我刚看了一下new scala.sysscala.sys.processpackage,看看这里有什么有用的东西.但是,我完全失去了.

有没有人举例说明如何实际启动流程?

而且,这对我来说最有趣:你能分离进程吗?

当父进程结束并且是Ant的弱点之一时,分离的进程将继续运行.

更新:

分离是什么似乎有些混乱.从我当前的项目中获得真实的实例.一次使用z-Shell,一次使用TakeCommand:

Z-外壳:

if ! ztcp localhost 5554; then
    echo "[ZSH] Start emulator"
    emulator                        \
    -avd    Nexus-One               \
    -no-boot-anim                   \
    1>~/Library/Logs/${PROJECT_NAME}-${0:t:r}.out   \
    2>~/Library/Logs/${PROJECT_NAME}-${0:t:r}.err   &
    disown
else
    ztcp -c "${REPLY}"
fi;
Run Code Online (Sandbox Code Playgroud)

接收指令:

IFF %@Connect[localhost 5554] lt 0 THEN
   ECHO [TCC] Start emulator
   DETACH emulator -avd Nexus-One -no-boot-anim
ENDIFF
Run Code Online (Sandbox Code Playgroud)

在这两种情况下都是火灾和遗忘,模拟器启动并且即使在脚本结束后也将继续运行.当然,必须两次编写脚本是浪费.所以我现在考虑使用Scala进行统一的进程处理,而不使用cygwin或xml语法.

scala

59
推荐指数
5
解决办法
2万
查看次数

SBT插件 - 用户通过build.sbt定义的Command配置

我正在编写一个添加命令的SBT插件,并希望用户能够通过在其中设置变量来配置此命令build.sbt.实现这一目标的最简单方法是什么?

以下是插件外观的简化示例:

import sbt.Keys._
import sbt._

object MyPlugin extends Plugin {

  override lazy val settings = Seq(commands += Command.args("mycommand", "myarg")(myCommand))

  def myCommand = (state: State, args: Seq[String]) => {

    //Logic for command...

    state
  }
}
Run Code Online (Sandbox Code Playgroud)

我希望有人能够将跟随添加到他们的build.sbt文件中:

newSetting := "light"
Run Code Online (Sandbox Code Playgroud)

如何StringmyCommand上面的命令中将其作为变量提供?

settings configuration scala sbt sbt-plugin

2
推荐指数
1
解决办法
2764
查看次数

标签 统计

scala ×2

configuration ×1

sbt ×1

sbt-plugin ×1

settings ×1