"shaded", "org" %% "c" % "0.1.0" ) enablePlugins(coursier.ShadingPlugin) shadingNamespace := "myapp.shaded" $ sbt shading:publish b a common c addSbtPlugin("io.get-coursier" % "sbt-shading" % "1.0.0-M15-3") Limitations Possibly does awful things with sbt configurations Shading extends Compile
assemblies no provided dependencies Ensure the cluster config is around (/etc/hadoop/conf…) No need of spark distributions coursier spark-submit … Automatically fetches all the required spark JARs (from Maven Central) Limitations Only YARN, only used against one type of clusters (AWS EMR ones) $ coursier spark-submit \ -r https://nexus.foo.com \ com.foo::job:2.2.3 \ -- \ --num-executors 32 \ … \ -- \ arg1 arg2 …
ammonite $ coursier install sbt Puts scalafmt / ammonite / sbt launchers in /usr/local/bin $ coursier update Makes sure all the launchers launch the latest versions
sbt plugins with scripted tests scala-js build and tests Windows CI (Appveyor) Integration tests with external stuff Binary compatibility checks (mima) Compiled with Java 7 or 8, parts must be fine with Java 6