Examples [skip ci]
This commit is contained in:
parent
958944d785
commit
5fd975c312
2 changed files with 36 additions and 2 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env bb
|
#!/usr/bin/env bb
|
||||||
|
|
||||||
(ns pom-version
|
(ns get-pom-version
|
||||||
{:author "Wilker Lucio"}
|
{:author "Wilker Lucio"}
|
||||||
(:require [clojure.data.xml :as xml]
|
(:require [clojure.data.xml :as xml]
|
||||||
[clojure.string :as str]))
|
[clojure.string :as str]))
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
(->>
|
(->>
|
||||||
(slurp path)
|
(slurp path)
|
||||||
(xml/parse-str)
|
(xml/parse-str)
|
||||||
(xml-seq )
|
(xml-seq)
|
||||||
(filter #(tag-name? % "version"))
|
(filter #(tag-name? % "version"))
|
||||||
first
|
first
|
||||||
tag-content-str)))
|
tag-content-str)))
|
||||||
34
examples/set_pom_version.clj
Executable file
34
examples/set_pom_version.clj
Executable file
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env bb
|
||||||
|
|
||||||
|
;; usage: version.clj pom.xml 1.0.1
|
||||||
|
|
||||||
|
;; pom.xml:
|
||||||
|
;; <project>
|
||||||
|
;; <version></version>
|
||||||
|
;; </project>
|
||||||
|
|
||||||
|
;; prints to stdout:
|
||||||
|
;; <project>
|
||||||
|
;; <version>1.0.1</version>
|
||||||
|
;; </project>
|
||||||
|
|
||||||
|
(ns set-pom-version
|
||||||
|
{:author "Michiel Borkent"}
|
||||||
|
(:require [clojure.data.xml :as xml]))
|
||||||
|
|
||||||
|
(def pom-xml (first *command-line-args*))
|
||||||
|
(def version (second *command-line-args*))
|
||||||
|
|
||||||
|
(def xml (xml/parse-str (slurp pom-xml)))
|
||||||
|
|
||||||
|
(defn update-version [elt]
|
||||||
|
(if (= :version (:tag elt))
|
||||||
|
(assoc elt :content version)
|
||||||
|
elt))
|
||||||
|
|
||||||
|
(println
|
||||||
|
(xml/emit-str
|
||||||
|
(update xml :content
|
||||||
|
(fn [contents]
|
||||||
|
(map update-version contents)))))
|
||||||
|
|
||||||
Loading…
Reference in a new issue