Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CompileTimeCalibanPlugin] TODOs #1052

Open
3 of 5 tasks
guizmaii opened this issue Sep 18, 2021 · 4 comments
Open
3 of 5 tasks

[CompileTimeCalibanPlugin] TODOs #1052

guizmaii opened this issue Sep 18, 2021 · 4 comments
Labels
tools Issue related to Caliban tools like code generation or schema comparison

Comments

@guizmaii
Copy link
Contributor

guizmaii commented Sep 18, 2021

Reported here: scalameta/scalafmt#2793
Fix: #1072

When a .scalafmt.conf file using scalafmt (an example of such .scalafmt.conf file can be found here: https://github.com/guizmaii/poc_compile_time_caliban_client_generation/blob/85e37fef6ad326f3377e1d142d20be6163e24850/.scalafmt.conf) is added to the test project (see: https://github.com/ghostdogpr/caliban/tree/master/codegen-sbt/src/sbt-test/compiletime-codegen/test-compile), the following error happens quite often but not always:

[error] error: .scalafmt.conf: org.scalafmt.dynamic.exceptions.ScalafmtException: failed to download v=3.0.4
[error] Caused by: coursierapi.error.DownloadingArtifactsError: https://repo1.maven.org/maven2/com/github/scopt/scopt_2.13/4.0.1/scopt_2.13-4.0.1.jar: checksum not found: /home/circleci/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/scopt/scopt_2.13/4.0.1/scopt_2.13-4.0.1.jar
[error] 
[error] 	at coursierapi.error.DownloadingArtifactsError.of(DownloadingArtifactsError.java:23)
[error] 	at coursierapi.shaded.coursier.internal.api.ApiHelper$.doFetch(ApiHelper.scala:346)
[error] 	at coursierapi.shaded.coursier.internal.api.ApiHelper.doFetch(ApiHelper.scala)
[error] 	at coursierapi.Fetch.fetchResult(Fetch.java:244)
[error] 	at coursierapi.Fetch.fetch(Fetch.java:239)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamicDownloader.$anonfun$download$1(ScalafmtDynamicDownloader.scala:36)
[error] 	at scala.util.Try$.apply(Try.scala:213)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamicDownloader.download(ScalafmtDynamicDownloader.scala:22)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveFormatter$1(ScalafmtDynamic.scala:162)
[error] 	at scala.util.Try$.apply(Try.scala:213)
[error] 	at org.scalafmt.dynamic.utils.ReentrantCache.getOrAddToCache(ReentrantCache.scala:41)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.resolveFormatter(ScalafmtDynamic.scala:159)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveConfigWithScalafmt$1(ScalafmtDynamic.scala:140)
[error] 	at scala.util.Either.flatMap(Either.scala:341)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.resolveConfigWithScalafmt(ScalafmtDynamic.scala:135)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveConfig$4(ScalafmtDynamic.scala:121)
[error] 	at scala.util.Try$.apply(Try.scala:213)
[error] 	at org.scalafmt.dynamic.utils.ReentrantCache.getOrAddToCache(ReentrantCache.scala:41)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.resolveConfig(ScalafmtDynamic.scala:120)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.formatDetailed(ScalafmtDynamic.scala:104)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.format(ScalafmtDynamic.scala:74)
[error] 	at caliban.tools.Formatter$.$anonfun$format$5(Formatter.scala:29)
[error] 	at scala.collection.immutable.List.map(List.scala:293)
[error] 	at caliban.tools.Formatter$.$anonfun$format$2(Formatter.scala:29)
[error] 	at zio.internal.FiberContext.evaluateNow(FiberContext.scala:490)
[error] 	at zio.internal.FiberContext.$anonfun$evaluateLater$1(FiberContext.scala:776)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] 	at java.base/java.lang.Thread.run(Thread.java:834)
[error] Fiber failed.
[error] A checked error was not handled.
[error] org.scalafmt.dynamic.ScalafmtDynamicError$CannotDownload: failed to download v=3.0.4
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveFormatter$2(ScalafmtDynamic.scala:168)
[error] 	at scala.util.Either$LeftProjection.map(Either.scala:573)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveFormatter$1(ScalafmtDynamic.scala:164)
[error] 	at scala.util.Try$.apply(Try.scala:213)
[error] 	at org.scalafmt.dynamic.utils.ReentrantCache.getOrAddToCache(ReentrantCache.scala:41)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.resolveFormatter(ScalafmtDynamic.scala:159)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveConfigWithScalafmt$1(ScalafmtDynamic.scala:140)
[error] 	at scala.util.Either.flatMap(Either.scala:341)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.resolveConfigWithScalafmt(ScalafmtDynamic.scala:135)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveConfig$4(ScalafmtDynamic.scala:121)
[error] 	at scala.util.Try$.apply(Try.scala:213)
[error] 	at org.scalafmt.dynamic.utils.ReentrantCache.getOrAddToCache(ReentrantCache.scala:41)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.resolveConfig(ScalafmtDynamic.scala:120)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.formatDetailed(ScalafmtDynamic.scala:104)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.format(ScalafmtDynamic.scala:74)
[error] 	at caliban.tools.Formatter$.$anonfun$format$5(Formatter.scala:29)
[error] 	at scala.collection.immutable.List.map(List.scala:293)
[error] 	at caliban.tools.Formatter$.$anonfun$format$2(Formatter.scala:29)
[error] 	at zio.internal.FiberContext.evaluateNow(FiberContext.scala:490)
[error] 	at zio.internal.FiberContext.$anonfun$evaluateLater$1(FiberContext.scala:776)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] 	at java.base/java.lang.Thread.run(Thread.java:834)
[error] Caused by: coursierapi.error.DownloadingArtifactsError: https://repo1.maven.org/maven2/com/github/scopt/scopt_2.13/4.0.1/scopt_2.13-4.0.1.jar: checksum not found: /home/circleci/.cache/coursier/v1/https/repo1.maven.org/maven2/com/github/scopt/scopt_2.13/4.0.1/scopt_2.13-4.0.1.jar
[error] 
[error] 	at coursierapi.error.DownloadingArtifactsError.of(DownloadingArtifactsError.java:23)
[error] 	at coursierapi.shaded.coursier.internal.api.ApiHelper$.doFetch(ApiHelper.scala:346)
[error] 	at coursierapi.shaded.coursier.internal.api.ApiHelper.doFetch(ApiHelper.scala)
[error] 	at coursierapi.Fetch.fetchResult(Fetch.java:244)
[error] 	at coursierapi.Fetch.fetch(Fetch.java:239)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamicDownloader.$anonfun$download$1(ScalafmtDynamicDownloader.scala:36)
[error] 	at scala.util.Try$.apply(Try.scala:213)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamicDownloader.download(ScalafmtDynamicDownloader.scala:22)
[error] 	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveFormatter$1(ScalafmtDynamic.scala:162)
[error] 	... 20 more
[error] 
[error] Fiber:Id(1631950435545,1) was supposed to continue to:
[error]   a future continuation at zio.ZIO.run(ZIO.scala:1730)
[error]   a future continuation at zio.ZIO.bracket_(ZIO.scala:288)
[error]   a future continuation at caliban.tools.Codegen$.generate(Codegen.scala:62)
[error]   a future continuation at zio.ZIO.exitCode(ZIO.scala:606)
[error] 
[error] Fiber:Id(1631950435545,1) execution trace:
[error]   at caliban.tools.Formatter$.format(Formatter.scala:20)
[error]   at zio.ZIO$.effectSuspendTotal(ZIO.scala:2791)
[error]   at zio.ZIO.bracket_(ZIO.scala:288)
[error]   at zio.internal.FiberContext.shift(FiberContext.scala:666)
[error]   at zio.internal.FiberContext.shift(FiberContext.scala:666)
[error]   at zio.ZIO$.lock(ZIO.scala:3533)
[error]   at zio.blocking.package$.effectBlocking(package.scala:183)
[error]   at caliban.tools.Codegen$.generate(Codegen.scala:40)
[error]   at caliban.tools.Codegen$.generate(Codegen.scala:40)
[error]   at caliban.tools.SchemaLoader$FromCaliban.load(SchemaLoader.scala:14)
[error] 
[error] Fiber:Id(1631950435545,1) was spawned by:
[error] 
[error] Fiber:Id(1631950434402,0) was supposed to continue to:
[error]   a future continuation at zio.App.main(App.scala:59)
[error]   a future continuation at zio.App.main(App.scala:58)
[error] 
[error] Fiber:Id(1631950434402,0) ZIO Execution trace: <empty trace>
[error] 
[error] Fiber:Id(1631950434402,0) was spawned by: <empty trace>
[error] parsed config (v3.0.4): .scalafmt.conf
[error] parsed config (v3.0.4): .scalafmt.conf
[error] parsed config (v3.0.4): .scalafmt.conf
[info] [error] Nonzero exit code: 1
[info] [error] (posts / Compile / runMain) Nonzero exit code: 1
[info] [error] Total time: 57 s, completed Sep 18, 2021, 7:34:12 AM

The problem also exists with Scalafnt 2.7.5:

Fiber failed.
A checked error was not handled.
org.scalafmt.dynamic.ScalafmtDynamicError$CannotDownload: failed to download v=2.7.5
	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveFormatter$2(ScalafmtDynamic.scala:168)
	at scala.util.Either$LeftProjection.map(Either.scala:573)
	at org.scalafmt.dynamic.ScalafmtDynamic.$anonfun$resolveFormatter$1(ScalafmtDynamic.scala:164)
	at scala.util.Try$.apply(Try.scala:213)
	at org.scalafmt.dynamic.utils.ReentrantCache.getOrAddToCache(ReentrantCache.scala:41)
	at org.scalafmt.dynamic.ScalafmtDynamic.resolveFormatter(ScalafmtDynamic.scala:159)
@ghostdogpr ghostdogpr added the tools Issue related to Caliban tools like code generation or schema comparison label Sep 18, 2021
@ghostdogpr
Copy link
Owner

Added the issue that Scaladoc is failing on CalibanClientGenerator_0.scala at the first run

@guizmaii
Copy link
Contributor Author

guizmaii commented Nov 2, 2021

@ghostdogpr Thanks :)

@ghostdogpr
Copy link
Owner

Actually it doesn't happen if I simply run doc. It only happens when I run docker from the sbt docker plugin. Maybe it does things in a weird order. Might not be a big deal (in my case I just disabled scaladoc).

@guizmaii
Copy link
Contributor Author

guizmaii commented Nov 2, 2021

I didn't experience the problem because I always disable scaladoc 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tools Issue related to Caliban tools like code generation or schema comparison
Projects
None yet
Development

No branches or pull requests

2 participants