问题标签 [giter8]

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 回答
449 浏览

sbt - 真实不适用于 sbt new

我用 giter8 创建了一个模板项目,并尝试添加条件表达式。

defaults.properties我补充说:

在我添加的模板文件中:

当我生成项目时:

一切都按预期工作。
在交互部分,param将有 2 个选项:

参数[是/否]

并且生成的文件将包含基于值的附加文本param

但是,当我生成项目时:

param被视为字符串。
在交互部分,没有是/否选项:

参数[是]

我收到以下错误:

由于模板文件中的错误而退出:/tmp/giter8-135496483100759/src/main/g8/build.sbt, context [anonymous] 44:6 internal error: org.stringtemplate.v4.compiler.STException: context [anonymous] 44:6 没有这样的属性或无法访问:java.lang.String.truthy 原因:org.stringtemplate.v4.misc.STNoSuchPropertyException:没有这样的属性:org.stringtemplate.v4 的 java.lang.String.truthy。 misc.ObjectModelAdaptor.throwNoSuchProperty(ObjectModelAdaptor.java:167) at org.stringtemplate.v4.misc.ObjectModelAdaptor.getProperty(ObjectModelAdaptor.java:89) at org.stringtemplate.v4.Interpreter.getObjectProperty(Interpreter.java:1200) at org .stringtemplate.v4.Interpreter._exec(Interpreter.java:210) 在 org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145) 在 org.stringtemplate.v4.ST.write(ST.java:427) 在 org.clapper.scalasti.ST.render(ST.scala:285) 在 org.stringtemplate.v4.ST.render(ST.java:497) 在 giter8.G8$.applyTemplate(g8.scala:102)在 giter8.G8$.write(g8.scala:154) 在 giter8.G8$.write(g8.scala:138) 在 giter8.G8$.$anonfun$writeTemplates$3(g8.scala:396) 在 scala.util .control.Exception$Catch.$anonfun$opt$1(Exception.scala:242) at scala.util.control.Exception$Catch.apply(Exception.scala:224) at scala.util.control.Exception$Catch.opt (Exception.scala:242) at giter8.G8$.$anonfun$writeTemplates$2(g8.scala:396) at scala.collection.immutable.Stream.foreach(Stream.scala:530) at giter8.G8$.writeTemplates( g8.scala:386) at giter8.G8$.$anonfun$applyT$1(g8.scala:257) at scala.util.Either$RightProjection.flatMap(Either.scala:702) at giter8.G8$.applyT(g8 .scala:249) 在 giter8.G8$。fromDirectory(g8.scala:62) at giter8.JgitHelper$.$anonfun$run$3(JgitHelper.scala:64) at scala.util.Either$RightProjection.flatMap(Either.scala:702) at giter8.JgitHelper$.run (JgitHelper.scala:63) at giter8.Giter8.$anonfun$run$2(giter8.scala:34) at scala.Option.map(Option.scala:146) at giter8.Giter8.run(giter8.scala:33)在 sbtgiter8resolver.Giter8TemplateResolver.run(Giter8TemplateResolver.scala:31) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 sbt.TemplateCommandUtil$.call(TemplateCommand.scala:100) 在 sbt.TemplateCommandUtil$。runTemplate(TemplateCommand.scala:78) at sbt.TemplateCommandUtil$.$anonfun$run$1(TemplateCommand.scala:58) at sbt.TemplateCommandUtil$.$anonfun$run$1$adapted(TemplateCommand.scala:54) at scala.collection .LinearSeqOptimized.find(LinearSeqOptimized.scala:111) at scala.collection.LinearSeqOptimized.find$(LinearSeqOptimized.scala:108) at scala.collection.immutable.List.find(List.scala:86) at sbt.TemplateCommandUtil$。在 sbt.TemplateCommandUtil$.runTemplate(TemplateCommand.scala:41) 在 sbt.TemplateCommandUtil$.$anonfun$templateCommand$2(TemplateCommand.scala:24) 在 sbt.Command$.$anonfun$applyEffect 运行(TemplateCommand.scala:54) $4(Command.scala:134) at sbt.Command$.$anonfun$applyEffect$2(Command.scala:130) at sbt.MainLoop$.processCommand(MainLoop.scala:153) at sbt.MainLoop$.$anonfun$next 2 美元(主循环。scala:136) at sbt.State$$anon$1.runCmd$1(State.scala:242) at sbt.State$$anon$1.process(State.scala:248) at sbt.MainLoop$.$anonfun$next$1 (MainLoop.scala:136) at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16) at sbt.MainLoop$.next(MainLoop.scala:136) at sbt.MainLoop$.run(MainLoop.scala :129) at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:107) at sbt.io.Using.apply(Using.scala:22) at sbt.MainLoop$.runWithNewLog(MainLoop.scala:101)在 sbt.MainLoop$.runAndClearLast(MainLoop.scala:57) 在 sbt.MainLoop$.runLoggedLoop(MainLoop.scala:42) 在 sbt.MainLoop$.runLogged(MainLoop.scala:34) 在 sbt.StandardMain$.runManaged( Main.scala:113) 在 sbt.xMain.run(Main.scala:76) 在 xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) 在 xsbt.boot.Launch$。withContextLoader(Launch.scala:128) at xsbt.boot.Launch$.run(Launch.scala:109) at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) at xsbt.boot。 Launch$.launch(Launch.scala:117) at xsbt.boot.Launch$.apply(Launch.scala:18) at xsbt.boot.Boot$.runImpl(Boot.scala:41) at xsbt.boot.Boot$ .main(Boot.scala:17) 在 xsbt.boot.Boot.main(Boot.scala)

