Vogliamo utilizzare il repository ivy/maven aziendale interno (artifactory) per migliorare la velocità di risoluzione e il download dei file jar, e inoltre vogliamo utilizzarlo per scambiare file jar binari tra diversi team nella nostra organizzazione.(SBT) Come disabilitare il resolver predefinito e utilizzare solo il resolver interno dell'azienda?
So che possiamo costringere SBT per passare attraverso delega impostando ~/.repositories
con
[repositories]
local
my-ivy-proxy-releases: http://repo.alpinenow.com/artifactory/repo/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
my-maven-proxy-releases: http://repo.alpinenow.com/artifactory/repo/
e poi lanciare SBT con -Dsbt.override.build.repos=true
. Questo metodo funziona per me.
Tuttavia, è piuttosto complicato chiedere a tutti gli sviluppatori di configurare in questo modo. Ci stiamo chiedendo se possiamo sostituire completamente i resolver predefiniti in Build.scala e plugin.sbt senza configurazione aggiuntiva.
Finora, ho provato le seguenti soluzioni senza successo.
1) In entrambi Build.scala e plugin.sbt, ho aggiunto
resolvers := "Local Repo" at "http://repo.alpinenow.com/artifactory/repo/",
externalResolvers := Seq(Resolver.url("Local Repo", url("http://repo.alpinenow.com/artifactory/repo"))(Resolver.ivyStylePatterns)),
ma si scarica ancora i vasi da typesafe e maven1.
2) Ho quindi deciso di mettere un file repository nella cartella del progetto, e ha cercato di aggiungere l'opzione java direttamente all'interno plugin.sbt, e Build.scala con
System.setProperty("-Dsbt.override.build.repos", "true"),
System.setProperty("-Dsbt.repository.config", "project/repositories"),
ma ancora non funziona. Sono curioso di sapere quando SBT ottiene le opzioni java per i resolver dato che, ovviamente, è prima di plugin.sbt e Build.scala.
Qualche idea?
Grazie.
DB Tsai
Secondo la documentazione ufficiale, la configurazione del repository non dovrebbe essere in ~ ~/.sbt/repositories', non '~/.repositories'? – Luciano