aboutsummaryrefslogtreecommitdiff
path: root/project/SparkBuild.scala
diff options
context:
space:
mode:
authorJosh Rosen <joshrosen@databricks.com>2015-04-30 15:21:00 -0700
committerReynold Xin <rxin@databricks.com>2015-04-30 15:21:00 -0700
commit07a86205f9efc43ea1ec5edb97c21c32abe7fb8a (patch)
tree1d86ed6ad23411f332668e16e969d755e7d40f0b /project/SparkBuild.scala
parent6702324b60f99dab55912c08ccd3d03805f6b7b2 (diff)
downloadspark-07a86205f9efc43ea1ec5edb97c21c32abe7fb8a.tar.gz
spark-07a86205f9efc43ea1ec5edb97c21c32abe7fb8a.tar.bz2
spark-07a86205f9efc43ea1ec5edb97c21c32abe7fb8a.zip
[SPARK-7288] Suppress compiler warnings due to use of sun.misc.Unsafe; add facade in front of Unsafe; remove use of Unsafe.setMemory
This patch suppresses compiler warnings due to our use of `sun.misc.Unsafe` (introduced in #5725). These warnings can only be suppressed via the `-XDignore.symbol.file` javac flag; the `SuppressWarnings` annotation won't work for these. In order to restrict uses of this compiler flag to the `unsafe` module, I placed a facade in front of `Unsafe` so that other modules won't call it directly. This facade also will also help us to avoid accidental usage of deprecated Unsafe methods or methods that aren't supported in Java 6. I also removed an unnecessary use of `Unsafe.setMemory`, which isn't present in certain versions of Java 6, and excluded the new `unsafe` module from Javadoc. Author: Josh Rosen <joshrosen@databricks.com> Closes #5814 from JoshRosen/unsafe-compiler-warnings-fixes and squashes the following commits: 9e8c483 [Josh Rosen] Exclude new unsafe module from Javadoc ba75ecf [Josh Rosen] Only apply -XDignore.symbol.file flag in unsafe project. 7403345 [Josh Rosen] Put facade in front of Unsafe. 50230c0 [Josh Rosen] Remove usage of Unsafe.setMemory 96d41c9 [Josh Rosen] Use -XDignore.symbol.file to suppress warnings about sun.misc.Unsafe usage
Diffstat (limited to 'project/SparkBuild.scala')
-rw-r--r--project/SparkBuild.scala11
1 files changed, 11 insertions, 0 deletions
diff --git a/project/SparkBuild.scala b/project/SparkBuild.scala
index 4bfa8cede7..a93aa12ce1 100644
--- a/project/SparkBuild.scala
+++ b/project/SparkBuild.scala
@@ -163,6 +163,9 @@ object SparkBuild extends PomBuild {
x => enable(MimaBuild.mimaSettings(sparkHome, x))(x)
}
+ /* Unsafe settings */
+ enable(Unsafe.settings)(unsafe)
+
/* Enable Assembly for all assembly projects */
assemblyProjects.foreach(enable(Assembly.settings))
@@ -216,6 +219,13 @@ object SparkBuild extends PomBuild {
}
+object Unsafe {
+ lazy val settings = Seq(
+ // This option is needed to suppress warnings from sun.misc.Unsafe usage
+ javacOptions in Compile += "-XDignore.symbol.file"
+ )
+}
+
object Flume {
lazy val settings = sbtavro.SbtAvro.avroSettings
}
@@ -424,6 +434,7 @@ object Unidoc {
.map(_.filterNot(_.getCanonicalPath.contains("org/apache/spark/network")))
.map(_.filterNot(_.getCanonicalPath.contains("org/apache/spark/shuffle")))
.map(_.filterNot(_.getCanonicalPath.contains("org/apache/spark/executor")))
+ .map(_.filterNot(_.getCanonicalPath.contains("org/apache/spark/unsafe")))
.map(_.filterNot(_.getCanonicalPath.contains("python")))
.map(_.filterNot(_.getCanonicalPath.contains("org/apache/spark/util/collection")))
.map(_.filterNot(_.getCanonicalPath.contains("org/apache/spark/sql/catalyst")))