From 31c5a43e6884ac847f7b729f0149ee41d8d1221a Mon Sep 17 00:00:00 2001 From: jurevert Date: Mon, 9 Mar 2015 16:27:24 +0100 Subject: [PATCH 1/2] Fixing issue : Build fails when there is no git repo #10 Add failOnError property. --- pom.xml | 2 +- src/main/clojure/buildversion_plugin/mojo.clj | 54 +++++++++++-------- 2 files changed, 34 insertions(+), 22 deletions(-) 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..1e1bb87 100644 --- a/src/main/clojure/buildversion_plugin/mojo.clj +++ b/src/main/clojure/buildversion_plugin/mojo.clj @@ -32,27 +32,39 @@ :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 RuntimeException e + (if (false? fail-on-error) + (if (.contains (.getMessage e) "Not a git repository") + (println "!!! Not a Git repository : failOnError parameter false : exit plugin without error") + (throw e)) + (throw e))))) + + + ;; injecting project version does not work well :-( + ; (if-let [ver (:build-tag final-props)] + ; (.setVersion project)) From 6e6cd7ca920fdf50eb4d19754be79a7665be9223 Mon Sep 17 00:00:00 2001 From: jurevert Date: Thu, 19 Mar 2015 08:51:29 +0100 Subject: [PATCH 2/2] Fixing issue : Build fails when there is no git repo #10 Add failOnError property. -> The plugin was still failed if Git Tools was not on the laptop. Now, it's fixed and a Warning message appear. --- src/main/clojure/buildversion_plugin/mojo.clj | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/clojure/buildversion_plugin/mojo.clj b/src/main/clojure/buildversion_plugin/mojo.clj index 1e1bb87..0d8c923 100644 --- a/src/main/clojure/buildversion_plugin/mojo.clj +++ b/src/main/clojure/buildversion_plugin/mojo.clj @@ -56,14 +56,11 @@ (log-fn (str (name prop) ": " value)) (.put maven-project-props (name prop) value))) - (catch RuntimeException e + (catch Throwable e (if (false? fail-on-error) - (if (.contains (.getMessage e) "Not a git repository") - (println "!!! Not a Git repository : failOnError parameter false : exit plugin without error") - (throw e)) + (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))