在 giter8.G8$STErrorHandler.runTimeError(g8.scala:110) 在 giter8.G8$STErrorHandler.runTimeError(g8.scala:105) 在 org.stringtemplate.v4.misc.ErrorManager.runTimeError(ErrorManager.java:137) 在org.stringtemplate.v4.Interpreter.getObjectProperty(Interpreter.java:1203) 在 org.stringtemplate.v4.Interpreter._exec(Interpreter.java:210) 在 org.stringtemplate.v4.Interpreter.exec(Interpreter.java:145)在 org.stringtemplate.v4.ST.write(ST.java:427) 在 org.stringtemplate.v4.ST.render(ST.java:497) 在 org.clapper.scalasti.ST.render(ST.scala:285 ) 在 giter8.G8$.applyTemplate(g8.scala:102) 在 giter8.G8$.write(g8.scala:154) 在 giter8.G8$.write(g8.scala:138) 在 giter8.G8$.$ anonfun$writeTemplates$3(g8.scala:396) 在 scala.util.control.Exception$Catch.$anonfun$opt$1(Exception.scala:242) 在 scala.util.control。giter8.G8$.$anonfun$writeTemplates$2(g8.scala:396) 的 scala.util.control.Exception$Catch.opt(Exception.scala:242) 的 Exception$Catch.apply(Exception.scala:224) scala.collection.immutable.Stream.foreach(Stream.scala:530) at giter8.G8$.writeTemplates(g8.scala:386) at giter8.G8$.$anonfun$applyT$1(g8.scala:257) at scala .util.Either$RightProjection.flatMap(Either.scala:702) at giter8.G8$.applyT(g8.scala:249) at giter8.G8$.fromDirectory(g8.scala:62) at giter8.JgitHelper$.$ anonfun$run$3(JgitHelper.scala:64) at scala.util.Either$RightProjection.flatMap(Either.scala:702) at giter8.JgitHelper$.run(JgitHelper.scala:63) at giter8.Giter8.$anonfun$在 sbtgiter8resolver.Giter8TemplateResolver 的 giter8.Giter8.run(giter8.scala:33) 的 scala.Option.map(Option.scala:146) 处运行 $2(giter8.scala:34)。在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 运行(Giter8TemplateResolver.scala:31)在 java.lang.reflect.Method.invoke(Method.java:498) 在 sbt.TemplateCommandUtil$.call(TemplateCommand.scala:100) 在 sbt.TemplateCommandUtil$.runTemplate(TemplateCommand.scala:78) 在 sbt.TemplateCommandUtil$ .$anonfun$run$1(TemplateCommand.scala:58) at sbt.TemplateCommandUtil$.$anonfun$run$1$adapted(TemplateCommand.scala:54) at scala.collection.LinearSeqOptimized.find(LinearSeqOptimized.scala:111) at scala .collection.LinearSeqOptimized.find$(LinearSeqOptimized.scala:108) 在 scala.collection.immutable.List.find(List.scala:86) 在 sbt.TemplateCommandUtil$.$anonfun$templateCommand$2(TemplateCommand.scala:24) 在 sbt.TemplateCommandUtil$.runTemplate(TemplateCommand.scala:41) 在 sbt.TemplateCommandUtil$.run(TemplateCommand.scala:54) 在 sbt .Command$.$anonfun$applyEffect$4(Command.scala:134) at sbt.Command$.$anonfun$applyEffect$2(Command.scala:130) at sbt.MainLoop$.processCommand(MainLoop.scala:153) at sbt .MainLoop$.$anonfun$next$2(MainLoop.scala:136) at sbt.State$$anon$1.runCmd$1(State.scala:242) at sbt.State$$anon$1.process(State.scala:248 ) 在 sbt.MainLoop$.$anonfun$next$1(MainLoop.scala:136) 在 sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16) 在 sbt.MainLoop$.next(MainLoop.scala:136 ) 在 sbt.MainLoop$.run(MainLoop.scala:129) 在 sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:107) 在 sbt.io.Using.apply(Using.scala:22) 在 sbt.MainLoop$.runWithNewLog(MainLoop.scala:101) 在 sbt.MainLoop$.runAndClearLast(MainLoop.scala:57) 在 sbt.MainLoop$ .runLoggedLoop(MainLoop.scala:42) at sbt.MainLoop$.runLogged(MainLoop.scala:34) at sbt.StandardMain$.runManaged(Main.scala:113) at sbt.xMain.run(Main.scala:76)在 xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) 在 xsbt.boot.Launch$.withContextLoader(Launch.scala:128) 在 xsbt.boot.Launch$.run(Launch.scala :109) 在 xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) 在 xsbt.boot.Launch$.launch(Launch.scala:117) 在 xsbt.boot.Launch$.apply( Launch.scala:18) 在 xsbt.boot.Boot$.runImpl(Boot.scala:41) 在 xsbt.boot.Boot$.main(Boot.scala:17) 在 xsbt.boot.Boot.main(Boot.scala )22) 在 sbt.MainLoop$.runLoggedLoop(MainLoop.scala:42) 在 sbt.MainLoop$.runAndClearLast(MainLoop.scala:57) 在 sbt.MainLoop$.runLoggedLoop(MainLoop.scala:42) 在 sbt.MainLoop$.runAndClearLast(MainLoop.scala:57)。 runLogged(MainLoop.scala:34) at sbt.StandardMain$.runManaged(Main.scala:113) at sbt.xMain.run(Main.scala:76) at xsbt.boot.Launch$$anonfun$run$1.apply( Launch.scala:109) 在 xsbt.boot.Launch$.withContextLoader(Launch.scala:128) 在 xsbt.boot.Launch$.run(Launch.scala:109) 在 xsbt.boot.Launch$$anonfun$apply$1 .apply(Launch.scala:35) 在 xsbt.boot.Launch$.launch(Launch.scala:117) 在 xsbt.boot.Launch$.apply(Launch.scala:18) 在 xsbt.boot.Boot$.runImpl (Boot.scala:41) 在 xsbt.boot.Boot$.main(Boot.scala:17) 在 xsbt.boot.Boot.main(Boot.scala)22) 在 sbt.MainLoop$.runLoggedLoop(MainLoop.scala:42) 在 sbt.MainLoop$.runAndClearLast(MainLoop.scala:57) 在 sbt.MainLoop$.runLoggedLoop(MainLoop.scala:42) 在 sbt.MainLoop$.runAndClearLast(MainLoop.scala:57)。 runLogged(MainLoop.scala:34) at sbt.StandardMain$.runManaged(Main.scala:113) at sbt.xMain.run(Main.scala:76) at xsbt.boot.Launch$$anonfun$run$1.apply( Launch.scala:109) 在 xsbt.boot.Launch$.withContextLoader(Launch.scala:128) 在 xsbt.boot.Launch$.run(Launch.scala:109) 在 xsbt.boot.Launch$$anonfun$apply$1 .apply(Launch.scala:35) 在 xsbt.boot.Launch$.launch(Launch.scala:117) 在 xsbt.boot.Launch$.apply(Launch.scala:18) 在 xsbt.boot.Boot$.runImpl (Boot.scala:41) 在 xsbt.boot.Boot$.main(Boot.scala:17) 在 xsbt.boot.Boot.main(Boot.scala)runAndClearLast(MainLoop.scala:57) at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:42) at sbt.MainLoop$.runLogged(MainLoop.scala:34) at sbt.StandardMain$.runManaged(Main.scala:113)在 sbt.xMain.run(Main.scala:76) 在 xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) 在 xsbt.boot.Launch$.withContextLoader(Launch.scala:128)在 xsbt.boot.Launch$.run(Launch.scala:109) 在 xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) 在 xsbt.boot.Launch$.launch(Launch.scala :117) 在 xsbt.boot.Launch$.apply(Launch.scala:18) 在 xsbt.boot.Boot$.runImpl(Boot.scala:41) 在 xsbt.boot.Boot$.main(Boot.scala:17 ) 在 xsbt.boot.Boot.main(Boot.scala)runAndClearLast(MainLoop.scala:57) at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:42) at sbt.MainLoop$.runLogged(MainLoop.scala:34) at sbt.StandardMain$.runManaged(Main.scala:113)在 sbt.xMain.run(Main.scala:76) 在 xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) 在 xsbt.boot.Launch$.withContextLoader(Launch.scala:128)在 xsbt.boot.Launch$.run(Launch.scala:109) 在 xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) 在 xsbt.boot.Launch$.launch(Launch.scala :117) 在 xsbt.boot.Launch$.apply(Launch.scala:18) 在 xsbt.boot.Boot$.runImpl(Boot.scala:41) 在 xsbt.boot.Boot$.main(Boot.scala:17 ) 在 xsbt.boot.Boot.main(Boot.scala)113) 在 sbt.xMain.run(Main.scala:76) 在 xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) 在 xsbt.boot.Launch$.withContextLoader(Launch.scala: 128) 在 xsbt.boot.Launch$.run(Launch.scala:109) 在 xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) 在 xsbt.boot.Launch$.launch(Launch .scala:117) 在 xsbt.boot.Launch$.apply(Launch.scala:18) 在 xsbt.boot.Boot$.runImpl(Boot.scala:41) 在 xsbt.boot.Boot$.main(Boot.scala :17) 在 xsbt.boot.Boot.main(Boot.scala)113) 在 sbt.xMain.run(Main.scala:76) 在 xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109) 在 xsbt.boot.Launch$.withContextLoader(Launch.scala: 128) 在 xsbt.boot.Launch$.run(Launch.scala:109) 在 xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35) 在 xsbt.boot.Launch$.launch(Launch .scala:117) 在 xsbt.boot.Launch$.apply(Launch.scala:18) 在 xsbt.boot.Boot$.runImpl(Boot.scala:41) 在 xsbt.boot.Boot$.main(Boot.scala :17) 在 xsbt.boot.Boot.main(Boot.scala)scala:18) 在 xsbt.boot.Boot$.runImpl(Boot.scala:41) 在 xsbt.boot.Boot$.main(Boot.scala:17) 在 xsbt.boot.Boot.main(Boot.scala)scala:18) 在 xsbt.boot.Boot$.runImpl(Boot.scala:41) 在 xsbt.boot.Boot$.main(Boot.scala:17) 在 xsbt.boot.Boot.main(Boot.scala)

