Comment installer un plugin Leiningen?
Question
Comment puis-je installer un plugin Leiningen?
Par exemple, Leiningen-terme?
Je vois ce qu'on appelle le « clojars.org », et comment « pousser » à lui, mais je ne vois rien de « tirer » de lui.
La solution
Si elle est disponible plug-in est à Clojars, comme courir lein est, il suffit d'ajouter à votre :dev-dependencies
de projet dans project.clj, puis dire lein deps
dans le répertoire de votre projet pour avoir Leiningen tirer dans toutes les dépendances . Un extrait annoté de docs de run lein:
(defproject island-wari "0.1"
:description "Web application for playing the Island Wari game."
:main wari
:dependencies [[org.clojure/clojure "1.1.0-master-SNAPSHOT"]
[org.clojure/clojure-contrib "1.1.0-master-SNAPSHOT"]
[org.clojars.liebke/compojure "0.3.1-master"]]
:dev-dependencies [[org.clojure/swank-clojure "1.0"]
[leiningen-run "0.2"]]) ; <--- this bit makes it possible
; to use lein run
Après avoir fait ce qui précède, vous devriez être en mesure de dire lein run
dans le répertoire de votre projet pour exécuter votre application.
Mise à jour: Si vous voulez écrire vos propres plug-ins pour Leiningen, consultez
Autres conseils
Selon un plug-in
Avec Leiningen 2.0 et plus vous spécifiez quels plug-ins que vous voulez en tant que valeurs à :plugins
dans votre carte de projet. Voir l'exemple de fichier project.clj . Notez que « échantillon » est un peu un abus de langage, il est une référence pour toutes les clés possibles (intégrées) et la documentation de leurs valeurs par défaut.
lein-run
La fonctionnalité exécuter lein-fait maintenant partie de Leiningen de base et n'a pas besoin d'être spécifié comme un plug-in
clojars.org
Clojars est un référentiel de bibliothèques de Clojure tout à fait semblables à maven central (ou moins dans une certaine mesure, RubyGems). Vous ne tirez pas de façon explicite. Au lieu de cela, Leiningen est configuré pour rechercher à travers un ensemble standard de prises en pension pour votre :dependencies
Par ex maven central et clojars. Maven identifie de manière unique ses dépendances (artefacts dans le langage de maven) par un (group-name, artifact-name, version)
triple. Leiningen exploite le même mécanisme exact à l'exception que le nom du groupe n'a pas la restriction d'être un URI inverse la façon dont il doit être avec le centre Maven. Dans la pratique, vous aurez tendance à voir de nombreuses bibliothèques publiées dans clojars où le nom correspond bien l'espace de noms clojure et github nom du projet sans com.mydomain.awesomelib
ennuyeux
Vous pouvez définir vos propres prises en pension à rechercher (ou modifier diverses options) via :repositories
en vous project.clj . Vous pouvez régler de la même :mirrors
si vous avez une maison en miroir d'un repo Maven.
"Installation" un plugin inédit
Enfin, bien que je ne pense pas que ce soit directement ce que vous demandez, mais il est toujours intéressant, si vous développez un plugin ou quoi dépendre d'un plug-in qui n'a pas été officiellement publiée, vous pouvez définir :plugin-repositories