pekko-connectors icon indicating copy to clipboard operation
pekko-connectors copied to clipboard

reproducible builds: TASTY differences

Open raboof opened this issue 1 year ago • 2 comments

Similar to https://github.com/apache/pekko-http/issues/566

  • In pekko-connectors-google-fcm_3-1.1.0-M1-RC1.jar in org/apache/pekko/stream/connectors/google/firebase/fcm/v1/models/FcmOption (begin and and of the .tasty file)
  • In pekko-connectors-huawei-push-kit_3-1.1.0-M1-RC1.jar in org/apache/pekko/stream/connectors/huawei/pushkit/models/Response (begin and and of the .tasty file)

raboof avatar Jul 09 '24 16:07 raboof

OK, so interestingly FcmOption is really small, so that is a good start for a reproducer.

FcmOption has 3 @Child annotations, one for each class extending FcmOption. It seems when compiling the module after a clean, somehow references to FcmJsonSupport.scala are added to those @Child annotations in the tasty file for FcmOption (but it seems nondeterministic to which of the @Child annotations they're attached). When compiling FcmOption.scala in isolation, however (even from sbt), those references are not added at all.

Filed https://github.com/scala/scala3/issues/21154

raboof avatar Jul 09 '24 21:07 raboof

(looks like this missed the train for 3.3.4 but will likely be backported to LTS in 3.3.5)

raboof avatar Jul 25 '24 07:07 raboof