自作Scalaのライブラリを、sbtの依存ライブラリに入れる方法

以下のサイトを参考にしました。

http://blog.takumibaba.com/post/62023920631/sbt-scala
sbtでpublishLocalしたjarを取り込んで開発サイクルを回す - Qiita


以下の作業はIntelliJ IDEAを使っているという仮定です。


1.ライブラリのプロジェクト(というかモジュール)をIntelliJ IDEAで作って、ライブラリを作成。(ZipLoanというライブラリにします)
2.とくに何も考えずに、SBTのコンソールから、publish-localをする。すると、ivyにlocalというディレクトリができて以下の様な感じになる。



3.ivys/ivy.xmlを見るとこんなかんじになっている。

<?xml version="1.0" encoding="UTF-8"?>

<ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra">
	<info organisation="ziploan" module="ziploan_2.10" revision="1.0" status="release" publication="20140423202507">
		<description>
		ZipLoan
		</description>
	</info>
	<configurations>
		<conf name="compile" visibility="public" description=""/>
		<conf name="runtime" visibility="public" description="" extends="compile"/>
		<conf name="test" visibility="public" description="" extends="runtime"/>
		<conf name="provided" visibility="public" description=""/>
		<conf name="optional" visibility="public" description=""/>
		
		
		
		
		<conf name="sources" visibility="public" description=""/>
		<conf name="docs" visibility="public" description=""/>
		<conf name="pom" visibility="public" description=""/>
		
	</configurations>
	<publications>
		<artifact name="ziploan_2.10" type="pom" ext="pom" conf="pom"/>
		<artifact name="ziploan_2.10" type="jar" ext="jar" conf="compile"/>
		<artifact name="ziploan_2.10" type="src" ext="jar" conf="sources" e:classifier="sources"/>
		<artifact name="ziploan_2.10" type="doc" ext="jar" conf="docs" e:classifier="javadoc"/>
	</publications>
	<dependencies>
		
		<dependency org="org.scala-lang" name="scala-library" rev="2.10.2" conf="compile->default(compile)"/>
	</dependencies>
</ivy-module>


ポイントとなるのは、organization="ziploan"、module="ziploan_2.10"、revision="1.0"の三点。この3つを覚えておいて、つぎの段階ではbuild.sbtに記述する。


4.ZipLoadを使いたいモジュールを開いて、build.sbtに以下を記述。

resolvers ++= Seq(
      "LocalRepo" at file(Path.userHome.absolutePath + "/.ivy2/local").getAbsolutePath
    )

libraryDependencies ++= Seq(
		  "ziploan" %% "ziploan" % "1.0"
		)


resolversに追加した、"LocalRepo" at file(Path.userHome.absolutePath + "/.ivy2/local").getAbsolutePath はそのままで変更不要です。
はじめのziploanはorganization、つぎのziploanはmoduleとしてivy.xmlに記述されているもの。なお、moduleの_2.10は不要らしい。
これでRefreshすれば多分うまくいくはず。