Comment puis-je mettre en place Leiningen de travailler avec plusieurs projets?

StackOverflow https://stackoverflow.com/questions/8335709

  •  26-10-2019
  •  | 
  •  

Question

je plusieurs, des projets de Leiningen distincts qui peuvent apparemment dépendre d'une autre.

Exemple:

~/projects/mywebapp  (my own project)
~/projects/noir      (a clone of the github repo)
~/projects/clojureql (a clone of the github repo)

Je veux les avoir tous compilés dans la même machine virtuelle Java en même temps. Je voudrais courir le bord repo git saignements (tirant nouveaux commits / faire mes propres commits) et ne pas avoir à courir lein pot ou lein DEPS et ont certainement pas redémarrer la machine virtuelle si je change l'un des projets.

Voici un cas d'utilisation:

Après avoir exécuté lein Swank, à partir de emacs, je connecte au repl et compiler un fichier de mywebapp (avec C-c-k), qui requiert un fichier de noir. Il trouve la version du fichier dans mon répertoire de projets. Plus tard, j'ouvre ce fichier, le modifier et le compiler (avec C-c-k).

Notez que je ne demande pas la compilation automatique quand je fais git pull. Je ne veux pas avoir à redémarrer la machine virtuelle Java ou faire jar long compilation processus.

Est-ce possible dans Leiningen? Comment puis-je configurer cela?

Était-ce utile?

La solution

Est-ce que cette question de la Lein FAQ aide ?

Q :. Je veux pirater deux projets en parallèle, mais il est ennuyeux de basculer entre eux

: Utiliser une fonctionnalité appelée dépendances de caisse. Si vous créez un répertoire appelé racine dans votre checkouts de projet et d'autres un lien symbolique racines du projet en elle, Leiningen vous permettra de pirater sur eux parallèle. Cela signifie que des changements dans la dépendance seront visibles dans la projet principal sans avoir à passer par l'ensemble installer / switch-projets / DEPS / cycle de redémarrage rempl. Notez que ce n'est pas un remplacement pour l'inscription du projet dans: dépendances; simplement suppléments que pour le resserrement des cycles de changement.

Autres conseils

Si vous utilisez déjà Swank, vous n'avez pas besoin lein dépendances de caisse. Vous pouvez juste C-c C-k votre projet (qui charge les versions Jarred de noir / autre), puis accédez à votre version locale de noir et C-c C-k aussi. Swank envoie heureusement tout le code à votre rempl, et le besoin de savoir jvm jamais qu'il venait d'un endroit différent!

Je ne peux que recommander ce pour des changements assez petites cependant, parce que je pense que si vous compilez noir.core, qui dépend (disons) noir.internal, Clojure chargera la version Jarred de noir.internal même si vous compilez la version locale de noir.core. Malgré cela, il est un truc pratique en général.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top