mirror of
https://github.com/logseq/logseq.git
synced 2026-04-26 15:15:01 +00:00
47 lines
1.2 KiB
Clojure
47 lines
1.2 KiB
Clojure
(ns build
|
|
(:require [clojure.data.json :as json]
|
|
[clojure.tools.build.api :as b]
|
|
[deps-deploy.deps-deploy :as dd]))
|
|
|
|
(def lib 'com.logseq/libs)
|
|
(def version
|
|
(-> (slurp "package.json")
|
|
(json/read-str :key-fn keyword)
|
|
:version))
|
|
(def class-dir "target/classes")
|
|
(def basis (delay (b/create-basis {:project "deps.edn"})))
|
|
(def jar-file (format "target/%s-%s.jar" (name lib) version))
|
|
|
|
(def pom-template
|
|
[[:description "ClojureScript wrapper for @logseq/libs"]
|
|
[:url "https://github.com/logseq/logseq"]
|
|
[:licenses
|
|
[:license
|
|
[:name "MIT License"]
|
|
[:url "https://opensource.org/licenses/MIT"]]]])
|
|
|
|
(def options
|
|
{:class-dir class-dir
|
|
:lib lib
|
|
:version version
|
|
:basis @basis
|
|
:jar-file jar-file
|
|
:src-dirs ["src"]
|
|
:pom-data pom-template})
|
|
|
|
(defn clean [_]
|
|
(b/delete {:path "target"}))
|
|
|
|
(defn jar [_]
|
|
(clean nil)
|
|
(b/write-pom options)
|
|
(b/copy-dir {:src-dirs (:paths @basis)
|
|
:target-dir class-dir})
|
|
(b/jar options))
|
|
|
|
(defn deploy [_]
|
|
(jar nil)
|
|
(dd/deploy {:installer :remote
|
|
:artifact jar-file
|
|
:pom-file (b/pom-path {:lib lib :class-dir class-dir})}))
|