使用 SBT 将源文件复制到目标目录

发布于 2024-11-01 16:58:02 字数 361 浏览 1 评论 0原文

我最近决定使用 SBT 来构建一个现有项目。 在这个项目中,我在 scala 包中有一些 .glsl 文件,我需要在编译阶段复制这些文件。

该项目的结构如下:

- myapp.opengl
   - Shader.scala
- myapp.opengl.shaders
   - vertex_shader.glsl
   - fragment_shader.glsl

此文件结构对于 SBT 是否正确,或者我是否需要将 .glsl 文件放入其他目录中。您知道将这些文件复制到目标文件夹的干净方法吗?

我不想将这些文件放入资源目录中,因为它们是(未编译的)源文件

谢谢

I recently decided to use SBT to build an existing project.
In this project I have some .glsl files within the scala packages which I need to copy during the compilation phase.

The project is structured like this :

- myapp.opengl
   - Shader.scala
- myapp.opengl.shaders
   - vertex_shader.glsl
   - fragment_shader.glsl

Is this file structure correct for SBT or do I need to put the .glsl files into an other directory. And do you know a clean way to copy these files into the target folder ?

I would prefer not putting these files into the resources directory since they are (non-compiled) sources files

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥有 2024-11-08 16:58:02

我不建议将这些文件放入 src/main/scala 中,因为它们不属于那里。如果您想让它们与资源文件分开,您可以将它们放在自定义路径中,例如 src/main/glsl 并将以下行添加到项目定义中,以将它们复制到输出目录中:

val shaderSourcePath = "src"/"main"/"glsl"

// use shaderSourcePath as root path, so directory structure is
// correctly preserved (relative to the source path)
def shaderSources = (shaderSourcePath ##) ** "*.glsl"

override def mainResources = super.mainResources +++ shaderSources

I would not recommend putting those files into src/main/scala as they do not belong there. If you want to keep them separate from your resource files, you can put them in a custom path, e.g. src/main/glsl and add the following lines to your project definition to have them copied into output directory:

val shaderSourcePath = "src"/"main"/"glsl"

// use shaderSourcePath as root path, so directory structure is
// correctly preserved (relative to the source path)
def shaderSources = (shaderSourcePath ##) ** "*.glsl"

override def mainResources = super.mainResources +++ shaderSources
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文