scalacenter / scalafix.g8

Giter8 template to implement custom rewrites
10 stars 9 forks source link

use steward-maintained version instead of runtime lookup #102

Closed bjaglin closed 1 year ago

bjaglin commented 1 year ago

Work around https://github.com/foundweekends/giter8/issues/802

bjaglin commented 1 year ago

Steward will most likely fail on this...

➜  scalafix.g8 git:(main) cd src/main/g8/scalafix/ 
➜  scalafix git:(main) sbt
[info] welcome to sbt 1.8.3 (Ubuntu Java 11.0.19)
[info] loading global plugins from /home/brice/.sbt/1.0/plugins
[info] compiling 1 Scala source to /home/brice/.sbt/1.0/plugins/target/scala-2.12/sbt-1.0/classes ...
[info] loading settings for project scalafix-build from plugins.sbt ...
[info] loading project definition from /home/brice/git/opensource/scalafix.g8/src/main/g8/scalafix/project
[info] compiling 1 Scala source to /home/brice/git/opensource/scalafix.g8/src/main/g8/scalafix/project/target/scala-2.12/sbt-1.0/classes ...
java.lang.RuntimeException: Invalid project ID: Expected letter
$repo;format="normalize"$
^
    at scala.sys.package$.error(package.scala:30)
    at sbt.Project$.$anonfun$unresolved$1(Project.scala:429)
    at scala.Option.foreach(Option.scala:407)
    at sbt.Project$.sbt$Project$$unresolved(Project.scala:429)
    at sbt.Project$.apply(Project.scala:324)
    at $80af36a23af83b7f6856$.$repo$u003Bformat$eq$u0022normalize$u0022$$lzycompute(build.sbt:26)
    at $80af36a23af83b7f6856$.$repo$u003Bformat$eq$u0022normalize$u0022$(build.sbt:26)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at sbt.compiler.EvalDefinitions.$anonfun$values$1(Eval.scala:59)
    at scala.collection.immutable.List.map(List.scala:293)
    at sbt.compiler.EvalDefinitions.values(Eval.scala:59)
    at sbt.internal.DefinedSbtValues.$anonfun$values$1(LoadedSbtFile.scala:50)
    at scala.collection.immutable.List.flatMap(List.scala:366)
    at sbt.internal.DefinedSbtValues.values(LoadedSbtFile.scala:50)
    at sbt.internal.EvaluateConfigurations$.$anonfun$evaluateSbtFile$4(EvaluateConfigurations.scala:166)
    at sbt.internal.Load$.loadSettingsFile$1(Load.scala:1119)
    at sbt.internal.Load$.$anonfun$discoverProjects$2(Load.scala:1128)
    at scala.collection.MapLike.getOrElse(MapLike.scala:131)
    at scala.collection.MapLike.getOrElse$(MapLike.scala:129)
    at scala.collection.AbstractMap.getOrElse(Map.scala:65)
    at sbt.internal.Load$.memoLoadSettingsFile$1(Load.scala:1127)
    at sbt.internal.Load$.$anonfun$discoverProjects$4(Load.scala:1135)
    at scala.collection.immutable.List.map(List.scala:293)
    at sbt.internal.Load$.loadFiles$1(Load.scala:1135)
    at sbt.internal.Load$.discoverProjects(Load.scala:1149)
    at sbt.internal.Load$.discover$1(Load.scala:901)
    at sbt.internal.Load$.loadTransitive(Load.scala:955)
    at sbt.internal.Load$.loadProjects$1(Load.scala:738)
    at sbt.internal.Load$.$anonfun$loadUnit$12(Load.scala:741)
    at sbt.internal.Load$.timed(Load.scala:1406)
    at sbt.internal.Load$.$anonfun$loadUnit$1(Load.scala:741)
    at sbt.internal.Load$.timed(Load.scala:1406)
    at sbt.internal.Load$.loadUnit(Load.scala:694)
    at sbt.internal.Load$.$anonfun$builtinLoader$4(Load.scala:492)
    at sbt.internal.BuildLoader$.$anonfun$componentLoader$5(BuildLoader.scala:180)
    at sbt.internal.BuildLoader.apply(BuildLoader.scala:245)
    at sbt.internal.Load$.loadURI$1(Load.scala:554)
    at sbt.internal.Load$.loadAll(Load.scala:570)
    at sbt.internal.Load$.loadURI(Load.scala:500)
    at sbt.internal.Load$.load(Load.scala:479)
    at sbt.internal.Load$.$anonfun$apply$1(Load.scala:241)
    at sbt.internal.Load$.timed(Load.scala:1406)
    at sbt.internal.Load$.apply(Load.scala:241)
    at sbt.internal.Load$.defaultLoad(Load.scala:56)
    at sbt.BuiltinCommands$.liftedTree1$1(Main.scala:961)
    at sbt.BuiltinCommands$.doLoadProject(Main.scala:961)
    at sbt.BuiltinCommands$.$anonfun$loadProjectImpl$2(Main.scala:914)
    at sbt.Command$.$anonfun$applyEffect$4(Command.scala:150)
    at sbt.Command$.$anonfun$applyEffect$2(Command.scala:145)
    at sbt.Command$.process(Command.scala:189)
    at sbt.MainLoop$.$anonfun$processCommand$5(MainLoop.scala:245)
    at scala.Option.getOrElse(Option.scala:189)
    at sbt.MainLoop$.process$1(MainLoop.scala:245)
    at sbt.MainLoop$.processCommand(MainLoop.scala:278)
    at sbt.MainLoop$.$anonfun$next$5(MainLoop.scala:163)
    at sbt.State$StateOpsImpl$.runCmd$1(State.scala:289)
    at sbt.State$StateOpsImpl$.process$extension(State.scala:325)
    at sbt.MainLoop$.$anonfun$next$4(MainLoop.scala:163)
    at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
    at sbt.MainLoop$.next(MainLoop.scala:163)
    at sbt.MainLoop$.run(MainLoop.scala:144)
    at sbt.MainLoop$.$anonfun$runWithNewLog$1(MainLoop.scala:119)
    at sbt.io.Using.apply(Using.scala:27)
    at sbt.MainLoop$.runWithNewLog(MainLoop.scala:112)
    at sbt.MainLoop$.runAndClearLast(MainLoop.scala:66)
    at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:51)
    at sbt.MainLoop$.runLogged(MainLoop.scala:42)
    at sbt.StandardMain$.runManaged(Main.scala:223)
    at sbt.xMain$.$anonfun$run$11(Main.scala:133)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
    at scala.Console$.withIn(Console.scala:230)
    at sbt.internal.util.Terminal$.withIn(Terminal.scala:578)
    at sbt.internal.util.Terminal$.$anonfun$withStreams$1(Terminal.scala:358)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
    at scala.Console$.withOut(Console.scala:167)
    at sbt.internal.util.Terminal$.$anonfun$withOut$2(Terminal.scala:568)
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:62)
    at scala.Console$.withErr(Console.scala:196)
    at sbt.internal.util.Terminal$.withOut(Terminal.scala:568)
    at sbt.internal.util.Terminal$.withStreams(Terminal.scala:358)
    at sbt.xMain$.withStreams$1(Main.scala:87)
    at sbt.xMain$.run(Main.scala:121)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at sbt.internal.XMainConfiguration.run(XMainConfiguration.java:57)
    at sbt.xMain.run(Main.scala:46)
    at xsbt.boot.Launch$.$anonfun$run$1(Launch.scala:149)
    at xsbt.boot.Launch$.withContextLoader(Launch.scala:176)
    at xsbt.boot.Launch$.run(Launch.scala:149)
    at xsbt.boot.Launch$.$anonfun$apply$1(Launch.scala:44)
    at xsbt.boot.Launch$.launch(Launch.scala:159)
    at xsbt.boot.Launch$.apply(Launch.scala:44)
    at xsbt.boot.Launch$.apply(Launch.scala:21)
    at xsbt.boot.Boot$.runImpl(Boot.scala:78)
    at xsbt.boot.Boot$.run(Boot.scala:73)
    at xsbt.boot.Boot$.main(Boot.scala:21)
    at xsbt.boot.Boot.main(Boot.scala)
[error] Invalid project ID: Expected letter
[error] $repo;format="normalize"$
[error] ^
[error] Use 'last' for the full log.
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)

I guess the easiest would be to get rid of the repo key to let sbt initialize, at the expense of losing customability, and defeating a bit the point of using giter8...

bjaglin commented 1 year ago

https://github.com/foundweekends/giter8/issues/802#issuecomment-1763308346