diff --git a/modules/core/src/main/scala/org/apache/spark/sql/ammonitesparkinternals/AmmoniteSparkSessionBuilder.scala b/modules/core/src/main/scala/org/apache/spark/sql/ammonitesparkinternals/AmmoniteSparkSessionBuilder.scala index e043361..fa8b74f 100644 --- a/modules/core/src/main/scala/org/apache/spark/sql/ammonitesparkinternals/AmmoniteSparkSessionBuilder.scala +++ b/modules/core/src/main/scala/org/apache/spark/sql/ammonitesparkinternals/AmmoniteSparkSessionBuilder.scala @@ -203,6 +203,7 @@ class AmmoniteSparkSessionBuilder(implicit private var sendSparkYarnJars0 = true private var sendSparkJars0 = true private var ignoreJars0 = Set.empty[URI] + private var sendSourceJars0 = false private var keepJars0 = Seq.empty[URI => Boolean] def sendSparkYarnJars(force: Boolean = true): this.type = { @@ -220,6 +221,11 @@ class AmmoniteSparkSessionBuilder(implicit this } + def sendSourceJars(send: Boolean): this.type = { + sendSourceJars0 = send + this + } + def keepJars(keep: URI => Boolean): this.type = { keepJars0 = keepJars0 :+ keep this @@ -355,7 +361,10 @@ class AmmoniteSparkSessionBuilder(implicit .map(normalize) .toSet val nonSparkJars = jars.filter(uri => !sparkJarFileSet.contains(normalize(uri))) - val finalNonSparkJars = keepJars0.foldLeft(nonSparkJars)(_.filter(_)) + val nonSparkJars0 = + if (sendSourceJars0) nonSparkJars + else nonSparkJars.filter(uri => !uri.toASCIIString.endsWith("-sources.jar")) + val finalNonSparkJars = keepJars0.foldLeft(nonSparkJars0)(_.filter(_)) config("spark.jars", finalNonSparkJars.map(_.toASCIIString).mkString(",")) }