Ho alcune librerie che dipendono da Cats. Diciamo che la nuova release Cats 0.4.0 ha il valore apiURL
errato nel suo POM. Non voglio che i miei documenti API per rompere, per cui fornisco la mappatura URL con apiMappings
:Sovrascrittura dei mapping API auto in SBT
..
autoAPIMappings := false,
apiMappings ++= (fullClasspath in Compile).value.flatMap(
entry => entry.get(moduleID.key).map(entry -> _)
).collectFirst {
case (entry, module)
if module.organization == "org.typelevel" &&
module.name.startsWith("cats-") =>
entry.data
}.map(_ -> url("https://typelevel.org/cats/api/")).toMap,
apiURL := Some(url("https://travisbrown.github.io/iteratee/api/")),
...
Questo funziona bene per i collegamenti ai tipi di Gatti nei miei docs API, ma significa che perdo i link per i tipi dalla libreria standard e altre dipendenze. Se cambio autoAPIMappings
a true
, la mia mappatura personalizzata è scomparsa.
Questo non ha alcun senso per me: sembra che, ovviamente, le mappature esplicitamente definite non dovrebbero essere sostituite da mappature che vengono automaticamente estratte dalle POM di dipendenza.
Posso utilizzare autoAPIMappings
ma sovrascriverlo per dipendenze specifiche?
Grazie -questo suoni ragionevole, e cercherò fuori per confermare al più presto. –