commit - 2957b0a4b3593e200978707de9b4481a72fb6a83
commit + a399554d9fc500de6dc94f8b7878170c2e37cb40
blob - 0fa37ac8be5938dd0fbe741f493f3776fbb3e8a8
blob + 1d93d3876f8831c1231e3fda277d5990f6244455
--- build.clj
+++ build.clj
(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"}))
(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
: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}}}