Schließen MVN -DEPs aus Quellen ab.
Beweis des Konzepts, vorbehaltlich der Veränderung. Verbesserungen willkommen!
Dieses Tool kann verwendet werden, um:
deps.edn vergleichenlein project.clj oder boot build.boot nach deps.edndeps.edn -Projekt.$ clojure -M -m deps-infer.main Dadurch wird Ihr .m2/repository indexiert und Ihre Quellen unter src und test analysiert.
Standardmäßig wird die Analyseausgabe auf einem .deps-infer/ innerhalb des --repo Verzeichnisses geschrieben. Sie können den Speicherort mit der Option --cache-dir ändern.
Danach schlägt es eine Liste von Abhängigkeiten vor, die Sie zu Ihrem deps.edn hinzufügen können. Es wird immer die neueste Version auswählen, die in Ihrem .M2 -Repo verfügbar ist.
Für dieses Projekt wird es gedruckt:
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 " }Namespaces, die nicht gelöst werden können, werden zu einer Warnung gedruckt:
$ 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 : Der Ort des MVN-Repo.--analyze : Die Datei, das Verzeichnis oder die zu analysierenden Quellen. Sie können mehrere Dateien und Verzeichnisse mit dem OS-spezifischen Pfadabscheider: src:test .--snapshots : Schlagen Sie SNAPSHOT -Versionen vor. PRS Willkommen.
.m2/repository enthalten sind. Dieser Index muss auf dem neuesten Stand gehalten werden, z. B. täglich, und ein Git -Repo verpflichtet werden, wo wir ihn dann holen können. Um Ihr Repo erneut zu indeminieren, entfernen Sie den Index der Namespaces in Gläser und rennen Sie:
$ rm -rf .work/index.ednUnd dann dieses Tool noch einmal ausführen.
Copyright © 2021 Michiel Borkent
Unter der EPL -Lizenz verteilt. Siehe Lizenz.