Das scala-Skript, das von der Kommandozeile ausgeführt wird, kümmert sich darum, die pom.xml-Datei konvertieren Abhängigkeiten auf dem Bildschirm zu bedruckenden SBT. Dann müssen Sie nur einmal für jede pom.xml-Datei einfügen.
Hinweis: Die Datei pom.xml muss sich im selben Ordner wie das Skript befinden. Dann von der Kommandozeile ausführen Sie: scala scriptname.scala
import scala.xml._
(XML.load("pom.xml") \\ "dependencies") \ "dependency" foreach ((dependency: Node) => {
val groupId = (dependency \ "groupId").text
val artifactId = (dependency \ "artifactId").text
val version = (dependency \ "version").text
val scope = (dependency \ "scope").text
val classifier = (dependency \ "classifier").text
val artifactValName: String = artifactId.replaceAll("[-\\.]", "_")
print("val %s = \"%s\" %% \"%s\" %% \"%s\"".format(artifactValName, groupId, artifactId, version))
scope match {
case "" => print("\n")
case _ => print(" %% \"%s\"\n".format(scope))
}
None
});
Ich brauchte 'Import scala.xml._' mit scala 2.10.0 – pic
@George Pligor ich hinzufügen habe dies ein wenig angepasst, um eine Seq von Abhängigkeiten zu erzeugen (mit meinem eigenen Fehler hinzugefügt). Ich habe es Apache 2.0 gemacht, wenn irgendein Kommentar, lass es mich wissen :) https://github.com/matanster/pomToSbt – matanster
thx! Ich fügte die Möglichkeit hinzu, das Argument der Pom-Datei mit Hilfe von AMM zu übergeben: https://gist.github.com/dportabella/3512f92a60325d8375e5ceb942b911da –