kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

Sonatype Nexus repositoryにライブラリをアップロードしようとしてはまった話

昨日、Scala 2.11.0がリリースされたということで、自分(たち)がメンテしているライブラリnscala-timeScala 2.11.0対応版をSonatype Nexus Repository(これ、正式名称は何なのだろうか未だに悩んでいる)にアップロードしようとしていたのだが、

こんな画像

な感じで何故か301が返ってきてはまっていた。

原因はわかってみると簡単。どうも、いつのまにかSonatypeがhttps://で始まるURLしか受け付けないようになっていたのに、アップロード先のURLがhttp://のままなのであった。

修正は簡単で、

publishTo <<= version { v =>
  val nexus = "http://oss.sonatype.org/"
  if (v.endsWith("-SNAPSHOT"))
    Some("snapshots" at nexus + "content/repositories/snapshots")
  else
    Some("releases" at nexus + "service/local/staging/deploy/maven2")
}

となっていたのを

publishTo <<= version { v =>
  val nexus = "https://oss.sonatype.org/"
  if (v.endsWith("-SNAPSHOT"))
    Some("snapshots" at nexus + "content/repositories/snapshots")
  else
    Some("releases" at nexus + "service/local/staging/deploy/maven2")
}

にするだけ。