Est-il possible de configurer gâteau de telle sorte que, si test.clj ressemble à ceci:Changer le répertoire courant gâteau
(use 'java.io.File)
(println (.getAbsolutePath (File. ".")))
en cours d'exécution cake run test.clj
imprime le répertoire courant, pas /home/retief/.cake/. ?
Exécution clojure test.clj
fonctionne correctement, avec mon script clojure personnalisé (et très simple), mais cela nécessite que je démarre un nouveau jvm à chaque fois. Pouvoir utiliser le gâteau pour éviter cela et garder mon répertoire courant serait utile.
Je reconnais que l'utilisation de gâteaux dans un projet clojure réel définit le répertoire courant sur la racine du projet, mais j'essaie de trouver quelque chose qui fonctionnerait pour des tâches de script plus générales.
C'est à peu près ce que j'ai deviné, mais passer dans un chemin relatif ne fonctionne pas (il n'est pas développé par le shell et si clojure ne connaît pas le répertoire courant, il ne peut en aucun cas décoder le path), et passer dans un chemin absolu est à peu près aussi ennuyeux que le temps de démarrage de jvm. La meilleure réponse est probablement de lancer un nouveau jvm ou d'utiliser clojurescript et Node.js, je suppose. – Retief
pour mon travail avec nailgun et jython, nous avons ajouté un wrapper shell qui enregistre le chemin complet dans un fichier avec un tas d'autres choses. Cela peut être un peu pénible, même si cela peut faire une énorme différence. –