39 votes

clojure et leiningen - en utilisant un dépôt git comme dépendance

Est-il possible que leiningen extrait un projet directement depuis un dépôt git (sur github) en tant que dépendance?

En utilisant Bundler avec Ruby, il est possible de mapper une gemme sur un dépôt git, ce qui permet un développement et une intégration rapides des projets dépendants.

Mise à jour

Sur la base de la réponse acceptée, il existe maintenant un plugin leiningen pour la gestion de git-deps: https://github.com/tobyhede/lein-git-deps

23voto

Sun Ning Points 898

Je viens de trouver cela dans le projet.clj de clojurescriptone

Je pense que cela peut vous être utile:

 :git-dependencies [["https://github.com/clojure/clojurescript.git"
                       "886d8dc81812962d30a741d6d05ce9d90975160f"]
                   ["https://github.com/levand/domina.git"
                       "8933b2d12c44832c9bfaecf457a1bc5db251a774"]]
 

Le fichier est ici .

10voto

Michał Marczyk Points 54179

Leiningen de ne pas faire le tirant pour vous (edit: pas de la case, de toute façon; en suivant l'exemple de Sunng réponse nous amène à découvrir que le plugin a été écrit pour cela -- voir aussi mon commentaire sur cette réponse; la caisse deps restent une bonne solution intégrée), mais vous pouvez avoir les extractions d'autres projets à mettre dans le classpath. Cette fonctionnalité est décrite dans la section FAQ du lisez-moi; voici pertinentes Q&A:

Q: je veux pirater les deux projets en parallèle, mais c'est ennuyeux d' basculer entre eux.
A: Si vous créez un répertoire appelé checkoutsdans votre racine du projet et lien symbolique d'un autre projet de racines en elle, Leiningen vous permettra de pirater sur eux en parallèle. Cela signifie que les changements dans la dépendance sera visible dans le projet principal sans avoir à passer par l'ensemble de la installer/switch-projets/deps/redémarrer-repl cycle, et la copie dans checkouts aura préséance sur la dépendance déclarée dans projet.clj. Notez que ce n'est pas un remplacement pour l'inscription de la projet en :dependencies; il a simplement des suppléments que pour plus de commodité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X