Infer classifier when deploying adhoc files
This commit is contained in:
parent
78c069822d
commit
bf7e029d73
2 changed files with 21 additions and 2 deletions
|
@ -155,6 +155,16 @@
|
||||||
"pom"
|
"pom"
|
||||||
(last (.split f "\\.")))))
|
(last (.split f "\\.")))))
|
||||||
|
|
||||||
|
(defn classifier
|
||||||
|
"The classifier is be located between the version and extension name of the artifact.
|
||||||
|
|
||||||
|
See http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploying-with-classifiers.html "
|
||||||
|
[version f]
|
||||||
|
(let [pattern (re-pattern (format "%s-(.*)\\.%s" version (extension f)))
|
||||||
|
[_ classifier-of] (re-find pattern f)]
|
||||||
|
(when-not (empty? classifier-of)
|
||||||
|
classifier-of)))
|
||||||
|
|
||||||
(defn- fail-on-empty-project [project]
|
(defn- fail-on-empty-project [project]
|
||||||
(when-not (:root project)
|
(when-not (:root project)
|
||||||
(main/abort "Couldn't find project.clj, which is needed for deploy task")))
|
(main/abort "Couldn't find project.clj, which is needed for deploy task")))
|
||||||
|
@ -213,7 +223,8 @@ be able to depend on jars that are deployed without a pom."
|
||||||
group-id (namespace identifier)
|
group-id (namespace identifier)
|
||||||
repo (repo-for project repository)
|
repo (repo-for project repository)
|
||||||
artifacts (for [f files]
|
artifacts (for [f files]
|
||||||
[[:extension (extension f)] f])]
|
[[:extension (extension f)
|
||||||
|
:classifier (classifier version f)] f])]
|
||||||
(main/debug "Deploying" files "to" repo)
|
(main/debug "Deploying" files "to" repo)
|
||||||
(aether/deploy
|
(aether/deploy
|
||||||
:coordinates [(symbol group-id artifact-id) version]
|
:coordinates [(symbol group-id artifact-id) version]
|
||||||
|
|
|
@ -68,3 +68,11 @@
|
||||||
(is (thrown? clojure.lang.ExceptionInfo (deploy nil))))
|
(is (thrown? clojure.lang.ExceptionInfo (deploy nil))))
|
||||||
(testing "Fail if project data is missing"
|
(testing "Fail if project data is missing"
|
||||||
(is (thrown? clojure.lang.ExceptionInfo (deploy nil "snapshots")))))
|
(is (thrown? clojure.lang.ExceptionInfo (deploy nil "snapshots")))))
|
||||||
|
|
||||||
|
(deftest classifiying
|
||||||
|
(are [expected version file] (= expected (classifier version file))
|
||||||
|
"fat" "1.2.3" "some-project-1.2.3-fat.jar"
|
||||||
|
"fat" "1.2.3-alpha6" "some-project-1.2.3-alpha6-fat.jar"
|
||||||
|
"fat" "1.2.3-SNAPSHOT" "some-project-1.2.3-SNAPSHOT-fat.jar"
|
||||||
|
nil "1.2.3" "some-project-1.2.3-.jar"
|
||||||
|
nil "1.2.3" "some-project-1.2.3.jar"))
|
||||||
|
|
Loading…
Reference in a new issue