-
Notifications
You must be signed in to change notification settings - Fork 51
[SPARK-21708][BUILD] Migrate build to sbt 1.x #759
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
Conversation
11da97d to
05fe273
Compare
.circleci/config.yml
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This had to be removed because it picks up older build/sbt and doesn't get the updated versions
dev/run-tests.py
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need unidoc and this broke attempting to generate docs for autogenerated files. Didn't want to invest too much into this but can try if needed
project/MimaBuild.scala
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file is cleanly picked from upstream. It seems like they forgot to do this bump and added it with this PR out of convenience (context: apache#29286 (comment) and apache#22977 (comment))
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we keep the previous to 2.4.0 the number of binary breaks is 200+ so this is the best option anyways
project/MimaExcludes.scala
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These last 3 excludes had to be added in our fork only. It should be ok
project/SparkBuild.scala
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sbt got stricter and toSet was not accepted
6b73877 to
94b4feb
Compare
| }.value | ||
| test := (test andFinally Def.taskDyn { | ||
| copyTestReportsToCircle | ||
| }).value |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, sbt got stricter. and the fancy tuple plugin stuff removed. This is the equivalent of the above
f4de666 to
fd66f3c
Compare
project/plugins.sbt
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The upstream pr changed the version of avro compiler to 1.8.2 but we're already ahead of it
Migrate sbt-launcher URL to download one for sbt 1.x. Update plugins versions where required by sbt update. Change sbt version to be used to latest released at the moment, 1.3.13 Adjust build settings according to plugins and sbt changes. Migration to sbt 1.x: 1. enhances dev experience in development 2. updates build plugins to bring there new features/to fix bugs in them 3. enhances build performance on sbt side 4. eases movement to Scala 3 / dotty No. All existing tests passed, both on Jenkins and via Github Actions, also manually for Scala 2.13 profile. Closes apache#29286 from gemelen/feature/sbt-1.x. Authored-by: Denis Pyshev <[email protected]> Signed-off-by: Dongjoon Hyun <[email protected]>
465e437 to
e45a2f8
Compare
| lazy val sparkGenjavadocSettings: Seq[sbt.Def.Setting[_]] = Seq( | ||
| libraryDependencies += compilerPlugin( | ||
| "com.typesafe.genjavadoc" %% "genjavadoc-plugin" % unidocGenjavadocVersion.value cross CrossVersion.full), | ||
| lazy val sparkGenjavadocSettings: Seq[sbt.Def.Setting[_]] = GenJavadocPlugin.projectSettings ++ Seq( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like this is why the unidoc check started failing.
| "com.typesafe.genjavadoc" %% "genjavadoc-plugin" % unidocGenjavadocVersion.value cross CrossVersion.full), | ||
| lazy val sparkGenjavadocSettings: Seq[sbt.Def.Setting[_]] = GenJavadocPlugin.projectSettings ++ Seq( | ||
| scalacOptions ++= Seq( | ||
| "-P:genjavadoc:out=" + (target.value / "java"), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or this actually
| analysis.infos.allInfos.foreach { case (k, i) => | ||
| i.reportedProblems foreach { p => | ||
| val deprecation = p.message.contains("is deprecated") | ||
| analysis.asInstanceOf[sbt.internal.inc.Analysis].infos.allInfos.foreach { case (k, i) => | ||
| i.getReportedProblems foreach { p => | ||
| val deprecation = p.message.contains("deprecated") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(This previously was is deprecated in our fork. But checking for deprecated only should give you a superset.)
Original PR description
Migrate sbt-launcher URL to download one for sbt 1.x.
Update plugins versions where required by sbt update.
Change sbt version to be used to latest released at the moment, 1.3.13
Adjust build settings according to plugins and sbt changes.
Migration to sbt 1.x:
No.
All existing tests passed, both on Jenkins and via Github Actions, also manually for Scala 2.13 profile.
Closes apache#29286 from gemelen/feature/sbt-1.x.
Authored-by: Denis Pyshev [email protected]
Signed-off-by: Dongjoon Hyun [email protected]
Upstream SPARK-XXXXX ticket and PR link (if not applicable, explain)
[SPARK-21708][BUILD] Migrate build to sbt 1.x
Commit: apache@6daa2ae
PR: apache#29286
What changes were proposed in this pull request?
Bump sbt version to 1.x.
There are a few non-trivial changes related to versions.
First of all the original PR was introduced on top of spark 3.1 so we had to adapt a few things for it to work on top of spark 3.0
The breaks are listed under
v30excludesinstead of the upstream'sv31excludesbecause current version is 3.0.0Why are the changes needed?
The SBT bump is needed because:
Does this PR introduce any user-facing change?
No