http4s/http4s.g8

Scala 3 support?

yatesco opened this issue ยท 9 comments

Thanks for this - will this support Scala 3? I tried entering "3.1.0" but then got a few dependencies missing.

Thanks!

Which dependencies were missing? Do you mind posting the error message?

Here you go (I used defaults for all except scala_version):

C:\Dev>sbt new http4s/http4s.g8
[info] welcome to sbt 1.5.5 (AdoptOpenJDK Java 1.8.0_292)
[info] set current project to new (in build file:/C:/Users/colin/AppData/Local/Temp/sbt_8b2f2824/new/)
name [quickstart]:
organization [com.example]:
package [com.example.quickstart]:
scala_version [2.13.6]: 3.1.0
sbt_version [1.5.5]:
http4s_version [0.23.6]:
circe_version [0.14.1]:
logback_version [1.2.6]:
munit_version [0.7.29]:
munit_cats_effect_version [1.0.6]:
graal_native_image [TRUE/false]:
is_linux_build [true/FALSE]:
scala_assembly_target [scala-2.13]:

Template applied in C:\Dev\.\quickstart

sbt run gives:

C:\Dev>cd quickstart

C:\Dev\quickstart>sbt run
[info] welcome to sbt 1.5.5 (AdoptOpenJDK Java 1.8.0_292)
[info] loading settings for project quickstart-build from plugins.sbt ...
[info] loading project definition from C:\Dev\quickstart\project
[info] loading settings for project root from build.sbt ...
[info] set current project to quickstart (in build file:/C:/Dev/quickstart/)
[warn]
[warn]  Note: Unresolved dependencies path:
[error] sbt.librarymanagement.ResolveException: Error downloading org.scalameta:svm-subs_3:20.2.0
[error]   Not found
[error]   Not found
[error]   not found: C:\Users\colin\.ivy2\localorg.scalameta\svm-subs_3\20.2.0\ivys\ivy.xml
[error]   not found: https://repo1.maven.org/maven2/org/scalameta/svm-subs_3/20.2.0/svm-subs_3-20.2.0.pom
[error]         at lmcoursier.CoursierDependencyResolution.unresolvedWarningOrThrow(CoursierDependencyResolution.scala:258)
[error]         at lmcoursier.CoursierDependencyResolution.$anonfun$update$38(CoursierDependencyResolution.scala:227)
[error]         at scala.util.Either$LeftProjection.map(Either.scala:573)
[error]         at lmcoursier.CoursierDependencyResolution.update(CoursierDependencyResolution.scala:227)
[error]         at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:60)
[error]         at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:59)
[error]         at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:133)
[error]         at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:73)
[error]         at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$20(LibraryManagement.scala:146)
[error]         at scala.util.control.Exception$Catch.apply(Exception.scala:228)
[error]         at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:146)
[error]         at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:127)
[error]         at sbt.util.Tracked$.$anonfun$inputChangedW$1(Tracked.scala:219)
[error]         at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:160)
[error]         at sbt.Classpaths$.$anonfun$updateTask0$1(Defaults.scala:3678)
[error]         at scala.Function1.$anonfun$compose$1(Function1.scala:49)
[error]         at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62)
[error]         at sbt.std.Transform$$anon$4.work(Transform.scala:68)
[error]         at sbt.Execute.$anonfun$submit$2(Execute.scala:282)
[error]         at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23)
[error]         at sbt.Execute.work(Execute.scala:291)
[error]         at sbt.Execute.$anonfun$submit$1(Execute.scala:282)
[error]         at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265)
[error]         at sbt.CompletionService$$anon$2.call(CompletionService.scala:64)
[error]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error]         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error]         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error]         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error]         at java.lang.Thread.run(Thread.java:748)
[error] (update) sbt.librarymanagement.ResolveException: Error downloading org.scalameta:svm-subs_3:20.2.0
[error]   Not found
[error]   Not found
[error]   not found: C:\Users\colin\.ivy2\localorg.scalameta\svm-subs_3\20.2.0\ivys\ivy.xml
[error]   not found: https://repo1.maven.org/maven2/org/scalameta/svm-subs_3/20.2.0/svm-subs_3-20.2.0.pom
[error] Total time: 0 s, completed 28-Nov-2021 16:46:22

You should use sbt new http4s/http4s.g8 --branch 0.23-scala3.
Scala 3 support is in a dedicated branch :)

awesome @AL333Z - thanks - will you accept a PR to update the README.md with this info?

Sure.
Actually, that command is already in the README, but I think the "scala 3 support" part is not so explicit.
Please go for it ๐Ÿ‘

Done :-). #250

@AL333Z Hey, i know this is a closed issue but would be useful to have this on this site as well

Great! @armanbilge will do as soon as i can, thanks