2016-05-19 23 views
0

Sorry, ich bin neu bei sbt und dem "sbt-native-packager". Ich muss der ZIP-Datei ganze Verzeichnisse zuordnen und den Ausgabepfad ändern.Ändern des Ausgabeverzeichnisses in "sbt-native-packager"

Diese, wie ich meine Zuordnung des Verzeichnisses getan haben:

mappings in Universal <++= (packageBin in Compile, baseDirectory) map { (_, baseDirectory) => 
    val dir = baseDirectory/"migrations" 
    (dir.***) pair relativeTo(dir.getParentFile) 
} 

Die Zuordnung funktioniert völlig in Ordnung, aber ich brauche eine bestimmte Ordnerstruktur in der resultierenden ZIP-Datei haben. In diesem Beispiel ist dieses Verzeichnis ".../target/stage/universal/migrations" zugeordnet, aber ich muss es in einen Ordner "db" wie folgt abbilden: ".../target/stage/db/universal/Migrationen "

Vielen Dank im Voraus!

Antwort

1

Für die Zuordnung vollständiger Verzeichnisse gibt es einige MappingHelpers, die Sie verwenden können. Ihr Code kann

mappings in Universal ++= directory(baseDirectory.value/"migrations") 

In Bezug auf Ihre zweite Frage zu

vereinfacht werden, wie die Ausgabe Ordner zu ändern. Die Frage ist nicht ganz richtig, wie es sein sollte: "Wie ändere ich den Zielpfad eines Mappings?" Die universelle Verpackung ist etwas Besonderes, da das Zieloutput wie das resultierende Paket aussieht.

Der native Packager verwendet mappings (Sequenz von File -> String Tupeln), die eine Datei und den entsprechenden Ausgabepfad im resultierenden Paket definieren. Also, wenn Sie

# current 
./target/stage/universal/migrations 
# expected 
./target/stage/db/universal/migrations 

ändern möchten Ich gehe davon aus Sie die Migrationen in der ZIP-Datei in einem Ordner db wie diese

/  # zip root 
    bin/ # start scripts 
    db/ # migrations go here 
    conf/ # configuration files 
    lib/ # jars 

Um dies zu erreichen Sie müssen die Zielzeichenfolge ändern. Dies würde in etwa so aussehen (nicht getestet):

mappings in Universal ++= contentOf(baseDirectory.value/"migrations").map { 
    case (file, dest) => file -> s"db/$dest" 
} 

prost, Muki

+1

Thank you so viel, es funktionierte perfekt! Ich würde dich wählen, aber ich habe nicht genug Ansehen. ^^ '' –

+0

Diese Antwort ist was ich brauchte. Ich habe dich gewählt –