typesafehub/migration-manager — pull request #44 by retronym (2013-08-22 10:20:34+00:00)
Title: Package level whitelisting

Adds support for package level filter such as:

filter {
packages = [
"scala.reflect.internal",
]
}

Changes the config loading to use a default config, to
avoid errors if we load a whitelist that only has one of
`problems` or `packages`.

Tested manually with the build from Scala 2.10.2.

Procedure:

1. Publish modified version of MiMa to my local maven repo:

sbt> set every publishTo := Some(Resolver.file("file", new File(Path.userHome.absolutePath+"/.m2/repository")))
sbt> publish

2. Point to the new version in mima.classpath in scala/scala's build.xml

3. Induce a BC failure (actually its enough to build without -optimize, `ant build test.bc`)

4. Filter this out with `packages = ["scala.xml"]`.

5. Confirm that the problem *isn't* filtered if:
- the `packages` section is omitted entirely
- the `packages` section exists, but is empty
- the `packages` section contains "scala.xm" or "scala.xmllll"

Review by @gkossakowski