babashka/examples/pom_version_get.clj

28 lines
560 B
Clojure
Raw Permalink Normal View History

2020-04-18 21:21:51 +00:00
#!/usr/bin/env bb
2020-10-17 09:39:13 +00:00
(ns pom-version-get
2020-04-18 21:21:51 +00:00
{:author "Wilker Lucio"}
(:require [clojure.data.xml :as xml]
[clojure.string :as str]))
(defn tag-name? [tag tname]
(some-> tag :tag name #{tname}))
(defn tag-content-str [tag]
(->> tag :content (filter string?) (str/join "")))
(defn pom-version
([] (pom-version "pom.xml"))
([path]
2020-04-18 21:52:19 +00:00
(->>
(slurp path)
(xml/parse-str)
2020-10-13 14:30:31 +00:00
(xml-seq)
2020-04-18 21:52:19 +00:00
(filter #(tag-name? % "version"))
first
tag-content-str)))
2020-04-18 21:21:51 +00:00
2020-04-18 21:52:19 +00:00
(if-let [arg (first *command-line-args*)]
(pom-version arg)
(pom-version))