问题标签 [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.

0 投票
2 回答
1606 浏览

eclipse - 无法安装 sbt-eclipse 插件

我正在尝试安装 sbt-eclipse,但在运行sbtsbt update.

错误

[信息] 从 /home/atbyrd/.sbt/0.13/plugins 加载全局插件 [信息] 更新 {file:/home/atbyrd/.sbt/0.13/plugins/}global-plugins... [信息] 正在解析 org. scala-sbt#compiler-interface;0.13.1 ... [警告] ::::::::::::::::::::::::::::::::: :::::::::::::: [警告] ::
未解决的依赖关系 :: [警告] ::::::::::::::::::::::::::::::::::::::::::: ::: [警告] :: org.scala-lang#scala-library;2.10.3: 在 org.scala-lang#scala-library;2.10.3: 'compile' 中找不到配置。它是 default#global-plugins;0.0 所必需的 [warn] ::::::::::::::::::::::::::::::::::: ::::::::::: sbt.ResolveException:未解决的依赖项:org.scala-lang#scala-library;2.10.3:在 org.scala-lang#scala-library 中找不到配置;2.10.3: '编译'。sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:122) 的 sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:213) 提供 default#global-plugins;0.0在 sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:121) 在 sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:116) 在 sbt. 237) 在 sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160) 在 sbt.CompletionService$$anon$2.call(CompletionService.scala:30) 在 java.util.concurrent.FutureTask.run (FutureTask.java:266) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent。 ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745) [错误] (*:更新)sbt.ResolveException:未解决的依赖关系:org.scala-lang#scala-library;2.10.3:在 org.scala-lang#scala-library 中找不到配置;2.10.3:“编译”。它是 default#global-plugins 所必需的;提供的 0.0 ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160) at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) at java.util.concurrent.FutureTask.run(FutureTask.java: 266) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor .java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745) [错误] (*:update) sbt.ResolveException :未解决的依赖关系:org.scala-lang#scala-library;2.10.3:在 org.scala-lang#scala-library 中找不到配置;2.10.3:“编译”。它是 default#global-plugins 所必需的;提供的 0.0 ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160) at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) at java.util.concurrent.FutureTask.run(FutureTask.java: 266) 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor .java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745) [错误] (*:update) sbt.ResolveException :未解决的依赖关系:org.scala-lang#scala-library;2.10.3:在 org.scala-lang#scala-library 中找不到配置;2.10.3:“编译”。它是 default#global-plugins 所必需的;提供的 0.0 apply(ConcurrentRestrictions.scala:160) at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors $RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util。 concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) [error] (*:update) sbt.ResolveException: unresolved dependency: org.scala-lang# scala-library;2.10.3:在 org.scala-lang#scala-library 中找不到配置;2.10.3:“编译”。它是 default#global-plugins 所必需的;提供的 0.0 apply(ConcurrentRestrictions.scala:160) at sbt.CompletionService$$anon$2.call(CompletionService.scala:30) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors $RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util。 concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) [error] (*:update) sbt.ResolveException: unresolved dependency: org.scala-lang# scala-library;2.10.3:在 org.scala-lang#scala-library 中找不到配置;2.10.3:“编译”。它是 default#global-plugins 所必需的;提供的 0.0 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent 的 java.util.concurrent.FutureTask.run(FutureTask.java:266) 调用(CompletionService.scala:30) .FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java. lang.Thread.run(Thread.java:745) [error] (*:update) sbt.ResolveException: unresolved dependency: org.scala-lang#scala-library;2.10.3: configuration not found in org.scala-lang #scala-library;2.10.3: '编译'。它是 default#global-plugins 所必需的;提供的 0.0 在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 在 java.util.concurrent 的 java.util.concurrent.FutureTask.run(FutureTask.java:266) 调用(CompletionService.scala:30) .FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java. lang.Thread.run(Thread.java:745) [error] (*:update) sbt.ResolveException: unresolved dependency: org.scala-lang#scala-library;2.10.3: configuration not found in org.scala-lang #scala-library;2.10.3: '编译'。它是 default#global-plugins 所必需的;提供的 0.0 java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745) [错误] (*:update) sbt.ResolveException:未解决的依赖:org.scala-lang#scala-library;2.10.3 :在 org.scala-lang#scala-library;2.10.3 中找不到配置:“编译”。它是 default#global-plugins 所必需的;提供的 0.0 java:511) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745) [错误] (*:update) sbt.ResolveException:未解决的依赖:org.scala-lang#scala-library;2.10.3 :在 org.scala-lang#scala-library;2.10.3 中找不到配置:“编译”。它是 default#global-plugins 所必需的;提供的 0.0 更新)sbt.ResolveException:未解决的依赖关系:org.scala-lang#scala-library;2.10.3:在 org.scala-lang#scala-library 中找不到配置;2.10.3:“编译”。它是 default#global-plugins 所必需的;提供的 0.0 更新)sbt.ResolveException:未解决的依赖关系:org.scala-lang#scala-library;2.10.3:在 org.scala-lang#scala-library 中找不到配置;2.10.3:“编译”。它是 default#global-plugins 所必需的;提供的 0.0

~/.sbt/0.13/plugins/build.sbt

猫 ~/.sbt/0.13/plugins/plugins.sbt

0 投票
1 回答
520 浏览

scala - 如何在我的 Scala 项目中“嵌入”SBT 插件

我目前正在使用作为compile任务一部分运行但希望对其进行修改的 SBT 插件。已联系作者,但没有回复。

谁能给我一个将功能导入我的项目的步骤的高级概述,以便我可以自定义它?它是一个单一的对象。

  • 如果对象“挂钩”到compile任务中,那么我认为它仍然应该扩展plugin

  • 目前,我有一个编译错误import sbt.Keys._

import sbt._作品

import sbt.Keys._对象键不是包集的成员。

我需要 SBT jar 作为我项目的非托管依赖项吗?

build.properties 包含sbt.version=0.13.5

顺便说一句 - 我将在代码中保留原始作者的详细信息,以将代码归于他们。


编辑。

我正在使用sbt-cxf-wsdl2java插件。

我主要希望升级插件使用的 CXF 版本,因为这是硬编码的,而不是插件目标代码。

我可以分叉它,更改代码,创建新插件并推送到一个仓库,然后在我的项目中声明,但这对于一个相对较小的更改来说似乎需要付出很多努力——因此我希望在我的应用程序中“嵌入”插件代码。

我想我需要阅读文档并弄清楚插件如何工作才能理解这一点 - 但如果有人可以给我一些指示以节省我的时间,那么我将非常感激。

build.sbt(带有相关的插件位):

插件.sbt

0 投票
0 回答
32 浏览

sbt - 如何使用 sbt-native-packager Debian 插件在更改文件中设置分发部分?

当我使用 JavaServerAppPackaging 插件生成 .deb 和 .changes 文件时,我的更改文件包含Distribution: unknown. 我怎么能改变呢?

0 投票
1 回答
25 浏览

jshint - 如何让 JsHint sbt 插件更有用?

当我在我的 Play 项目中启用 jshint sbt 插件时,我得到了这些恼人的错误,这些错误实际上并不是错误。我怎样才能关闭它们,或避免它们?

谢谢

在此处输入图像描述 在此处输入图像描述

0 投票
2 回答
2724 浏览

scala - sbt 添加插件错误

我已经阅读了所有类似的问题,但这些建议都没有解决我的问题。也许我无法看到它。

问题是我有 project/plugins.sbt 并且当我尝试添加例如

它给了我

然后我添加

但错误是一样的

我的 sbt 版本是

和斯卡拉版本是

也许有人可以为我指出正确的方向。提前致谢。

编辑:当我把

到 project/assembly.sbt 我得到了同样的错误

实际上我不认为错误是针对 sbt-assembly 当我尝试添加其他插件时它给出了同样的错误

编辑

好吧,对于像我这样粗心的其他人来说,它说的所有文档都像 project/plugins.sbt 或 project/assembly.sbt 等...实际上我认为“项目”应该是应用程序的项目文件夹,但它是[your_project_name]/project :( 所以所有提到的 conf 都应该放在那个目录中。

非常感谢回复。。

0 投票
1 回答
88 浏览

scala - 使用不同的设置调用 TaskKey

我正在使用插件sbt-assembly(版本 0.13.0),我想根据某些情况来调用assemblyPackageDependency或不调用appendContentHashInputKey

基本上,我想做这样的事情:

但我不知道如何设置assemblyOption只有条件为真,而不是全局


以下是我尝试过的一些不起作用的事情:

和:

0 投票
0 回答
131 浏览

scala - 在运行时添加配置

我想在运行时在插件中添加一个配置,并且可能还会在projectConfigurations. 有没有可能以这种方式操纵状态?我认为这需要在命令中完成,并且解决方案被埋在深处的某个地方AttributeMap,但我不确定如何接近那个野兽。

背景

我正在开发一个sbt-slick-codegen插件,它具有多数据库支持作为基本功能。现在要在 sbt 中配置数据库,我采用了一种非常简单的方法:将所有内容都填充到 Map 中。

现在,这可行,但违背了sbt的目的,难以设置,难以维护和更新。我宁愿配置像这样工作:

而且这种方法也适用于当前的开发分支,但仅适用Database( x )于编译时已知的配置,这会导致下一个问题:

最重要的是,我计划添加一个支持PlayFramework的模块。这个想法是有一个SettingKey[Seq[Config]]( "configurations" )接受Typesafe Config实例的设置,从它们中读取光滑的配置并生成适当的配置Database( x )。但是对于这一步,我没有想法。

0 投票
1 回答
1557 浏览

scala - 如何将 sbt pack 插件导入项目

我按照sbt-pack链接导入插件。我做了:

  1. 在我的项目根目录下addSbtPlugin("org.xerial.sbt" % "sbt-pack" % "0.7.5")添加一行。plugins.sbt

  2. 在项目根目录下文件packAutoSettings的最顶部添加一行build.sbt

然后我运行 sbt 启动控制台,它说: error: not found: value packAutoSettings

此外,当我运行 sbt 插件时,我没有看到sbt-pack列表中显示的新插件。

我还尝试创建一个名为 pack.sbt 的文件并添加如下内容: pack.settings addSbtPlugin("org.xerial.sbt" % "sbt-pack" % "0.7.5") 但效果不佳。

0 投票
0 回答
248 浏览

scala - SBT插件如何使源生成器依赖于项目的源?

我正在尝试在 SBT 插件中创建一个源代码生成器,该插件会根据项目的源代码生成代码。

我试过这样的事情:

不幸的是,由于存在循环依赖,SBT 不想加载这个插件。

由于这个事实,我创建了另一个这样的任务:

此任务实际上取决于源值并生成文件。

后来我覆盖了这个projectSettings值并添加了这个:

我将此任务作为依赖项添加到项目的 build.sbt 中的编译任务中,我希望我的插件执行以下操作:

虽然它可以工作(生成文件),但当我启动 sbt 命令sbt run时,它会创建文件但不会编译它。

更重要的是,当我运行 just 时sbt compile run,它只编译第一个 ( compile) 任务上的项目并生成我的源代码,然后run部分编译生成的源代码 - 所以,就目前而言,它确实可以工作,但它需要两个汇编。

我想问一下是否有更简单的方法可以做到这一点,如果没有,如何让它只在一个编译中工作。

0 投票
1 回答
130 浏览

sbt - 从 sbt 中的 AutoPlugin 生成资源

我已经创建了以下插件,就像之前的许多插件一样......

generate-version-conf任务按预期运行,生成我正在寻找的文件。使用此插件的version项目按预期更新设置。但是以下情况没有发生,我不清楚为什么:

  1. 配置文件不是由compile.
  2. 配置文件不是由 .jar 打包在 jar 中的package
  3. 使用任务时配置文件不在类路径中run

请注意,我还尝试了十几种变体,并且我进一步尝试了:

据我了解,这应该会导致或多或少相同的行为。

检查它的运行时属性,我看到一些设置已成功应用:

但是,对于 来说,情况并非如此compile:resourceGenerators,这表明它仍然保持默认值。

我的问题是(现在我已经继续对此进行更多研究),是什么阻止了我对(generateResources in Compile)的更改被应用?