GitHub user srowen opened a pull request: https://github.com/apache/incubator-spark/pull/586
SPARK-1084. Fix most build warnings https://spark-project.atlassian.net/browse/SPARK-1084 I hope another boring tidy-up JIRA might be welcome. I'd like to fix most of the warnings that appear during build, so that developers don't become accustomed to them. The accompanying pull request contains a number of commits to quash most warnings observed through the `mvn` and `sbt` builds, although not all of them. ### FIXED! `[WARNING] Parameter tasks is deprecated, use target instead` Just a matter of updating <tasks> -> <target> in inline Ant scripts. `WARNING: -p has been deprecated and will be reused for a different (but still very cool) purpose in ScalaTest 2.0. Please change all uses of -p to -R.` Goes away with updating scalatest plugin -> 1.0-RC2 ``` [WARNING] Note: /Users/srowen/Documents/incubator-spark/core/src/test/scala/org/apache/spark/JavaAPISuite.java uses unchecked or unsafe operations. [WARNING] Note: Recompile with -Xlint:unchecked for details. ``` Mostly `@SuppressWarnings("unchecked")` but needed a few more things to reveal the warning source: <fork>true</fork> (also needd for <maxmem>) and version 3.1 of the plugin. In a few cases some declaration changes were appropriate to avoid warnings. ``` /Users/srowen/Documents/incubator-spark/core/src/main/scala/org/apache/spark/util/IndestructibleActorSystem.scala:25: warning: Could not find any member to link for "akka.actor.ActorSystem". /** ^ ``` Getting several scaladoc errors like this and I'm not clear why it can't find the type -- outside its module? Remove the links as they're evidently not linking anyway? ``` /Users/srowen/Documents/incubator-spark/repl/src/main/scala/org/apache/spark/repl/SparkIMain.scala:86: warning: Variable eval undefined in comment for class SparkIMain in class SparkIMain ``` $ has to be escaped as \$ in scaladoc, apparently ``` [WARNING] 'dependencyManagement.dependencies.dependency.exclusions.exclusion.artifactId' for org.apache.hadoop:hadoop-yarn-client:jar with value '*' does not match a valid id pattern. @ org.apache.spark:spark-parent:1.0.0-incubating-SNAPSHOT, /Users/srowen/Documents/incubator-spark/pom.xml, line 494, column 25 ``` This one might need review. This is valid Maven syntax, but, Maven still warns on it. I wanted to see if we can do without it. These are trying to exclude: - `org.codehaus.jackson` - `org.sonatype.sisu.inject` - `org.xerial.snappy` `org.sonatype.sisu.inject` doesn't actually seem to be a dependency anyway. `org.xerial.snappy` is used by dependencies but the version seems to match anyway (1.0.5). `org.codehaus.jackson` was intended to exclude 1.8.8, since Spark streaming wants 1.9.11 directly. But the exclusion is in the wrong place if so, since Spark depends straight on Avro, which is what brings in 1.8.8, still. (hadoop-client 1.0.4 includes Jackson 1.0.1, so that needs an exclusion, but the other Hadoop modules don't.) HBase depends on 1.8.8 but figured it was intentional to leave that as it would not collide with Spark streaming. (?) (I understand this varies by Hadoop version but confirmed this is all the same for 1.0.4, 0.23.7, 2.2.0.) ### NOT FIXED ``` [warn] /Users/srowen/Documents/incubator-spark/streaming/src/test/scala/org/apache/spark/streaming/InputStreamsSuite.scala:305: method connect in class IOManager is deprecated: use the new implementation in package akka.io instead [warn] override def preStart = IOManager(context.system).connect(new InetSocketAddress(port)) ``` Not confident enough to fix this. `[WARNING] there were 6 feature warning(s); re-run with -feature for details` Don't know enough Scala to address these, yet. `[WARNING] We have a duplicate org/yaml/snakeyaml/scanner/ScannerImpl$Chomping.class in /Users/srowen/.m2/repository/org/yaml/snakeyaml/1.6/snakeyaml-1.6.jar` Probably addressable by being more careful about how binaries are packed though this appear to be ignorable; two identical copies of the class are colliding. `[WARNING] Zinc server is not available at port 3030 - reverting to normal incremental compile` and `[WARNING] JAR will be empty - no content was marked for inclusion!` Apparently harmless warnings, but I don't know how to disable them. You can merge this pull request into a Git repository by running: $ git pull https://github.com/apache/incubator-spark FixWarnings Alternatively you can review and apply these changes as the patch at: https://github.com/apache/incubator-spark/pull/586.patch ---- commit 7f6879c601c929c884b4e1fcaf155b1740dc8881 Author: Sean Owen <so...@cloudera.com> Date: 2014-02-11T14:37:03Z Replace deprecated Ant <tasks> with <target> commit c4f37ebd4c28fd46f1d4fff2613cfea8ac9fb2aa Author: Sean Owen <so...@cloudera.com> Date: 2014-02-11T14:37:58Z Fix unescaped $, bad tag in scaladoc commit c5befe1c47923a43fc11d8c7fa10f223eec4257c Author: Sean Owen <so...@cloudera.com> Date: 2014-02-11T14:38:23Z Remove dead scaladoc links commit c88a983ea686de4381f1f367a9f49faedaf7fcc1 Author: Sean Owen <so...@cloudera.com> Date: 2014-02-11T14:38:57Z Suppress and/or fix unchecked javac warnings commit 5d86e49b7c8d6473ecb90248c022d2b59791254b Author: Sean Owen <so...@cloudera.com> Date: 2014-02-11T14:39:48Z Fix scaladoc invocation warning, and enable javac warnings properly, with plugin config updates commit 4093ed0e947c83f258106a07e0377e70c03535d8 Author: Sean Owen <so...@cloudera.com> Date: 2014-02-11T18:55:57Z Fix (?) Jackson exclusion, and remove apparently unneeded exclusions, all of which were causing build warnings ----