sonatypeの中の人から返信が来たので、oss.sonatype.orgへpublishしてみたが、相当ハマったのでそのメモ。
基本はここ を参考にさせてもらって、途中まで順調に進んだけど、中の人からプロジェクトが認識されて、試しにパブリッシュしてみるという段で、sbtからエラーが出てきた。
まず最初にハマったのが
refused by the server: Unauthorized
というエラーメッセージ。最初は中の人からのメッセージで、GroupIdを変えたよという申し送りがあったのでそのせいだとおもって、
build.sbtに
organization := "xx.xxxx"
などと書き加えてみたのだけど、まったくもってうまくいかず。
あぁ、そういやCredentialsなんて設定もあったなと確認すると、
パスワードが間違っていた。。。
パスワードを直して再度sbt publishなどとやってみると。。。
今度は
failed with status code 400: Bad Request
などというエラーに悩まされる。
調べてみたところ、sbt-aether-deployというプラグインを
sbtに追加するとうまくいく可能性が高いという事なので
迷わず入れた
具体的には、plugins.sbtに
addSbtPlugin("no.arktekk.sbt" % "aether-deploy" % "0.9")
とbuild.sbtにCredentialsファイルの位置を指定
credentials += Credentials(Path.userHome / ".sbt" / ".credentials")
を追加して、sbt updateする。
またまたsbt publish
今度は、なにやらせっせとアップロードしているようなログが。
しかしときどきerrorログの残像が目に焼き付く。。。
で、最終的にCredentialsになにも書かれてないよというエラーメッセージ。
ちなみにそのときの内容はこんな感じ。
credentials += Credentials(
"Sonatype Nexus Repository Manager",
"oss.sonatype.org",
"<your username>", "<your password>")
StackOverFlowで探してみたら、Credentialsの書き方が載ってた。
addするのでなければこう書くらしい
realm=Sonatype Nexus Repository Manager
host=oss.sonatype.org
user=<username>
password=<password>
これでうまくpublishできたらしい。
このあと、チケットにコメント書いて、中の人の審査を受けないといけないのだが、そのお話はまたいつか。。。
0 件のコメント :
コメントを投稿