Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

<groupId>com.code54.mojo</groupId>
<artifactId>buildversion-plugin</artifactId>
<version>1.0.3</version>
<version>1.0.4</version>
<packaging>maven-plugin</packaging>

<name>buildversion-plugin</name>
Expand Down
51 changes: 30 additions & 21 deletions src/main/clojure/buildversion_plugin/mojo.clj
Original file line number Diff line number Diff line change
Expand Up @@ -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))