2016-04-17 6 views
7

Ich habe eine Frage zu einer Clojure Bibliothek zu entwickeln, die nicht in der vorgeschlagenen Workflow für die Bibliothek Entwicklung und Vertrieb beantwortet wird, wie hier beschrieben: http://clojure-doc.org/articles/ecosystem/libraries_authoring.htmlWie verwende ich ein lokales Repository für eine Clojure-Bibliothek während der anfänglichen Entwicklung?

ich eine Bibliothek entwickle und will dies in einem clojure Projekt testen. In diesem Projekt muss ich die in Entwicklung befindliche Bibliothek als eine Abhängigkeit hinzufügen. Gibt es eine Alternative für "lein deploy clojars", die meine Bibliothek in einem lokalen Repository bereitstellen? Wenn ja, wie würde ich einstellen: Abhängigkeiten dafür im Testprojekt? Beachten Sie, dass ich auch Bibliotheken in Clojars verwenden werde, die ich zum Testen der Bibliothek in der Entwicklung verwende.

Also, wo sollte ich eine Clojure-Bibliothek in der Entwicklung bereitstellen, ein lokales Repository vielleicht, so dass es von Projekten verwendet werden kann, die die Bibliothek Alpha-Test. Wie sollen die Testprojekte darauf eingehen? Ich würde gerne wissen, wie sich dies auswirkt auf 1) die Datei project.clj für das Bibliotheksentwicklungsprojekt und 2) die Datei project.clj für das Projekt, das die Bibliothek in der Entwicklung testet.

Antwort

11

lein install macht den Job:

$ lein install -h 
Install jar and pom to the local repository; typically ~/.m2. 

In Ihrer Bibliothek Projekt ausführen lein install und Ihre Bibliothek jar und pom-Dateien werden unter dem ~/.m2 Verzeichnis installiert werden.

Danach, wenn Sie ein anderes Projekt erstellen, das von Ihrer Bibliothek abhängt, wird lein seine Binärdateien in ~/.m2 finden.

~/.m2 ist ein Standardspeicherort des lokalen Maven-Repository, das zu den Speicherorten gehört, die während der Auflösung der Abhängigkeit verwendet werden. Es fungiert auch als Cache für Remote-Repositorys, in denen Artefakte gespeichert werden, die von Maven Central oder Clojars heruntergeladen wurden.