我同时使用0.11.0-M3版本g8sbt-giter8插件

我该如何解决这个问题?

编辑:更多细节:
我正在使用 sbt 1.1.1(对于我机器上的 g8 项目和 sbt 启动器)我在文件的
g8 项目中添加了插件project/plugins.sbt

如果我从模板中删除了真实的部分,则该项目是正确生成的sbt new


这个问题在 sbt 1.2.0
中已经修复,为了修复,应该使用:
sbt -Dsbt.version=1.2.0 new file://proj.g8

0 投票
1 回答
383 浏览

scala - 是否可以从 intellij 运行 giter8 模板?

作为来自我制作的 g8 模板的反馈,有人问我是否可以直接在 intellij 中使用它。

有没有办法使用 g8 模板从 intellij 生成新模块,也许是通过一些 g8 插件集成?我做了一些尝试,但没有成功,找不到任何记录。

0 投票
0 回答
78 浏览

scala - 从模板创建项目时出现奇怪的异常 - 让我完全惊讶

我创建了一个模板项目。当尝试使用该模板创建项目时,g8 https://github.com/....git我得到了

文件:/var/folders/gy/22hljh894bdcrl35t9mz9c5h0000gp/T/giter8-22519068778300/src/main/g8/src/main/scala/$package$/service/UserRegistryActor.scala,31:53:“创建”作为一个完整的让我吃惊

