-
Notifications
You must be signed in to change notification settings - Fork 59
add Spark #763
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
Comments
in a reply to the above-linked post @adriaanm wrote "I don’t think we will have time to tackle this ourselves in the next 6 months." I agree. but perhaps there's someone in the community who would like to work on this. (either adding it here, or going the other route of adding latest-Scala-nightly to Spark's own testing setup) |
I agree, but I'm wondering if there is some sort of middle-ground. The great thing about a large community build is that you can change the compiler and know that if the community build went through OK, then likely no bugs were added. If there are projects outside of the build and are important to the community, do we refine the scalac release process to say |
ideally probably yes, but in practice that would be an expansion of scope our team can't afford. (as it stands, the community build already uses a sizable chunk of my time, and I am a sizable chunk of our 5-person team)
not sure what you mean...? or maybe you don't know either :-) but do you have any ideas? |
at our current ambition level for the community build, our goal is to have some reasonably achievable level of validation of the Scala compiler and standard library. as a side effect, we do happen to get a great deal of validation of a great deal of the library ecosystem, somewhat duplicating everyone's own CI, but that's gravy, not the goal. at our current ambition level, all we need is a really really really big pile of Scala code and a really really really big pile of tests to run. and we have that regardless of exactly what versions of things we're building. it's definitely natural to want something more complete, more rigorous, etc...! |
We use spark in our custom community build in Bloop, so I feel entitled to answer some of your questions Seth 😄
They use primarily Maven but they maintain an sbt build tool thanks to the awesome https://github.com/sbt/sbt-pom-reader.
I don't think it's that big. In general, you can expect it to be about the size of akka/akka. I have a suspicion adding it to the community build would be easier than it looks like, especially because Scala dependencies in Spark are limited and cherry-picked (heck, I don't know if they even depend on a library that is not already in the community build). |
There used to be an embryonic build module for Maven, but it was never fully functional; the last update was in July 2012, and it was removed altogether due to bitrot in Oct 2014: lightbend-labs/dbuild@05ef639 |
okay, sounds like I ought to take an initial stab at it and see if I encounter dragons or not |
I have resumed work on this. I'll report back here once I know more initially I'm just going to grab binary JARs of dependencies from Maven Central as needed, and then later go back and see what we could be building from source instead (oh, we can do that? we sure can! we just try hard not to, since if we do it that way, it doesn't help us test Scala prereleases, where everything really must be built from source) |
the good news: though Spark's primary build is Maven-based, Spark also has an sbt build, and it seems to actually be maintained the bad news: the sbt build isn't a vanilla sbt build; it sbt-pom-reader to define its subprojects this causes dbuild to choke during dependency extraction with the following mysterious error message (@cunei does this ring any bells, does working around this somehow seem plausible?):
as per sbt/sbt-pom-reader#51, sbt-pom-reader doesn't offer the ability to export a vanilla sbt build |
abandoning this effort. given the nature of the Spark build, it's easier to just test it with a Scala nightly outside of the dbuild context. that will use Maven Central retrieved dependencies rather than dbuild-built dependencies, but it's fine, the likelihood of some obscure bug being missed that way are very low |
suggested by @soronpo at
https://contributors.scala-lang.org/t/spark-as-a-scala-gateway-drug-and-the-2-12-failure/1747/44
I had listed Spark at #161 as "probably out of scope", but perhaps that could change now that Spark is on Scala 2.12
some concerns I can think of are:
note that an alternative approach would be for Spark to add "latest Scala nightly" to their own CI matrix. this might be more practical than taking this on at our end
The text was updated successfully, but these errors were encountered: