小编lpi*_*ora的帖子

使用命令行中的参数运行SBT任务

我想要一个SBT任务,它将逗号分隔的测试类列表作为命令行的输入,由完全限定名称给出.现在我使用硬编码值运行任务但我想从命令行获取它.有人可以帮我写这样的任务吗?

 lazy val runTask = inputKey[Unit]("custom run")

 runTask := {
    val one = (runMain in Compile).fullInput(" org.scalatest.tools.Runner -P1 -C reporter.TestReporter -o -s testcase.GetAccountInfo -s testcase.GetProfileInfo").evaluated
 }
Run Code Online (Sandbox Code Playgroud)

像这样的东西,

 sbt runTask testcase.GetProfileInfo,testcase.GetAccountInfo
Run Code Online (Sandbox Code Playgroud)

提前致谢.

command-line scala task sbt scalatest

9
推荐指数
1
解决办法
4392
查看次数

SBT 0.13.x中的触发执行

我正在使用SBT 0.13.2,我希望通过执行编译任务的方式触发我的任务.我知道我可以通过使用该triggeredBy方法实现这一点,如taskDefinition.triggeredBy(compile in Compile).

我有一个build.sbt与我的定义自定义任务.

问题是我无法理解为什么以下按预期工作

val triggeredTask = taskKey[Unit]("Triggered by compile")

triggeredTask <<= Def.task {
  println("TRIGGERED BY COMPILE")
}.triggeredBy(compile in Compile)
Run Code Online (Sandbox Code Playgroud)

但是下一个不起作用(compile执行得很好,但我的任务没有被触发)

val triggeredTask = taskKey[Unit]("Triggered by compile")

triggeredTask := Def.task {
  println("TRIGGERED BY COMPILE")
}.triggeredBy(compile in Compile).value
Run Code Online (Sandbox Code Playgroud)

我的理解是,SBT 0.13 <<=已经过时,:=应该足够了.

sbt

7
推荐指数
1
解决办法
863
查看次数

Rust:分割字符串以获取单词及其位置

Rust 有内置函数可以围绕空格分割字符串,例如:

let mut iter = " Hello world".split_whitespace();

assert_eq!(Some("Hello"), iter.next());
assert_eq!(Some("world"), iter.next());
Run Code Online (Sandbox Code Playgroud)

但是,我想要一种将字符串拆分为单词的方法,以及它们在字符串中的相应位置。

let mut iter = ??????(" Hello world");

assert_eq!(Some((1, "Hello")), iter.next());
assert_eq!(Some((7, "world")), iter.next());
Run Code Online (Sandbox Code Playgroud)

我完全不知道从哪里开始,因为:

  • 内置的splitsplit_whitespace函数“消耗”空白,所以我不知道给定元素之前出现了多少空白。我应该从 开始split(''),并以某种方式将非空白“分组”在一起吗?

  • 有一个match_indices函数可以执行类似的操作,但它只能查找给定的字符串或字符(使用闭包)。

有内置的东西吗?或者我需要迭代迭代std::str::Chars器吗?

如果是这样,我将如何从Chars给定字符的迭代器转到表示下一个单词的字符串?有没有一种安全的方法从函数返回它?(到目前为止,编译器从未让我这样做)

rust

6
推荐指数
1
解决办法
3174
查看次数

标签 统计

sbt ×2

command-line ×1

rust ×1

scala ×1

scalatest ×1

task ×1