从这段代码

为什么会这样?

0 投票
1 回答
193 浏览

scala - 如何使用 Giter8 包含/排除文件

根据文档条件truthy,也可以使用包含/排除文件或目录。我怎么能在实践中做到这一点?如果我将所有文件和目录添加到模板中,如何根据条件将它们从项目中排除?*根据这个问题,这是不可能的,但根据文档(IIUC)它应该可以工作。这很令人困惑

0 投票
2 回答
538 浏览

sbt - 运行`sbt new`时验证失败

这是迄今为止的成绩单:

我已经通过 GitHub 验证了身份验证:

还验证了我可以访问有问题的存储库(即我可以在单独的位置执行以下操作):

编辑: fwiw 我可以解决任何根本原因:

0 投票
3 回答
724 浏览

homebrew - 使用 Home-brew 安装 giter8 时出错

我一直在尝试giter8使用安装brew,如下所示: brew install giter8

我收到以下错误: Error: giter8 has been disabled because it fetches unversioned dependencies at runtime!

有谁知道如何解决这个问题,或者有什么解决方法。谢谢!

0 投票
0 回答
88 浏览

scala - giter8 使用 '\$' 转义

我正在为 Scala 项目开发 giter8 模板。所有模板都按预期运行。但是,今天我遇到了错误:

