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

Publish scala2-library-cc-tasty #19939

Merged
merged 1 commit into from
May 6, 2024

Conversation

Linyxus
Copy link
Contributor

@Linyxus Linyxus commented Mar 13, 2024

Similar to #19588.

We will start publishing org.scala-lang::scala2-library-cc-tasty-experimental. This is not considered fully stable.

Example usage in SBT

libraryDependencies += "org.scala-lang" %% "scala2-library-cc-tasty-experimental" % scalaVersion.value

@Linyxus
Copy link
Contributor Author

Linyxus commented Mar 13, 2024

Similar to what we have done in #19588 (comment), we need to first test this on the open community builds. @WojciechMazur could you help doing that?

note: it is not of highest priority so if the task queue is quite jammed this test could be delayed.

/cc @nicolasstucki

@WojciechMazur
Copy link
Contributor

I've started the builds, there're a few other builds running, so the results should be available tomorrow

@WojciechMazur
Copy link
Contributor

WojciechMazur commented Mar 14, 2024

We've found 27 projects failing with scala2-library-cc-tasty on classpath, click below for the detailed list of projects

Project Version Build URL Notes
autodeployai/pmml4s 1.0.1 Open CB logs value :+ is not a member of scala.collection.IndexedSeqView[org.pmml4s.common.MatCell] - did you mean
typelevel/otel4s 0.5.0-RC1 Open CB logs value +: is not a member of scala.collection.SeqView
outr/spice 0.5.5 Open CB logs value += is not a member of Map[String, String]
scala/scala-collection-contrib 0.3.0 Open CB logs value intersperse is not a member of scala.collection.SeqView[Int]
fomkin/korolev 1.6.0 Open CB logs assertion failed: unresolved symbols: value contentTypeHeaders (line 145) #33970 when pickling
fomkin/levsha 1.4.0-M2 Open CB logs assertion failed: unresolved symbols: type x (line 118) #25481 when pickling
unibas-gravis/scalismo 0.92.1 Open CB logs assertion failed: unresolved symbols: parameter sortedPoints (line -1) #184995 when pickling
pityka/lamp 0.0.111 Open CB logs assertion failed: unresolved symbols: value warmupLearningCurve (line -1) #88236 when pickling
pityka/nspl 0.10.0 Open CB logs assertion failed: orphan parameter reference: TypeParamRef(A)
garlandus/augment 0.0.3 Open CB logs assertion failed: orphan parameter reference: TermParamRef(full)
sangria-graphql/sangria 4.1.0 Open CB logs assertion failed: orphan parameter reference: TermParamRef(config)
scalanlp/breeze 2.1.0 Open CB logs assertion failed: orphan parameter reference: TermParamRef(options)
scalatest/scalatest 3.2.18 Open CB logs assertion failed: orphan parameter reference: TermParamRef(lines)
sksamuel/elastic4s 8.11.5 Open CB logs assertion failed: orphan parameter reference: TypeParamRef(S)
slick/slick 3.5.0 Open CB logs assertion failed: orphan parameter reference: TermParamRef(columns)
smootoo/tablediff 1.1 Open CB logs assertion failed: orphan parameter reference: TypeParamRef(T)
softwaremill/elasticmq 1.5.7 Open CB logs assertion failed: orphan parameter reference: TermParamRef(attributes)
squeryl/squeryl 0.10.0 Open CB logs assertion failed: orphan parameter reference: TermParamRef(fmd
zio/zio-schema 1.0.1 Open CB logs assertion failed: orphan parameter reference: TermParamRef(times)
zio/zio-sqs 0.6.0 Open CB logs assertion failed: orphan parameter reference: TermParamRef(successful)
guntiso/mojoz 5.1.0 Open CB logs assertion failed: orphan parameter reference: TermParamRef(cols)
japgolly/test-state 3.1.0 Open CB logs assertion failed: orphan parameter reference: TypeParamRef(B)
joernio/joern 2.0.288 Open CB logs scala.MatchError: TermParamRef($this) (of class dotty.tools.dotc.core.Types$TermParamRefImpl)
kitlangton/neotype 0.2.3 Open CB logs Exception occurred while executing macro expansion. java.util.NoSuchElementException: head of empty list
paoloboni/binance-scala-client 1.6.1 Open CB logs No given instance of type io.github.paoloboni.http.QueryParamsConverter
purplekingdomgames/ultraviolet 0.2.0 Open CB logs Exception occurred while executing macro expansion: ultraviolet.datatypes.ShaderError$UBORead: [ultraviolet] A UBO field was misread.
thoughtworksinc/binding.scala 12.2.0 Open CB logs Type Mismatch Error
zio/zio-protoquill 4.8.1 Open CB logs macros: Tree cannot be parsed to 'Ast'

There is also 16 projects to reasons unrelated to this change - mostly due to issues in the scala-cli based projects due to missing sbt-bridge artifacts, we'd investiage this issue until the next run of OpenCB

Project Version Build URL Notes
alexarchambault/class-path-inspector 0.1.1 Open CB logs missing sbt-bridge
alexarchambault/test-util 0.1.3 Open CB logs missing sbt-bridge
atedeg/scala-release 1.0.3 Open CB logs missing sbt-bridge
bishabosha/enum-extensions 0.1.1 Open CB logs missing sbt-bridge
coursier/class-path-util 0.1.4 Open CB logs missing sbt-bridge
cucumber/action-publish-sbt 0.0.56 Open CB logs missing sbt-bridge
eltherion/http4s-timer 1.0.0 Open CB logs build issue scala2-library-cc-tasty-experimental_2.13:
jd557/spaeti 0.1.1 Open CB logs missing sbt-bridge
kordyjan/ogrodnik 0.4.0 Open CB logs missing sbt-bridge
kordyjan/pytanie 0.1.8 Open CB logs missing sbt-bridge
kordyjan/typelogger 0.1.0 Open CB logs missing sbt-bridge
martinhh/scalacheck-derived 0.4.2 Open CB logs missing sbt-bridge
molarmanful/sclin 0.4.6 Open CB logs mill missing sbt-bridge
scala-cli/directive-handler 0.1.4 Open CB logs missing sbt-bridge
scala/toolkit 0.2.1 Open CB logs missing sbt-bridge
swaldman/unify-rss 0.0.2 Open CB logs missing sbt-bridge
scala-native/scala-native 0.5.0-RC1 Open CB logs Could not fetch scala3-library_3 sources for version 3.4.2-RC1-bin-8b1618573bdf0c9cd9704ed4772fcec9c213ca32

@nicolasstucki
Copy link
Contributor

We can also assume that the failures that are also in #19588 (comment) are not caused be the scala2-libary-cc-tasty.

@odersky
Copy link
Contributor

odersky commented Mar 14, 2024

What abou ScalaDoc? Is there a way to get the ScalaDoc for either the standard or the cc library? I think this is an important next step.

@nicolasstucki
Copy link
Contributor

What abou ScalaDoc? Is there a way to get the ScalaDoc for either the standard or the cc library? I think this is an important next step.

I am not sure if we are already using scala2-librarty-tasty. If we do it should be simple to try to swap the libraries.

@odersky
Copy link
Contributor

odersky commented Mar 14, 2024

Can we try do see whether the ScalaDoc would work? I am asking because the next steps will be to add inline methods to the tasty version of the Scala library. If they are not supported by ScalaDoc that's not going to work.

@WojciechMazur
Copy link
Contributor

WojciechMazur commented Mar 14, 2024

Can we try do see whether the ScalaDoc would work?

Of course, I forget to include the results for scaladoc. There are 21 projects that failed to build it, haven't analyzed all of them yet, but seams it fails mostly in reading tasty. I'm adding them in the section below.

Project Build Logs Notes
akka/akka-persistence-cassandra Build logs
ant8e/uuid4cats-effect Build logs
apache/incubator-pekko-persistence-cassandra Build logs
armanbilge/scala-native-config-brew Build logs
arturaz/doobie-typesafe Build logs
circe/circe-config Build logs
circe/circe-yaml Build logs
cjsmith-0141/fs2-pgp Build logs
cozydev-pink/textmogrify Build logs
creativescala/krop Build logs
davenverse/http4s-grpc Build logs
davenverse/tsec Build logs
eed3si9n/scalaxb Build logs
erikerlandson/coulomb Build logs
garlandus/augment Build logs
http4s/http4s-prometheus-metrics Build logs
json4s/json4s Build logs
kamon-io/kamon Build logs
rustedbones/pekko-http-metrics Build logs
rustedbones/pekko-http-scalapb Build logs
rustedbones/pekko-http-thrift Build logs
scalatra/scalatra Build logs
scodec/scodec Build logs
scodec/scodec-bits Build logs
spilne/spilne Build logs
svroonland/zio-kinesis Build logs
typelevel/cats Build logs
typelevel/cats-collections Build logs
typelevel/laika Build logs
typelevel/otel4s Build logs
typelevel/scalac-options Build logs

Also bunch of stats:
There was 1581 projects included in the build, out of which 1490 was sbt based thus allowing us to test scala2-library-cc-tasty dependency injection.
We cannot inject dependencies to mill projects (71) and scala-cli (19) projects failed due to a problems in Open CB.

@nicolasstucki
Copy link
Contributor

Can we try do see whether the ScalaDoc would work? I am asking because the next steps will be to add inline methods to the tasty version of the Scala library. If they are not supported by ScalaDoc that's not going to work.

Here is the first issue to solve with ScalaDoc: #19967

@Linyxus
Copy link
Contributor Author

Linyxus commented Mar 20, 2024

Minimised two issues from the OpenCB failures: #19988 and #19990

@Linyxus
Copy link
Contributor Author

Linyxus commented Apr 11, 2024

now that almost all issues in the compilation have been fixed, we wanted to do a verification and check whether there are more issues popping up. could you run the OpenCB builds again? @WojciechMazur lots of thanks!

@nicolasstucki
Copy link
Contributor

nicolasstucki commented Apr 11, 2024

@Linyxus you probably need to rebase on main first

@Linyxus
Copy link
Contributor Author

Linyxus commented Apr 11, 2024

Ah, that's true! I'll do that

@Linyxus Linyxus force-pushed the publish-scala2-library-cc-tasty branch from 8b16185 to e60158c Compare April 11, 2024 21:31
@Linyxus
Copy link
Contributor Author

Linyxus commented Apr 11, 2024

ok, it is now rebased.

@WojciechMazur
Copy link
Contributor

I've started the build, I'll post the results tomorrow

@WojciechMazur
Copy link
Contributor

WojciechMazur commented Apr 12, 2024

12 projects that fails with this PR, but pass in latest nightly

Project Version Build URL Notes
fomkin/korolev 1.6.0 Open CB logs unresolved symbols when pickling
garlandus/augment 0.0.3 Open CB logs orphan parameter reference:
guntiso/mojoz 5.1.0 Open CB logs orphan parameter reference
kitlangton/neotype 0.2.5 Open CB logs while executing macro: head of empty list
neandertech/langoustine 0.0.21 Open CB logs non-private value refers to private value in its type signature
outr/spice 0.5.5 Open CB logs value += is not a member of Map[String, String]
paoloboni/binance-scala-client 1.6.1 Open CB logs No given instance of type
purplekingdomgames/ultraviolet 0.2.0 Open CB logs while executing macro expansion: A UBO field was misread
scala/scala-collection-contrib 0.3.0 Open CB logs value intersperse is not a member of scala.collection.SeqView[Int]
thoughtworksinc/binding.scala 12.2.0 Open CB logs Type Mismatch Error
zio/zio-protoquill 4.8.3 Open CB logs error from macro Tree cannot be parsed to 'Ast'
philippus/elastic4s 8.11.5 Open CB logs orphan parameter reference

We have 8 more failure, but these are not related to the PR as they also fail on latest nightly and 4 build issues related to interals of OpenCB

@Linyxus
Copy link
Contributor Author

Linyxus commented Apr 12, 2024

Thanks a lot!

I'll look into them shortly.

@Linyxus Linyxus merged commit 7f8afa5 into scala:main May 6, 2024
19 checks passed
@Linyxus Linyxus deleted the publish-scala2-library-cc-tasty branch May 6, 2024 14:24
@Kordyjan Kordyjan added this to the 3.5.0 milestone May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants