You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
assemblyOption in assembly :=
(assemblyOption in assembly).value.copy(includeScala =false, includeDependency =false)
dbcClasspath :=Seq(assembly.value, assemblyPackageDependency.value)
then running dbcDeploy will upload two separate JARs (myproject-assembly-0.0.1-SNAPSHOT.jar and myproject-assembly-0.0.1-SNAPSHOT-deps.jar).
In principle, this might allow us to reduce the turnaround time when pushing a new version of a library from a slow connection (since we could skip re-upload of JARs whose SHAs are the same (not sure if we actually do this)). Even if we supported skipping re-upload of JARs that didn't change, that technique won't help users of the assembly unless they do the trick specified here, which is where I think this adds value.
Just wanted to write down this idea here so I don't forget about it.
I learned about a neat trick in
sbt-assemblywhich allows you to build separate JARs for your application's code and its dependencies: https://github.com/sbt/sbt-assembly#splitting-your-project-and-deps-jarsFor example, if my
build.sbtfile containsthen running
dbcDeploywill upload two separate JARs (myproject-assembly-0.0.1-SNAPSHOT.jarandmyproject-assembly-0.0.1-SNAPSHOT-deps.jar).In principle, this might allow us to reduce the turnaround time when pushing a new version of a library from a slow connection (since we could skip re-upload of JARs whose SHAs are the same (not sure if we actually do this)). Even if we supported skipping re-upload of JARs that didn't change, that technique won't help users of the assembly unless they do the trick specified here, which is where I think this adds value.
Just wanted to write down this idea here so I don't forget about it.