问题标签 [sbt-0.13]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3162 浏览

android - 如何在多项目构建中排除其他子项目的传递依赖?

Build.scala我有项目之间的依赖关系:

核心库项目在其libraryDependencies(XPP 解析器)中定义了一个库,我想将其排除在 中androidApp,因为 Android 框架有自己的开箱即用的 XPP 实现。

如何从项目的传递依赖项coreLib中排除 XPP 库androidApp

编辑:

根据我的研究,排除可能仅ModuleIDlibraryDependency. 同时dependsOn把所有的传递依赖都放到classpath中,在api中没有办法排除这个项目的一些传递依赖,你dependsOn

细节:

我目前正在运行 sbt 0.13.5。

libraryDependenciescommonLib 以及它在 build.sbt 中提供的各种设置,以便这个项目可以作为独立的重用,并且因为它感觉正确和自然的方式在 .sbt 中提供设置sbt

0 投票
1 回答
2601 浏览

sbt - 禁止 SBT 驱逐警告

从 SBT 0.13.6 开始,驱逐现在是警告。

如何抑制这些警告?

0 投票
1 回答
787 浏览

sbt - SBT 中的变量相关任务

我可以制作一个 Makefile,它的目标是处理目录中的所有源。

这里的一个很好的优势是每个文件都是一个单独的目标,因此它们可以增量地同时处理。在这种情况下,并发部分很重要。


我正在尝试与 SBT 类似的东西,但发现它非常困难。Make 目标的 SBT 模拟被视为一项任务,因此我尝试创建一个任务来聚合可变数量的较小任务。

我得到错误

如何制作与我的 Makefile 类似的正确 SBT 构建文件,并具有动态数量的并发目标/任务?

0 投票
3 回答
3091 浏览

scala - 如何拥有具有多个 Scala 版本的 SBT 子项目?

我有一个使用 Scala 2.10 的项目和一个使用 Scala 2.11 的项目。它们依赖于一个可以同时编译的通用项目。

接着

我怎样才能让baz两个项目都使用?

0 投票
1 回答
212 浏览

java - 在 sbt 0.13 中收集或复制依赖项

在 sbt 0.13 中有一些旧的已回答问题,其中的答案对我不起作用。

将项目的所有运行时依赖项(主要是 jars)复制到 sbt 0.13 中的某个给定目录的最简单方法是什么?请包括任何给定代码的放置位置。

如果重要的话,这是为了导出一些用 Scala 编写的类(一个 servlet 过滤器)以用于战争(在遗留 java servlet 之前)。

0 投票
1 回答
54 浏览

sbt - 项目位置在 SBT 中是什么意思?

要定义一个项目,我会

file(".")与设置相对的功能是什么baseDirectory

例如,两者之间有什么区别

0 投票
2 回答
1494 浏览

scala - SBT Scala 跨版本,具有聚合和依赖关系

我正在为如何crossScalaVersions处理子项目而苦苦挣扎。

我有一个使用 2.10 (foo) 编译的项目和一个使用 2.11 (bar) 编译的项目。他们共享一个交叉编译的项目(常见)。

如何编译项目 foo 和 bar?


构建.sbt

项目/build.properties

foo/src/main/scala/Foo.scala

bar/src/main/scala/Bar.scala

common/src/main/scala/Common.scala


尝试 1

尝试 2

尝试 3

尝试 4

尝试 5

我什至尝试使用相同的基本目录但不同的 scala 版本定义common_2_10和项目。common_2_11我记得读过目标是由 Scala 版本命名的,但 SBT 说存在冲突。


我唯一要做的就是手动指定版本:

但是这是很多命令,永远不能使用并行性,并且避免了(1)项目聚合和(2)交叉构建的整个使用。

我是否遗漏了一些关于 意图的基本内容crossScalaVersions?或者有没有办法让它与 SBT 的其余部分配合得很好,并让我编译我的异构项目?

0 投票
1 回答
621 浏览

sbt - 如何有条件地执行 SBT 任务

我有另一种方法来完成现有的昂贵任务,但直到运行时我才知道我是否会这样做。(例如,文件缓存。)

我该怎么做呢?


例如,packageBin:

如果它执行后一个路径,这将不起作用:

0 投票
1 回答
468 浏览

sbt - 如何创建具有动态依赖关系的设置?

我希望设置依赖于其他项目的动态列表的设置(好吧,在 SBT 设置启动时执行,但在它不是硬编码的意义上是动态的)。

我必须Def.dynTask生成一个动态依赖于其他任务的任务。

是否有类似的方法可以为设置执行此操作,即生成一个动态依赖于其他设置的设置?


或者我可能误解了设置。仅供参考,我的理解是设置在启动时计算一次;每当请求任务时都会计算任务。

0 投票
2 回答
405 浏览

scala - SBT:使用其他任务值执行任务

我重新定义了我的测试以提供从配置到测试套件的一些参数:

这是我的 Build.scala 的摘录:

这工作正常。

现在,我想给我的测试套件起这样一个工件的名称:

但它显示以下错误消息:

我对 SBT 内部结构、宏、任务依赖图有所了解,我什至设法使用范围解决了我的一些任务。在这里,我尝试使用 map 或 flatMap on(Keys.artifactPath in (Compile, packageBin))但无法达到预期的结果。每当我尝试访问时,.value我都会得到Illegal dynamic reference.

请指导我。我只需要将任务的值传递给其他任务(inputKey)参数。

SBT 版本:0.13.5