diff --git a/examples/pom_version.clj b/examples/get_pom_version.clj
similarity index 93%
rename from examples/pom_version.clj
rename to examples/get_pom_version.clj
index 164bfe69..2d05dfbe 100755
--- a/examples/pom_version.clj
+++ b/examples/get_pom_version.clj
@@ -1,6 +1,6 @@
#!/usr/bin/env bb
-(ns pom-version
+(ns get-pom-version
{:author "Wilker Lucio"}
(:require [clojure.data.xml :as xml]
[clojure.string :as str]))
@@ -17,7 +17,7 @@
(->>
(slurp path)
(xml/parse-str)
- (xml-seq )
+ (xml-seq)
(filter #(tag-name? % "version"))
first
tag-content-str)))
diff --git a/examples/set_pom_version.clj b/examples/set_pom_version.clj
new file mode 100755
index 00000000..1c857e24
--- /dev/null
+++ b/examples/set_pom_version.clj
@@ -0,0 +1,34 @@
+#!/usr/bin/env bb
+
+;; usage: version.clj pom.xml 1.0.1
+
+;; pom.xml:
+;;
+;;
+;;
+
+;; prints to stdout:
+;;
+;; 1.0.1
+;;
+
+(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)))))
+