提到的文件如下:

我尝试了不同的 $ 转义选项。我什至删除了所有文本并尝试构建模板,但指向同一个文件时仍然收到相同的错误。

有谁知道解决这个问题的可能方法?

0 投票
0 回答
8 浏览

giter8 - giter8,脚手架时修改文件

我们正在使用 giter8 来搭建我们的多模块 sbt 项目的一部分。一些模板会生成模块,但我们仍然必须手动编辑我们build.sbt以将这些模块添加到构建定义中。

是否有可能执行将为build.sbt我们更新的 bash 或 Scala 脚本?

谢谢

0 投票
1 回答
40 浏览

scala - Scala-征兵 - “发生意外错误:请检查您的互联网连接”

上下文:我想安装 conscript 和 giter8,以便我可以更有效地创建和使用 Scalatra 项目文件。我已按照此处此处的说明下载并运行 jar。当我这样做时,我收到以下错误。运行 Powershell 脚本时出现同样的错误。当我在专用网络上时,我的互联网连接很好。当我跟随异常消息中的位置时,我点击了一个奇怪的页面,它看起来像一个 Github 目录列表 - 不知道该怎么做。

在此处输入图像描述

问题:有人可以让我知道我做错了什么吗?并解释我如何才能让应征入伍并正常运行?

更新:运行 jar 仍然无法正常工作,但我重新尝试运行 powershell 脚本,看起来它确实能够成功安装 conscript。当我 cd 进入.conscript\bin 目录并运行时cs foundweekends/giter8,我仍然收到这个奇怪的错误,这表明 conscript 或 giter8 仍未启动并正常运行。

当我导航到提供的 URL 时,我会收到一条消息。

{ “消息”:“未找到”,“documentation_url”:“https://docs.github.com/rest”}