Quindi ho un lavoro nella mia app CI che viene pubblicato su Nexus quando una modifica viene spinta a svilupparsi su un'app.SBT Pubblica solo quando la versione non esiste
C'è un modo per rendere ./sbt pubblicare idempotente? Perché a volte vogliamo eseguire il processo ancora una volta a causa di un problema temporaneo, e sarà errore con:
[16:31:24]java.io.IOException: destination file exists and overwrite == false
[16:31:24] at org.apache.ivy.plugins.repository.url.URLRepository.put(URLRepository.java:75)
[16:31:24] at org.apache.ivy.plugins.repository.AbstractRepository.put(AbstractRepository.java:130)
[16:31:24] at sbt.ConvertResolver$ChecksumFriendlyURLResolver$class.put(ConvertResolver.scala:78)
[16:31:24] at sbt.ConvertResolver$PluginCapableResolver$1.put(ConvertResolver.scala:103)
[16:31:24] at org.apache.ivy.plugins.resolver.RepositoryResolver.publish(RepositoryResolver.java:216)
perché non abbiamo urtato il numero di versione. In questo momento sto andando con un hacky:
./sbt publish || true
Così l'uscita del lavoro doesnt 1 e l'errore in CI. C'è un modo migliore?
IMHO, questa sarebbe una soluzione molto elegante. Trovo spesso alcuni bug con la mia configurazione SBT durante la cross-compiling e ho bisogno di pubblicare l'altra versione che è stata saltata. Non voglio liberarmi dal pubblicare l'artefatto per Scala 2.11 solo perché già esiste 2.10. –