scala-cli icon indicating copy to clipboard operation
scala-cli copied to clipboard

setting config repositories.default to empty string results in scala.NotImplementedError

Open bishabosha opened this issue 1 year ago • 1 comments

Version(s) 1.3.0

Describe the bug run the command scala-cli --power config repositories.default ''. subsequent usages of scala-cli fail with scala.NotImplementedError

To Reproduce

scala-cli --power config repositories.default ''
scala-cli repl

Expected behaviour I expected to actually have no default repository, so I could prevent looking in local maven and ivy caches

Extras here is the stack trace:

scala.NotImplementedError: an implementation is missing
  scala.Predef$.$qmark$qmark$qmark(Predef.scala:344)
  coursier.PlatformResolve.$anonfun$confFileRepositories$5(PlatformResolve.scala:44)
  scala.Option.map(Option.scala:242)
  coursier.PlatformResolve.confFileRepositories(PlatformResolve.scala:42)
  coursier.Resolve.$anonfun$finalRepositories$1(Resolve.scala:80)
  scala.collection.Iterator$$anon$10.nextCur(Iterator.scala:594)
  scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:608)
  scala.collection.Iterator$SliceIterator.hasNext(Iterator.scala:1240)
  scala.collection.immutable.List.prependedAll(List.scala:152)
  scala.collection.IterableOnceOps.toList(IterableOnce.scala:1446)
  scala.collection.IterableOnceOps.toList$(IterableOnce.scala:1446)
  scala.collection.AbstractIterator.toList(Iterator.scala:1303)
  coursier.Resolve.finalRepositories(Resolve.scala:81)
  coursier.Resolve.fetchVia(Resolve.scala:136)
  coursier.Resolve.ioWithConflicts(Resolve.scala:209)
  coursier.Resolve.io(Resolve.scala:215)
  coursier.Fetch.ioResult(Fetch.scala:203)
  coursier.Fetch$FetchTaskOps$.eitherResult$extension(Fetch.scala:330)
  scala.build.Artifacts$.$anonfun$55(Artifacts.scala:657)
  coursier.cache.CacheLogger.use(CacheLogger.scala:49)
  coursier.cache.CacheLogger.use$(CacheLogger.scala:47)
  coursier.cache.loggers.RefreshLogger.use(RefreshLogger.scala:209)
  scala.build.Artifacts$.fetchCsDependencies$$anonfun$1(Artifacts.scala:658)
  scala.build.EitherCps$Helper.apply(EitherCps.scala:19)
  scala.build.Artifacts$.fetchCsDependencies(Artifacts.scala:670)
  scala.build.Artifacts$.fetchAnyDependenciesWithResult$$anonfun$1(Artifacts.scala:561)
  scala.build.EitherCps$Helper.apply(EitherCps.scala:19)
  scala.build.Artifacts$.fetchAnyDependenciesWithResult(Artifacts.scala:578)
  scala.build.Artifacts$.fetchAnyDependencies$$anonfun$1(Artifacts.scala:526)
  scala.build.EitherCps$Helper.apply(EitherCps.scala:19)
  scala.build.Artifacts$.fetchAnyDependencies(Artifacts.scala:530)
  scala.build.Artifacts$.artifacts$$anonfun$1(Artifacts.scala:457)
  scala.build.EitherCps$Helper.apply(EitherCps.scala:19)
  scala.build.Artifacts$.artifacts(Artifacts.scala:477)
  scala.build.Artifacts$.apply$$anonfun$1(Artifacts.scala:171)
  scala.build.EitherCps$Helper.apply(EitherCps.scala:19)
  scala.build.Artifacts$.apply(Artifacts.scala:438)
  scala.build.options.BuildOptions.artifacts$$anonfun$1(BuildOptions.scala:464)
  scala.build.EitherCps$Helper.apply(EitherCps.scala:19)
  scala.build.options.BuildOptions.artifacts(BuildOptions.scala:467)
  scala.cli.commands.setupide.SetupIde$.downloadDeps(SetupIde.scala:61)
  scala.cli.commands.setupide.SetupIde$.writeBspConfiguration$$anonfun$1(SetupIde.scala:128)
  scala.build.EitherCps$Helper.apply(EitherCps.scala:19)
  scala.cli.commands.setupide.SetupIde$.writeBspConfiguration(SetupIde.scala:200)
  scala.cli.commands.setupide.SetupIde$.runSafe(SetupIde.scala:95)
  scala.cli.commands.run.Run$.runCommand(Run.scala:217)
  scala.cli.commands.default.Default.runCommand(Default.scala:61)
  scala.cli.commands.default.Default.runCommand(Default.scala:40)
  scala.cli.commands.ScalaCommand.run(ScalaCommand.scala:376)
  scala.cli.commands.ScalaCommand.run(ScalaCommand.scala:358)
  caseapp.core.app.CaseApp.main(CaseApp.scala:157)
  scala.cli.commands.ScalaCommand.main(ScalaCommand.scala:343)
  caseapp.core.app.CommandsEntryPoint.main(CommandsEntryPoint.scala:166)
  scala.cli.ScalaCliCommands.main(ScalaCliCommands.scala:125)
  scala.cli.ScalaCli$.main0(ScalaCli.scala:286)
  scala.cli.ScalaCli$.main(ScalaCli.scala:114)
  scala.cli.ScalaCli.main(ScalaCli.scala)

bishabosha avatar Apr 30 '24 15:04 bishabosha

Looks like this is an issue in coursier at https://github.com/coursier/coursier/blob/main/modules/coursier/jvm/src/main/scala/coursier/PlatformResolve.scala#L44

tgodzik avatar May 06 '24 08:05 tgodzik