背景: 当社にはいくつかのPlay!があります。内部 CI でテストが実行されるアプリ。各 Play アプリケーションは、http を介してさまざまなパブリック リポジトリから依存関係を取得します。これは理想的ではありませんが (内部の Nexus リポジトリをバイパスします)、耐えられます。現在、追加の CI キャパシティーを追加しており、新しいマシンがファイアウォールの外側にアクセスできるようにしたくありません。
Play アプリの例では、 の次の構成ではビルドがおよびproject/Build.scala
に進むのを防ぐには不十分です。repo.typesafe.com
repo1.maven.org
sbtResolver := "Typesafe (proxy)" at "http://repo-1/nexus/content/repositories/typesafe-releases/"
resolvers := Seq(
"Maven Central (proxy)" at "http://repo-1/nexus/content/repositories/central/",
"Typesafe (proxy)" at "http://repo-1/nexus/content/repositories/typesafe-releases/",
// some more internal Nexus repositories
)
externalResolvers := Seq.empty
( repo-1
Maven Central、Typesafe、およびその他のリポジトリをプロキシする内部の Nexus ホストです)
Maven Central (Guava など) または Typesafe のリポジトリ (Play メーラー プラグインなど) からいくつかの依存関係を削除して実行すると、依存関係がまだ取得されplay compile
ていることが出力からわかります。repo.typesafe.com
repo1.maven.org
[info] downloading http://repo.typesafe.com/typesafe/releases/com/typesafe/play-plugins-mailer_2.9.1/2.0.2/play-plugins-mailer_2.9.1-2.0.2.jar ...
[info] [SUCCESSFUL ] com.typesafe#play-plugins-mailer_2.9.1;2.0.2!play-plugins-mailer_2.9.1.jar (981ms)
[info] downloading http://repo1.maven.org/maven2/com/google/guava/guava/12.0/guava-12.0.jar ...
[info] [SUCCESSFUL ] com.google.guava#guava;12.0!guava.jar (1422ms)
問題をさらに悪化させているのは、Scala 2.9.1、Play 2.0.1、sbt 0.11.3 など、すべてのバージョンが少し古いことです。
内部リポジトリから排他的に依存関係を取得するよう Play アプリに強制するにはどうすればよいですか?