问题标签 [sbt-buildinfo]
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.
scala - 我可以从代码中访问我的 Scala 应用程序的名称和版本(在 SBT 中设置)吗?
我正在使用 Scala 构建定义构建一个带有 SBT (0.11.0) 的应用程序,如下所示:
我在流程结束时打包了一个 .jar。
我的问题很简单:有没有办法从我的 Scala 代码中以编程方式访问应用程序的名称(“my-app-name”)和版本(“0.1”)?如果可以的话,我不想在两个地方重复它们。
非常感谢任何指导!
java - 如何从 PlayFramework 中的 Java 代码访问 SBT 设置?
我有一个 PlayFramework 应用程序name
,version
在build.sbt
.
如果我运行播放控制台,我可以通过键入name
或访问此信息version
。
如何从应用程序内的 Java 代码中获取这些信息?我似乎找不到任何有用的方法,Play.application()
也无法在文档中找到它。
scala - IntelliJ Idea sbt 托管源文件
我正在使用sbt-buildinfo 插件,它从我的构建定义生成 Scala 源代码,允许我从我的 Scala 代码中引用项目名称、版本等。
它通过生成具有以下内容的文件BuiltInfo.scala来做到这一点:
在
目标/scala-2.10/src_managed/main/sbt-buildinfo/BuildInfo.scala。
一切都编译好了,我可以参考那些 vals。
但是,IntelliJ Idea 不会将 BuildInfo.scala 识别为托管源文件,因此它不会向我显示错误。知道怎么做吗?
谢谢!
eclipse - 如何让 Eclipse 在 sbt/Scala/BuildInfo 项目中解析 BuildInfo
一些 Scala/SBT 项目,例如Tugboat或giter8使用BuildInfo - 例如,请参见此处和此处。当我在使用sbteclipse创建项目文件后将这些项目导入 Eclipse时,项目将无法编译,因为它无法解析 BuildInfo。
BuildInfo README 中有一些关于如何解决此问题的说明。但是,如果我将建议的行添加到 Tugboat SBT 文件中:
它不能解决问题。在 Tugboat SBT 文件中,它指定了一些其他设置——我是否需要做其他任何事情才能访问 Eclipse 中的 BuildInfo?
git - Heroku 应用程序的运行时可以知道它的提交 id 吗?
我希望我的 Heroku 应用程序(Play/Scala,在 Heroku Cedar 上运行)的运行时能够向我报告它是从哪个 git commit 构建的。Heroku 应用程序通常由 slug 编译器在 Heroku 的基础架构上构建 - 不幸的是,slug 编译器将其作为此构建过程的早期部分:
删除未使用的文件,包括 .git 目录、.gitmodules 文件、日志和 tmp 中的任何内容,以及顶级 .slugignore 文件中指定的任何内容。
...所以 Git 信息不再可用于sbt-buildinfo
我用来记录 Git 提交的插件。
如何在 slug 中记录 HEAD 提交?此信息是否有可用的环境变量?
scala - 如何不查看文件以了解 Play 框架中的更改
在编译项目时使用sbt-buildinfo创建文件的 Play Framework 2.2 项目上BuildInfo.scala
,如何build.sbt
配置以便 Play Framework 不会监视BuildInfo.scala
文件的更改,并且不会在文件更改时重新启动服务器?
例如,如果会话开始于:
并且服务器以开发模式启动,然后在另一个终端窗口sbt
中启动另一个会话(运行另一个子项目,或者只是运行其他sbt
任务),第二个sbt
会话将更新BuildInfo.scala
文件,第一个sbt
会话将检测到这一点并重新加载播放项目。
所以问题是如何BuildInfo.scala
从监控中排除(但仍然编译并包含在分发包中)。
显然watchSources
配置选项可能会有所帮助,但在阅读文档后,我无法弄清楚如何使用它来排除文件。
scala - sbtbuildinfo - 构建多个项目
我正在使用 sbt 构建一个多模块项目,并且我想使用 sbt-buildinfo 来允许其中一项服务包含此信息以进行调试和版本控制。
问题在于 sbt-buildinfo 插件似乎只获取根项目的库依赖项,而不是聚合子项目的所有依赖项。在我看来,如果您在聚合之后运行插件,那么根项目中就会包含这些依赖项并且会显示出来,但它们不会。也许我只是不理解这里的过程,但这对我来说似乎是合理的。
现在,这对一个项目非常有效,但对于许多子项目,它不再有效。另外现在它甚至不再生成文件,我现在不知道我在做什么错。这是我的构建。任何帮助表示赞赏。
我也对我的构建的任何想法持开放态度,我觉得我做错了或重复了一些事情,所以任何建议也很感激。谢谢!
scala - SBT:访问 Build.scala 中生成的类
我面临 SBT 托管来源的问题。
我想将一些自动生成的类(如 BuildInfo.scala)导入src_managed
到我的 Build.scala SBT 文件中。
虽然所有类都会成功生成,但我无法在 Build.scala 中导入它们(找不到类)。
我所有的构建类都位于project
文件夹中。
如何配置我的构建以便从 SBT 构建文件访问生成的类?
编辑
我BuildInfo.scala
的位于{root}/project/src_managed/sbt-buildinfo/
。我想要做的是将这个类导入Build.scala
位于{root}/project/
. 但我得到一个编译错误:project/Build.scala:8: object BuildInfo is not a member of package *******
scala - 我如何要求 sbt-buildinfo 仅在(重新)加载时运行而不是编译时运行?
我使用sbt-buildinfo
SBT 插件,效果很好。
我想改进以下几点:目前,生成文件中的所有值只有在重新加载整个 sbt 项目时才能更改,因此不会在每次compile
运行时更改。因此,我想防止BuildInfo
在编译时重新生成,而是仅在项目加载时直接生成它。
这可能吗?