Inférer les MVN DEP à partir de sources.
Preuve de concept, sous réserve de changement. Améliorations Bienvenue!
Cet outil peut être utilisé pour:
deps.edn existantlein project.clj OU boot build.boot TO deps.edndeps.edn .$ clojure -M -m deps-infer.main Cela indexera votre .m2/repository et analysera vos sources sous src et test .
Par défaut, il rédigera la sortie d'analyse sur un .deps-infer/ à l'intérieur du répertoire --repo . Vous pouvez modifier l'emplacement à l'aide de l'option --cache-dir .
Après cela, cela suggérera une liste de dépendances que vous pouvez ajouter à votre deps.edn . Il choisira toujours la dernière version disponible dans votre dépôt .m2.
Pour ce projet, il imprimera:
babashka/fs { :mvn/version " 0.0.1 " }
clj-kondo/clj-kondo { :mvn/version " 2021.02.13 " }
org.clojure/clojure { :mvn/version " 1.10.3-rc1 " }
org.clojure/tools.cli { :mvn/version " 1.0.194 " }
version-clj/version-clj { :mvn/version " 2.0.1 " }Les espaces de noms qui ne peuvent pas être résolus entraîneront l'impression d'un avertissement:
$ cat corpus/non_existing.clj
( ns non-existing
( :require [foo.bar :as x])) $ clojure -M -m deps-infer.main --analyze corpus/non_existing.clj
WARNING: no dep found for foo.bar
--repo : l'emplacement du dépôt MVN.--analyze : le fichier, le répertoire ou les répertoires de sources à analyser. Vous pouvez combiner plusieurs fichiers et répertoires à l'aide du séparateur de chemin spécifique du système d'exploitation: src:test .--snapshots : suggérer des versions SNAPSHOT . PRS Bienvenue.
.m2/repository local. Cet index doit être tenu à jour, par exemple quotidiennement, et être attaché à un dépensier GIT où nous pouvons ensuite le récupérer. Pour réindexer votre dépôt, supprimez l'index des espaces de noms en pots, exécutez:
$ rm -rf .work/index.ednpuis exécutez cet outil à nouveau.
Copyright © 2021 Michiel Borkent
Distribué sous la licence EPL. Voir la licence.