Come diceva vemv, i file di progetto di Leiningen sono solo dati Clojure. Quindi, è facile accedere al vostro progetto come un normale hash-map
:
(->> "project.clj"
slurp
read-string
(drop 2)
(cons :version)
(apply hash-map)
(def project))
Se avete bisogno di questa variabile solo nella vostra repl
, è possibile aggiungerlo al repl-options
al project.clj
:
(defproject yourproject "0.1.0"
:description ""
:url ""
:dependencies [ [org.clojure/clojure "1.4.0"]]
:repl-options { :init (->> "project.clj"
slurp
read-string
(drop 2)
(cons :version)
(apply hash-map)
(def project))})
Ora, avere variabile project
nel proprio repl
. Quindi, per accedere alla versione del tuo progetto puoi semplicemente digitare (:version project)
.
Naturalmente, si può semplicemente utilizzare codice nativo Leiningen per analizzare si file di progetto:
(defproject yourproject "0.1.0"
:description ""
:url ""
:dependencies [ [org.clojure/clojure "1.4.0"]
[leiningen-core "2.1.3"]]
:repl-options { :init (do (require 'leiningen.core.project)
(def project
(leiningen.core.project/read)))})
Ma, se avete bisogno solo la versione del progetto e nulla più, allora è meglio usare Ankur's soluzione.
fonte
2013-04-29 09:15:14
Se si desidera solo la versione del progetto, è menzionata qui: http://stackoverflow.com/questions/11235445/embed-version-string-from-leiningen-project-in-application – ktsujister