From a4bb08c607323a5102c8e8a6ec2c8d4cee0bc64f Mon Sep 17 00:00:00 2001 From: Eugene Yokota Date: Mon, 6 Oct 2014 17:04:02 -0400 Subject: [PATCH] Merged all notes --- notes/0.13.7.markdown | 101 ++++++++++++++++++ notes/0.13.7/cached-resolution.md | 16 --- notes/0.13.7/circular-dependency.md | 7 -- notes/0.13.7/cross-ivy-maven.md | 13 --- notes/0.13.7/ivy-load-artifacts.md | 7 -- notes/0.13.7/ivy-no-httpclient.md | 7 -- notes/0.13.7/maven-home.md | 8 -- notes/0.13.7/maven-null-publish-date.md | 15 --- notes/0.13.7/no-blankies.md | 8 -- ...riptorOptional-and-skipConsistencyCheck.md | 6 -- 10 files changed, 101 insertions(+), 87 deletions(-) create mode 100644 notes/0.13.7.markdown delete mode 100644 notes/0.13.7/cached-resolution.md delete mode 100644 notes/0.13.7/circular-dependency.md delete mode 100644 notes/0.13.7/cross-ivy-maven.md delete mode 100644 notes/0.13.7/ivy-load-artifacts.md delete mode 100644 notes/0.13.7/ivy-no-httpclient.md delete mode 100644 notes/0.13.7/maven-home.md delete mode 100644 notes/0.13.7/maven-null-publish-date.md delete mode 100644 notes/0.13.7/no-blankies.md delete mode 100644 notes/0.13.7/propagate-pattern-descriptorOptional-and-skipConsistencyCheck.md diff --git a/notes/0.13.7.markdown b/notes/0.13.7.markdown new file mode 100644 index 000000000..9b49e7bf7 --- /dev/null +++ b/notes/0.13.7.markdown @@ -0,0 +1,101 @@ + + [@cunei]: https://github.com/cunei + [@eed3si9n]: https://github.com/eed3si9n + [@gkossakowski]: https://github.com/gkossakowski + [@jsuereth]: https://github.com/jsuereth + [@ajozwik]: https://github.com/ajozwik + [@cocumpkin]: https://github.com/copumpkin + [@Duhemm]: https://github.com/Duhemm + [@jedesah]: https://github.com/jedesah + [@tmandke]: https://github.com/tmandke + [@topping]: https://github.com/topping + [1237]: https://github.com/sbt/sbt/issues/1237 + [1430]: https://github.com/sbt/sbt/issues/1430 + [1544]: https://github.com/sbt/sbt/issues/1544 + [1572]: https://github.com/sbt/sbt/pull/1572 + [1573]: https://github.com/sbt/sbt/pull/1573 + [1579]: https://github.com/sbt/sbt/pull/1579 + [1584]: https://github.com/sbt/sbt/pull/1584 + [1586]: https://github.com/sbt/sbt/pull/1586 + [1589]: https://github.com/sbt/sbt/issues/1589 + [1591]: https://github.com/sbt/sbt/pull/1591 + [1598]: https://github.com/sbt/sbt/issues/1598 + [1600]: https://github.com/sbt/sbt/pull/1600 + [1601]: https://github.com/sbt/sbt/pull/1601 + [1602]: https://github.com/sbt/sbt/pull/1602 + [1606]: https://github.com/sbt/sbt/issues/1606 + [1607]: https://github.com/sbt/sbt/pull/1607 + [1611]: Https://github.com/sbt/sbt/issues/1611 + [1618]: https://github.com/sbt/sbt/pull/1618 + [1621]: https://github.com/sbt/sbt/pull/1621 + [1631]: https://github.com/sbt/sbt/pull/1631 + [1642]: https://github.com/sbt/sbt/pull/1642 + +### Fixes with compatibility implications + +- Maven artifact dependencies will limit their transitive dependencies to `Compile` rather than *every configuration* if no `master` configuration is found. [#1586][1586] by [@jsuereth][@jsuereth] + +### Improvements + +- Natural whitespace handling. See below. [#1606][1606] by [@ajozwik][@ajozwik] +- Adds support for publishing to a custom Maven local repository. See below. [#1589][1589]/[#1600][1600] by [@topping][@topping] +- Adds circular dependency check. See below. [#1601][1601] by [@eed3si9n][@eed3si9n] +- Adds cached resolution (minigraph caching). See below. [#1631][1631] by [@eed3si9n][@eed3si9n] +- Allows the "-bin" Scala version suffix to specify a bincompat version. [#1573][1573] by [@cunei][@cunei] +- Adds support for publishing to file repositories specified in `~/.sbt/repositories`. [#1579][1579] by [@copumpkin][@copumpkin] +- Adds support for publishing to a Maven repository with `file` URLs. [#1618][1618] by [@jsuereth][@jsuereth] +- Don't hardcode existing relations in `TextAnalysisFormat`. [#1572][1572] by [@Duhemm][@Duhemm] +- Adds `developers` key. [#1590][1590] by [@jedesah][@jedesah] + +### Bug fixes + +- Fixes issues with specifying `scalaHome`/`scalaInstance` and running tests. [#1584][1584] by [@jsuereth][@jsuereth] +- Fixes StackOverflow error in dependencies extraction with macro and name hashing. [#1563][1563]/[#1642][1642]/[#1237][1237]/[#1544][1544] by [@Duhemm][@Duhemm] +- Fixes `set every`. [#1591][1591]/[#1430][1430] by [@cunei][@cunei] +- Ivy no longer silently flops to `HttpClient` resolver when httpclient is on the classpath. [#1602][1602] by [@jsuereth][@jsuereth] +- Backports Ivy fix to not throw exceptions when modules are evicted. [#1607][1607]/[#1598][1598] by [@jsuereth][@jsuereth] +- When resolving from a Maven repository, and unable to read `maven-metadata.xml` file (common given the divergence in + Maven 3 and Ivy 2), we attempt to use `LastModified` timestamp in lieu of "published" timestamp. + [#1611][1611]/[#1618][1618] by [@jsuereth][@jsuereth] +- Fixes NullPointerException when using `ChainResolver` and Maven repositories. [#1611][1611]/[#1618][1618] by [@jsuereth][@jsuereth] +- Fixes `Resolver`'s `url` method dropping `descriptorOptional` and `skipConsistencyCheck`. [#1621][1621] by [@tmandke][@tmandke] + +### Natural whitespace handling + +Starting sbt 0.13.7, build.sbt will be parsed using a customized Scala parser. This eliminates the requirement to use blank line as the delimiter between each settings, and also allows blank lines to be inserted at arbitrary position within a block. + +This feature was contributed by [Andrzej Jozwik (@ajozwik)](https://github.com/ajozwik) inspired by Typesafe's [@gkossakowski][@gkossakowski] organizing multiple meetups/hackathons with Warszaw Scala on [how to patch sbt with the focus on this blank line issue](http://blog.japila.pl/2014/07/gkossakowski-on-warszawscala-about-how-to-patch-scalasbt/). [#1606][1606] + +### Custom Maven local repository location + +Maven local repository is now resolved from the first of: + +- `` element in `~/.m2/settings.xml` +- `` element in `$M2_HOME/conf/settings.xml`, or +- the default of `~/.m2/repository` if neither of those configuration elements exist + +If more Maven settings are required to be recovered, the proper thing to do is merge the two possible `settings.xml` files, then query against the element path of the merge. This code avoids the merge by checking sequentially. + +[#1589][1589]/[#1600][1600] by [@topping][@topping] + +### Circular dependency + +By default circular dependencies are warned, but they do not halt the dependency resolution. Using the following setting, circular dependencies can be treated as an error. + + updateOptions := updateOptions.value.withCircularDependencyLevel(CircularDependencyLevel.Error) + +[#1601][1601] by [@eed3si9n][@eed3si9n] + +### Cached resolution (minigraph caching) + +sbt 0.13.7 adds a new update option called *cached resolution*, which replaces consolidated resolution: + + updateOptions := updateOptions.value.withCachedResolution(true) + +Unlike consolidated resolution, which only consolidated subprojects with identical dependency graph, cached resolution create an artificial graph for each direct dependency (minigraph) for all subprojects, resolves them independently, saves them into json file, and stiches the minigraphs together. + +Once the minigraphs are resolved and saved as files, dependency resolution turns into a matter of loading json file from the second run onwards, which should complete in a matter of seconds even for large projects. Also, because the files are saved under a global `~/.sbt/0.13/dependency` (or what's specified by `sbt.dependency.base` flag), the resolution result is shared across all builds. + +Breaking graphs into minigraphs allows partial resolution results to be shared, which scales better for subprojects with similar but slightly different dependencies, and also for making small changes to the dependencies graph over time. + +[#1631][1631] by [@eed3si9n][@eed3si9n] diff --git a/notes/0.13.7/cached-resolution.md b/notes/0.13.7/cached-resolution.md deleted file mode 100644 index 8c7339161..000000000 --- a/notes/0.13.7/cached-resolution.md +++ /dev/null @@ -1,16 +0,0 @@ - [@eed3si9n]: https://github.com/eed3si9n - [1631]: https://github.com/sbt/sbt/pull/1631 - -### cached resolution (minigraph caching) - -sbt 0.13.7 adds a new update option called *cached resolution*, which replaces consolidated resolution: - - updateOptions := updateOptions.value.withCachedResolution(true) - -Unlike consolidated resolution, which only consolidated subprojects with identical dependency graph, cached resolution create an artificial graph for each direct dependency (minigraph) for all subprojects, resolves them independently, saves them into json file, and stiches the minigraphs together. - -Once the minigraphs are resolved and saved as files, dependency resolution turns into a matter of loading json file from the second run onwards, which should complete in a matter of seconds even for large projects. Also, because the files are saved under a global `~/.sbt/0.13/dependency` (or what's specified by `sbt.dependency.base` flag), the resolution result is shared across all builds. - -Breaking graphs into minigraphs allows partial resolution results to be shared, which scales better for subprojects with similar but slightly different dependencies, and also for making small changes to the dependencies graph over time. - -[#1631][1631] by [@eed3si9n][@eed3si9n]. diff --git a/notes/0.13.7/circular-dependency.md b/notes/0.13.7/circular-dependency.md deleted file mode 100644 index b0d9e391f..000000000 --- a/notes/0.13.7/circular-dependency.md +++ /dev/null @@ -1,7 +0,0 @@ - [@eed3si9n]: https://github.com/eed3si9n - -### Circular dependency - -By default circular dependencies are warned, but they do not halt the dependency resolution. Using the following setting, circular dependencies can be treated as an error. - - updateOptions := updateOptions.value.withCircularDependencyLevel(CircularDependencyLevel.Error) diff --git a/notes/0.13.7/cross-ivy-maven.md b/notes/0.13.7/cross-ivy-maven.md deleted file mode 100644 index 7b16c586f..000000000 --- a/notes/0.13.7/cross-ivy-maven.md +++ /dev/null @@ -1,13 +0,0 @@ - [1586]: https://github.com/sbt/sbt/pull/1586 - [1590]: Https://github.com/sbt/sbt/pull/1590 - [@jsuereth]: https://github.com/jsuereth - - -### Improvements - -* Add developers key - -### Fixes with compatibility implications - -* Maven artifact dependencies now limit their transitive dependencies to "compile" rather than "every configuration" - if no `master` configuration is found. [#1586][1586] by [@jsuereth][@jsuereth] diff --git a/notes/0.13.7/ivy-load-artifacts.md b/notes/0.13.7/ivy-load-artifacts.md deleted file mode 100644 index 9eb17509f..000000000 --- a/notes/0.13.7/ivy-load-artifacts.md +++ /dev/null @@ -1,7 +0,0 @@ - [1598]: https://github.com/sbt/sbt/issues/1598 - [@jsuereth]: https://github.com/jsuereth - - -### Fixes - -* Backported ivy fix to not throw exceptions when modules are evicted. [#1598][1598] by [@jsuereth][@jsuereth] diff --git a/notes/0.13.7/ivy-no-httpclient.md b/notes/0.13.7/ivy-no-httpclient.md deleted file mode 100644 index fb59e0fac..000000000 --- a/notes/0.13.7/ivy-no-httpclient.md +++ /dev/null @@ -1,7 +0,0 @@ - [1602]: https://github.com/sbt/sbt/pull/1602 - [@jsuereth]: https://github.com/jsuereth - - -### Fixes - -* Ivy no longer silently flops to HttpClient resolver when httpclient is on the classpath. [#1602][1602] by [@jsuereth][@jsuereth] diff --git a/notes/0.13.7/maven-home.md b/notes/0.13.7/maven-home.md deleted file mode 100644 index e039fe8b0..000000000 --- a/notes/0.13.7/maven-home.md +++ /dev/null @@ -1,8 +0,0 @@ - [1600]: https://github.com/sbt/sbt/pull/1600 - [@topping]: https://github.com/topping - -### Improvements - -* Maven local repository is now resolved from the first of the element in ~/.m2/settings.xml, $M2_HOME/conf/settings.xml or the default of - ~/.m2/repository if neither of those configuration elements exist. If more Maven settings are required to be recovered, the proper thing to do is merge - the two possible settings.xml files, then query against the element path of the merge. This code avoids the merge by checking sequentially. \ No newline at end of file diff --git a/notes/0.13.7/maven-null-publish-date.md b/notes/0.13.7/maven-null-publish-date.md deleted file mode 100644 index b06d213eb..000000000 --- a/notes/0.13.7/maven-null-publish-date.md +++ /dev/null @@ -1,15 +0,0 @@ - [1618]: https://github.com/sbt/sbt/pull/1618 - [1611]: Https://github.com/sbt/sbt/issues/1611 - [@jsuereth]: https://github.com/jsuereth - - -### Improvements - -* You can now publish to maven repositories that are `file` URLs. - -### Fixes - -* When resolving from maven, and unable to read maven-metadata.xml file (common given the divergence in - Maven 3 and Ivy 2), we attempt to use LastModified timestamp in lieu of "published" timestamp. - [#1618][1618] by [@jsuereth][@jsuereth] -* NPE exception when using ChainResolver and maven repositories [#1611]/[1611] by [@jsuereth][@jsuereth] diff --git a/notes/0.13.7/no-blankies.md b/notes/0.13.7/no-blankies.md deleted file mode 100644 index 62a984eab..000000000 --- a/notes/0.13.7/no-blankies.md +++ /dev/null @@ -1,8 +0,0 @@ - [1606]: https://github.com/sbt/sbt/issues/1606 - [1645]: https://github.com/sbt/sbt/pull/1645 - -### whitespace handling improvements - -Starting sbt 0.13.7, build.sbt will be parsed using a customized Scala parser. This eliminates the requirement to use blank line as the delimiter between each settings, and also allows blank lines to be inserted at arbitrary position within a block. - -This feature was contributed by [Andrzej Jozwik @ajozwik](https://github.com/ajozwik) inspired by Typesafe's @gkossakowski organizing multiple meetups with Warszaw Scala on [how to patch sbt specifically with the focus on blank line issue](http://blog.japila.pl/2014/07/gkossakowski-on-warszawscala-about-how-to-patch-scalasbt/). [#1606][1606]/[#1645][1645] diff --git a/notes/0.13.7/propagate-pattern-descriptorOptional-and-skipConsistencyCheck.md b/notes/0.13.7/propagate-pattern-descriptorOptional-and-skipConsistencyCheck.md deleted file mode 100644 index 0fa29d0a9..000000000 --- a/notes/0.13.7/propagate-pattern-descriptorOptional-and-skipConsistencyCheck.md +++ /dev/null @@ -1,6 +0,0 @@ - [@tmandke]: https://github.com/tmandke - - -### Fixes - -* propagate pattern descriptorOptional and skipConsistencyCheck when Resolver.url(name, url)(patterns) is called.