読者です 読者をやめる 読者になる 読者になる

BlackQuill Mave Central 公開への道 ど嵌りメモ

mac Markdown BlackQuill

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できたらしい。

このあと、チケットにコメント書いて、中の人の審査を受けないといけないのだが、そのお話はまたいつか。。。