I merged these changes without actually applying them to keep authorship
information about the changes that were proposed by Masse Guillaume of
Scala Center.
On the other side of the merge I added lots of small changes which were
either inspired or just plainly copied from the ones merged in here.
In the diff you can see which changes were not taken over.
1. ascii-graphs
We need a 2.12 version of ascii-graphs. The last commit to the project is in June 2013 (https://github.com/mdr/ascii-graphs/graphs/contributors). We are now in October 2017. I opened a PR (https://github.com/mdr/ascii-graphs/pull/11) but I don't expect any progress on this front. We can maintain a fork or drop ascii-graphs.
2. ignoreMissingUpdate
ignoreMissingUpdate is a tricky one. Here is some explanation:
we need to duplicate the updateTask
in sbt it's define as:
```scala
def updateTask: Initialize[Task[UpdateReport]] = Def.task {
// ...
val uc0 = updateConfiguration.value
// ...
}
```
since it's not scoped to our task (ex: `updateConfiguration in ignoreMissingUpdate`) we cannot just do
```scala
updateConfiguration in ignoreMissingUpdate := {
updateConfiguration.value.withMissingOk(true)
}
```
For example, the following example yield `"u2: false"
```
val update2 = TaskKey[Unit]("update2", "...")
val update2Configuration = SettingKey[Boolean]("...")
update2 := Def.task {
val u2 = (update2Configuration in update2).value
println(s"u2: $u2")
}.value
update2Configuration := false
update2Configuration in update2 := true
```
3. cross publishing
We can use the ^ operator to publish. For example: `sbt "^ publish"` to publish for both sbt 0.13 and 1.0.
When using `dagre-d3` v0.4.10, my browser (Chrome 49) crashes an javascript error and the arrows are not displayed :
```
Uncaught TypeError: t.getTransformToElement is not a function
```
This happens in the function `getCoords` of the library.
Using the latest version v0.4.16 of dagre-d3 fixes the issue.