问题标签 [sbt-plugin]
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.
sbt - SBT - 如何为特定任务禁用插件(例如“包”)
有没有办法为特定任务禁用 SBT 插件(AutoPlugin)。
例如,我想在打包时禁用插件 Scoverage。
我试过:
但这不起作用。所以我寻找一种完全禁用插件的方法。
scala - 非托管 jar 文件中的 SBT 插件
要求:SBT 插件代码位于非托管 jar 中,例如lib/unmanaged-sbt-plugin-0.0.1.jar
. 我期待 jar 文件会被 SBT 自动拾取,并且插件可以开箱即用,即:可以从 SBT 命令行访问任务,但事实并非如此。
jar 文件中包含该sbt/sbt.autoplugins
文件,如果从远程仓库拉到本地仓库并通过addSbtPlugin(...)
. 请注意我不能这样做 - 需要lib/unmanaged-sbt-plugin-0.0.1.jar
从本地/远程仓库而不是从本地/远程仓库加载它。
将以下行放入build.sbt
不会使插件工作(也没有错误):
unmanagedJars in Compile += file("lib/unmanaged-sbt-plugin-0.0.1.jar")
的实现addSbtPlugin(...)
很简单(根据http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Using-Plugins.html):
我想知道上述信息是否可以用来解决我的问题?
先感谢您!
scala - How to run task defined in sbt plugin
In my project I use plugin which exposes task genExport. I can run genExport task from console with:
My problem is I cannot configure my sbt project to run genExport after project compilation:
From sbt documentation I could not get how to invoke task from plugin by name. I've experimented with:
without any success. What I'm missing?
sbt - sbt - 存在不想要的依赖时构建失败
如果存在不需要的依赖项,我要求我的 sbt 构建应该失败。具体用例:我们希望使用 log4j2 作为日志框架,并且不希望任何依赖项传递包括 logback、commons-logging 等。人。
使用 maven 我会使用强制插件,但我不知道如何在 sbt 中执行此操作。
到目前为止我的发现:我可以在全球范围内排除依赖项(https://github.com/sbt/sbt/pull/1748)。不过我不希望这样,我们需要构建失败,所以我们在首次引入时注意到依赖关系。
我还找到了https://github.com/CSUG/sbt-one-log,但它不太符合我们的要求,似乎也没有得到积极维护。
在我开始编写自己的插件之前 - 是否有现有的机制来实现这一点?
scala - 我如何要求 sbt-buildinfo 仅在(重新)加载时运行而不是编译时运行?
我使用sbt-buildinfo
SBT 插件,效果很好。
我想改进以下几点:目前,生成文件中的所有值只有在重新加载整个 sbt 项目时才能更改,因此不会在每次compile
运行时更改。因此,我想防止BuildInfo
在编译时重新生成,而是仅在项目加载时直接生成它。
这可能吗?
playframework - 尝试将 Play 项目导入 Eclipse 时出错
我正在运行 Play 2.4,并尝试将项目导入 Eclipse。
我添加到项目 build.sbt 中:
当我运行 activator compile 时(如教程所示):
我收到以下错误,说sbteclipse
找不到插件:
任何想法如何解决这一问题?我需要手动下载插件吗?
maven - addSbtPlugin 没有 scala 版本
我正在尝试在我的项目中使用 babel webjar 插件,该插件是用 playframework 2.5 构建的,它基本上是sbt
为了构建项目而运行的。
当我把
在 project/plugins.sbt 中,我收到此错误:
pom 文件位于http://repo1.maven.org/maven2/org/webjars/babel/6.3.26-1/babel-6.3.26-1.pom。这几乎是sbt尝试的地址,但是sbt添加了scala版本。
有没有办法告诉 sbt 不要添加 scala 版本?我尝试了这个版本和一个百分号,他们都添加了 scala 版本。
我正在使用 sbt 0.13.9。
scala - 编写 sbt 插件时如何处理库驱逐?
我尝试编写一个使用jsch的简单 sbt 插件。由于安全原因(ecdsa),我的要求是在0.1.53中使用 jsch 。我已经在我的build.sbt
文件中声明了依赖项:
不幸的是org.scala-sbt:ivy
2.3.0 引入了对0.1.46的依赖。SBT 说旧版本被驱逐了,尽管在运行时使用我的插件时我可以看到它仍在针对 0.1.46 jsch 运行。
我在 0.13.11 版本中使用sbt。
我已将我的插件添加到测试项目中。运行我的 sbt 任务时,我收到明确的日志消息:[info] Local version string: SSH-2.0-JSCH-0.1.46 和关于不受支持的算法的错误,这使我得出结论,我的 jsch 版本已被某种方式覆盖。
问题是在编写 sbt 插件时如何处理库驱逐?
scala - 在 SBT 多项目构建中运行 scalastyle
我有一个多项目构建设置的 SBT 项目。
- 根
- 子项目A(根依赖它)
- 子项目B(根依赖它)
我只想为项目中的几个文件运行 scalastyle,这些文件可能位于三个项目中的任何一个中。为了选择这些文件,我scalastyleSources
在运行之前从命令行修改,scalastyle
如下所示:
这root
在我指定的文件上正确运行,但随后又为 sub-projectA 和 sub-projectB 运行了两次,完全忽略了我之前分配给scalastyleSources
.
我需要一种方法让 SBT 知道我只想使用更改的配置运行一次 scalastyle,或者在运行命令时完全忽略某个项目的能力。
这可能吗?
sbt - 运行不在 build.sbt 中的 sbt 插件
我正在尝试为 IDE 编写一个 SBT 插件来查询诸如源路径之类的信息。使用 Maven,我会做类似的事情
这有效,即使pom.xml
不引用插件。有没有类似的方法来做到这一点sbt
?
获取源路径就是一个例子。我知道我可以用 来做到这一点sbt show sourceDirectories
,但这不是一个好的答案,原因有两个:
- 我希望能够为
mvn
and使用相同的界面,sbt
以及将来支持的任何其他构建工具,这涉及启动一个流程来响应查询 - 我正在寻找的不仅仅是源路径
是否可以在不让用户将其添加到 build.sbt(或全局安装)的情况下启动我的插件?还是有更好的方法从远程存储库运行 jar(build.sbt 中未提及)?