commit a399554d9fc500de6dc94f8b7878170c2e37cb40 from: Omar Polo date: Wed Oct 13 17:08:59 2021 UTC fix build & deployment on clojars commit - 2957b0a4b3593e200978707de9b4481a72fb6a83 commit + a399554d9fc500de6dc94f8b7878170c2e37cb40 blob - 0fa37ac8be5938dd0fbe741f493f3776fbb3e8a8 blob + 1d93d3876f8831c1231e3fda277d5990f6244455 --- build.clj +++ build.clj @@ -1,11 +1,15 @@ (ns build - (:require [clojure.tools.build.api :as b])) + (:require + [clojure.tools.build.api :as b] + [deps-deploy.deps-deploy :as d])) +(def repo "github.com/omar-polo/gemini.git") (def lib 'com.omarpolo/gemini) (def version (format "0.1.0")) (def class-dir "target/classes") (def basis (b/create-basis {:project "deps.edn"})) (def jar-file (format "target/%s-%s.jar" (name lib) version)) +(def pom-file (format "%s/META-INF/maven/%s/pom.xml" class-dir lib)) (defn clean [_] (b/delete {:path "target"})) @@ -18,17 +22,29 @@ (defn jar [_] (compile nil) - (let [repo "github.com/omar-polo/gemini.git"] - (b/write-pom {:class-dir class-dir - :lib lib - :version version - :basis basis - :src-dirs ["src"] - :scm {:connection (str "scm:git:git://" repo) - :developerConnection (str "scm:git:ssh://git@" repo) - :tag version - :url (str "https://" repo)}})) + (b/write-pom {:class-dir class-dir + :lib lib + :version version + :basis basis + :src-dirs ["src"] + :scm {:connection (str "scm:git:git://" repo) + :developerConnection (str "scm:git:ssh://git@" repo) + :tag version + :url (str "https://" repo)}}) (b/copy-dir {:src-dirs ["src"] :target-dir class-dir}) (b/jar {:class-dir class-dir :jar-file jar-file})) + +;; NB: set CLOJARS_USERNAME and CLOJARS_PASSWORD +(defn deploy [_] + (when-not (or (System/getenv "CLOJARS_USERNAME") + (System/getenv "CLOJARS_PASWORD")) + (throw (Exception. "Missing CLOJARS_USERNAME or PASSWORD!"))) + (jar nil) + ;; deploy both locally *and* on clojars + (doseq [place [:local :remote]] + (d/deploy {:artifact jar-file + :pom-file pom-file + :installer place + :sign-releases? true}))) blob - cd7784ac5aa074018fba1b8f2d8b0715713e41c0 blob + 87e011c5e4dc57eea3046809f5ffe7f6a10190ce --- deps.edn +++ deps.edn @@ -2,5 +2,6 @@ :aliases {:build {:deps {io.github.clojure/tools.build {:tag "v0.6.2" - :sha "7ef409b370312c8819c587aa648177331602fa44"}} + :sha "7ef409b370312c8819c587aa648177331602fa44"} + slipset/deps-deploy {:mvn/version "0.2.0"}} :ns-default build}}}