Кложурное - Оживший юзерпик
апр. 26, 2015
05:35 pm - Кложурное
Как в программе показать -version, прочитав его из project.clj?
project.clj:
(def my-version "9.99")
(defproject my-project my-version
:manifest {"Implementation-Version" ~my-version}
etc)
core.clj:
(defn implementation-version []
;; Кажем версию софтины. Пропертя работает в lein repl, а getPackage().getImplementationVersion()
;; работает в JAR
(or (System/getProperty "my.version")
;; Как сюда не хардкодить класс? Я думал, *ns*, но нет
(-> (eval 'my.package.core) .getPackage .getImplementationVersion)))
(defn -main [& args]
(println "I am the project, version" (implementation-version)))
Comments:
Mass Action
Групповое действие над комментариями:
А способ получить текущий класс отсутствует? В Жабном окружении это бывает весьма полезно - например, класслоадер текущего класса порой просто необходим.
Edited at 2015-04-26 17:42 (local)