More default exclusions and merges #38

Merged
merged 2 commits into from Apr 24, 2012

Conversation

Projects
None yet
4 participants
@rjmac

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 http://static.springsource.org/spring/docs/2.0.x/reference/extensible-xml.html)

rjmac added some commits Apr 24, 2012

Filter more files by default
 * all variations of {licence,notice,readme}{.txt,} in the root and
   in META-INF
 * manifest.mf, index.list, dependencies, *.sf and *.dsa from META-INF
 * META-INF/plexus/**

eed3si9n added a commit that referenced this pull request Apr 24, 2012

Merge pull request #38 from rjmac/master
More default exclusions and merges

@eed3si9n eed3si9n merged commit 82cfd4a into sbt:master Apr 24, 2012

@eed3si9n

This comment has been minimized.

Show comment
Hide comment
@eed3si9n

eed3si9n Apr 24, 2012

Member

Merged.

Member

eed3si9n commented Apr 24, 2012

Merged.

@jsuereth

This comment has been minimized.

Show comment
Hide comment
@jsuereth

jsuereth May 24, 2012

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?

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?

This comment has been minimized.

Show comment
Hide comment
@softprops

softprops May 24, 2012

Member

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

Member

softprops replied May 24, 2012

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

This comment has been minimized.

Show comment
Hide comment
@eed3si9n

eed3si9n May 24, 2012

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.

Member

eed3si9n replied May 24, 2012

@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.

This comment has been minimized.

Show comment
Hide comment
@jsuereth

jsuereth May 24, 2012

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?

Member

jsuereth replied May 24, 2012

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?

This comment has been minimized.

Show comment
Hide comment
@eed3si9n

eed3si9n May 24, 2012

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.

Member

eed3si9n replied May 24, 2012

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