diff --git a/pom.xml b/pom.xml
index 8e16dde..f96687e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
com.code54.mojo
buildversion-plugin
- 1.0.3
+ 1.0.4
maven-plugin
buildversion-plugin
diff --git a/src/main/clojure/buildversion_plugin/mojo.clj b/src/main/clojure/buildversion_plugin/mojo.clj
index d6c079a..0d8c923 100644
--- a/src/main/clojure/buildversion_plugin/mojo.clj
+++ b/src/main/clojure/buildversion_plugin/mojo.clj
@@ -32,27 +32,36 @@
:typename "java.lang.String"}
git-cmd {:alias "gitCmd"
:default "git"
- :typename "java.lang.String"} ]
+ :typename "java.lang.String"}
+ fail-on-error {:alias "failOnError"
+ :default true
+ :typename "java.lang.Boolean"} ]
;; Goal execution
- (let [log-fn #(.debug log/*plexus-log* (str "[buildversion-plugin] " %))
- inferred-props (git/infer-project-version base-dir
- {:tstamp-format tstamp-format
- :git-cmd (or git-cmd "git")
- :debug-fn log-fn } )
- final-props (if custom-script
- (merge inferred-props
- (eval-custom-script inferred-props custom-script))
- inferred-props)
- maven-project-props (.getProperties project)]
-
- (log-fn "Setting properties: ")
- (doseq [[prop value] final-props]
- (log-fn (str (name prop) ": " value))
- (.put maven-project-props (name prop) value))))
-
-
- ;; injecting project version does not work well :-(
- ; (if-let [ver (:build-tag final-props)]
- ; (.setVersion project))
+ (try
+ (let [log-fn #(.debug log/*plexus-log* (str "[buildversion-plugin] " %))
+
+ inferred-props (git/infer-project-version base-dir
+ {:tstamp-format tstamp-format
+ :git-cmd (or git-cmd "git")
+ :debug-fn log-fn} )
+ final-props (if custom-script
+ (merge inferred-props
+ (eval-custom-script inferred-props custom-script))
+ inferred-props)
+ maven-project-props (.getProperties project)]
+
+ (log-fn "Setting properties: ")
+ (doseq [[prop value] final-props]
+ (log-fn (str (name prop) ": " value))
+ (.put maven-project-props (name prop) value)))
+
+ (catch Throwable e
+ (if (false? fail-on-error)
+ (println "[WARNING]" (.getMessage e) ": failOnError parameter false : exit plugin without error")
+ (throw e)))))
+
+ ;; injecting project version does not work well :-(
+ ; (if-let [ver (:build-tag final-props)]
+ ; (.setVersion project))