Skip to content

More default exclusions and merges #38

merged 2 commits into from Apr 24, 2012

4 participants

rjmac commented Apr 24, 2012

sbt-assembly has just become more picky about letting random jars overwrite each others' files. I've collected a set of new exclusions and merges from a large project with dependencies on many (about 70MB worth) of third-party jars. I think these will prevent almost all real-world collisions that are not jars seemingly actively trying to step on each others' toes (and you would be shocked at the amount of work I've done this morning resolving such conflicts -- importing another system wholesale into yours and not bothering to rename the java packages it lives in seems to be a favored pastime in some parts of the Java world).

Anyway: this excludes more variations on "license", "readme"s, jar signatures (since they won't check after merging anyway; I've had that in my build script for ages but it's probably best to get it upstream), maven-specific stuff, and informational files that some build tools like to stick in meta-inf. Also it merges spring.schemas and spring.handlers files (see

rjmac added some commits Apr 24, 2012
@rjmac rjmac Filter more files by default
 * all variations of {licence,notice,readme}{.txt,} in the root and
   in META-INF
 *, index.list, dependencies, *.sf and *.dsa from META-INF
 * META-INF/plexus/**
@rjmac rjmac Merge META-INF/spring.schemas and META-INF/spring.handlers 0daec36
@eed3si9n eed3si9n merged commit 82cfd4a into sbt:master Apr 24, 2012
sbt member



There's a lawyer waiting to punch you with a lawsuit for removing license files. I think perhaps a more sensible default like "aggregating" license files into another ~dependency-licenses` file would be ideal, rather than dropping them all.

Also, can we update the README with this fact?

sbt member

haha. At first I read that as "there's a lawyer waiting to punch you in the face". Lawyers, always bullying.

sbt member

@jsuereth to be fair, @rjmac was re-implementing what I've done, which was also the behavior from the old assembly-sbt.
There was a pull request already on this topic, and I've suggested using MIME as the default behavior.

sbt member

I didn't mean to be offensive, more funny. Lawyers are the bullies of the tech world. Let's nerd-up against them.

what do you mean by using MIME as the default?

sbt member

I meant the MIME multipart message, which can contain info like the originating jar name as header instead of concatenating multiple license files together. We can continue the discussion in #47.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.