twitter / util

Wonderful reusable code from Twitter

Home Page:https://twitter.github.io/util

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

publish for Scala 2.12.0-RC1?

SethTisue opened this issue · comments

perhaps useful, Adriaan's changes to make it work in the Scala 2.12 community build:

Thanks @SethTisue. I'll see about getting those patches incorporated.

Ok so adriaanm@17625f4 got sorted out in 90f2180

And a patch for adriaanm@2bb041a is on its way.

Thanks again for the heads up.

Cool. The fix for adriaanm@2bb041a just got merged internally and will get pushed to the develop branch this Monday. Thanks again.

the Scala 2.12 community build now tracks your develop branch, as of scala/community-build#307

you might still like to publish artifacts for 2.12.0-RC1?

thanks!

@mosesn, looks like we should move to 2.12.0-RC1

👍 yeah, I'm hoping to get to it next week. tried a couple weeks ago but some of our deps weren't publishing for it yet.

@SethTisue jsyk, right now we're blocked on upgrading scalatest to 3.x internally, since it looks like they've stopped publishing 2.x versions for 2.12. If the migration is painful, we might lobby scalatest to temporarily start publishing 2.x versions again.

we might lobby scalatest

that might be easier now that Scala 2.12.0 JARs are on Maven Central

We've leaned in on the scalatest 3.x upgrade, and are nearly finished there. Possibly this week.

commented

Looking forward to the release of twitter/util for 2.12.0.

@jcrossley and others have been working on this and it looks like it should be ready real soon now.

over at scala/community-build#399 I'm seeing

[twitter-util] [info] ConfigTest:
[twitter-util] [info] Config
[twitter-util] [info] - should computed should delay evaluation
[twitter-util] [info] - should subclass can override indepedent var for use in dependent var
[twitter-util] [info]   should missingValues
[twitter-util] [info]   - should must return empty Seq when no values are missing
[twitter-util] [info]   - should must find top-level missing values
[twitter-util] [info]   - should must find top-level and nested missing values
[twitter-util] [info]   - should must find nested missing values in optional sub-configs *** FAILED ***
[twitter-util] [info]     List("$anonfun$new$16.w", "baz.w") did not equal List("baz.w") (ConfigTest.scala:84)
[twitter-util] [error] Failed tests:
[twitter-util] [error]  com.twitter.util.ConfigTest

@SethTisue we haven't changed anything in Config in a very long time, so I'm a little suspicious.

well, this is on a recently nightly of Scala 2.12.1. offhand, it looks like it might have to do with toString on lambdas giving a different answer in 2.12 versus 2.11?

it's certainly possible there's been some regression on our end, but I'd need your help to determine that; I can't afford to go independently investigating in a totally unfamiliar codebase

the specific nightly used was 2.12.1-371bc2c-nightly. if you want to try it yourself locally, http://stackoverflow.com/q/40622878/86485

@SethTisue @mosesn I'll look into that. Let me try to reproduce that locally first.

ok i can reproduce this locally. added this to Build.scala:

  resolvers += "nightlies" at
    "https://scala-ci.typesafe.com/artifactory/scala-release-temp/"
  scalaVersion := "2.12.1-371bc2c-nightly"
  scalaBinaryVersion := "2.12"  // or "2.11"

And then run:

$ ./sbt ++2.12.0 util-core/test
<snip>
[error] Failed: Total 1065, Failed 1, Errors 0, Passed 1064
[error] Failed tests:
[error] 	com.twitter.util.ConfigTest
[error] (util-core/test:test) sbt.TestsFailedException: Tests unsuccessful

@SethTisue i merged a workaround and hopefully that fixes it.

i didn't spend long digging into the difference in the generated code between 2.11, as this Config.missingValues code is deprecated and not well maintained. hoping we can remove it in the not too distant future.