Wie hängen Sie Quellen an SBT-verwaltete Abhängigkeiten in Scala IDE an?
Ich verwende Scala IDE 2.0.1 und SBT 0.11.2, um mit Akka 2.0.1 zu beginnen. Mein build.sbt sieht so aus:
<code>name := "akka" version := "0.1" scalaVersion := "2.9.2" resolvers += "Typesafe Repository" at "http://repo.typesafe.com/typesafe/releases/" libraryDependencies += "com.typesafe.akka" % "akka-actor" % "2.0.1" </code>
Wie Sie sehen, gibt es nichts Spektakuläres.
Wie kann ich nun Eclipse anweisen, das Artefakt mit dem Quellklassifikator für die Akka-Actor-Bibliothek zu verwenden?
In SBT kann ich Update-Klassifizierer verwenden, um Quellen und Javadocs in das Ivy-Repository herunterzuladen, aber selbst wenn ich dies vor dem Ausführen des Befehls eclipse über das Plug-in sbteclipse tue, kennt Eclipse die Quellen immer noch nicht. Natürlich könnte ich das manuell machen, aber das ist für mehr Bibliotheken nicht gut skalierbar.
Ich habe auch versucht, das IvyDE-Plugin mit dem Befehl deliver-local zu verwenden. Dies integriert zwar das Abhängigkeitsmanagement, scheint jedoch bei den Quellen nicht hilfreich zu sein.
Irgendwelche Hinweise?
Bearbeiten: Dies ist die von deliver-local generierte ivy.xml:
<code><?xml version="1.0" encoding="UTF-8"?> <ivy-module version="2.0" xmlns:e="http://ant.apache.org/ivy/extra"> <info organisation="default" module="akka_2.9.2" revision="0.1" status="release" publication="20120506225613"> <description> akka </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="akka_2.9.2" type="pom" ext="pom" conf="pom"/> <artifact name="akka_2.9.2" type="jar" ext="jar" conf="compile"/> <artifact name="akka_2.9.2" type="src" ext="jar" conf="sources" e:classifier="sources"/> <artifact name="akka_2.9.2" type="doc" ext="jar" conf="docs" e:classifier="javadoc"/> </publications> <dependencies> <dependency org="org.scala-lang" name="scala-library" rev="2.9.2" conf="compile->default(compile)"/> <dependency org="com.typesafe.akka" name="akka-actor" rev="2.0.1" conf="compile->default(compile)"/> <exclude org="org.scala-lang" module="scala-library" artifact="*" type="jar" ext="*" matcher="exact"/> <exclude org="org.scala-lang" module="scala-compiler" artifact="*" type="jar" ext="*" matcher="exact"/> <override org="org.scala-lang" module="scala-library" matcher="exact" rev="2.9.2"/> <override org="org.scala-lang" module="scala-compiler" matcher="exact" rev="2.9.2"/> </dependencies> </ivy-module> </code>
Ich bin neu bei Ivy, das sagt mir also nicht viel. Ich denke nur, dass darin Quellen und Javadocs erwähnt werden, aber das IvyDE nimmt es irgendwie nicht auf.