0
votes

I am not able to produce fat jar with all dependant libraries but without scala libs. I have next config of build.sbt file:

import AssemblyKeys._
assemblySettings

jarName in assembly := "test-project.jar"    
assemblyOption in assembly ~= { _.copy(includeScala = false) }
name := "test-project"

version := "1.0"

scalaVersion := "2.10.4"

resolvers += Resolver.sonatypeRepo("public")

resolvers += "SnowPlow Repo" at "http://maven.snplow.com/releases/"

resolvers += "Twitter Maven Repo" at "http://maven.twttr.com/"

libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % "1.2.1" % "provided",
    "org.apache.avro" % "avro" % "1.7.7" % "provided" withSources(),
    "org.apache.avro" % "avro-mapred" % "1.7.7" % "provided" withSources(),
    "com.github.nscala-time" %% "nscala-time" % "1.8.0" withSources(),
    "com.snowplowanalytics"  %% "scala-maxmind-iplookups"  % "0.2.0" withSources(),
    "com.twitter" %% "algebird-core" % "0.9.0" withSources()
)

After executing sbt assembly I am receving test-project.jar containing project code and almost all libraries. The only missing one is "com.snowplowanalytics" %% "scala-maxmind-iplookups" % "0.2.0 dependency - which is strange. What is more when I remove line assemblyOption in assembly ~= { _.copy(includeScala = false) } in build.sbt config I am receving complete jar (with all libraries) but also scala library classes which I do not need.

How to make sbt and sbt-assembly plugin to produce fat jar without scala libs but with all other dependant libraries but.

sbt version: 0.13.5

sbt-assembly version: 0.11.2

1

1 Answers

1
votes

Have a look at https://github.com/sbt/sbt-assembly/issues/116 It might be a bug in the old version of the plugin