Skip to content

Commit

Permalink
CI prep - build using tools.build
Browse files Browse the repository at this point in the history
borkdude committed Dec 2, 2021

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent 60ddd94 commit d182a0f
Showing 8 changed files with 54 additions and 76 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
.cpcache
.clj-kondo/.cache
.lsp/.cache
.calva
.portal
42 changes: 13 additions & 29 deletions bb.edn
Original file line number Diff line number Diff line change
@@ -6,17 +6,11 @@
:tasks {:requires ([babashka.fs :as fs])
:init (do (defn print-public-task [k]
(let [{:keys [:private :name]} (current-task)]
(when-not private
(println (case k :enter "" "") name)))))
(when-not private
(println (case k :enter "" "") name))))
(def version "0.0.1"))
:leave (print-public-task :leave)

version "0.0.1"

update-project-clj {:doc "Updates project.clj with most recent clj-kondo version"
:depends [version]
:task (binding [*command-line-args* [version]]
(load-file "script/update-project.clj"))}

java1.8 {:doc "Asserts that we are using java 1.8"
:requires ([clojure.java.shell :refer [sh]]
[clojure.string :as str])
@@ -26,32 +20,22 @@
server:test {:doc "Run tests"
:task (clojure {:dir "server"} "-M:test")}

-uberjar {:task (str (fs/path "server/target" (str "lsp-server-"
version
"-standalone.jar")))}
server:build {:doc "Produces lsp server standalone jar"
:depends [java1.8 update-project-clj -uberjar]
:task (when (seq (fs/modified-since -uberjar ["server/project.clj" "server/src"]))
(shell {:dir "server"}
"lein with-profiles -user do clean, uberjar"))}
uberjar {:task (str (fs/path "target" (str "zen-lsp-server-" version "-standalone.jar")))}

-jar {:depends [version]
:task (str "server/target/zen-lsp-" version "-standalone.jar")}

lsp-jar {:doc "Copies renamed jar for upload to clj-kondo repo"
:depends [java1.8 build-server -jar]
:task (let [lsp-jar (fs/path (fs/parent -jar) (str "zen-lsp-" (fs/file-name -jar)))]
(fs/copy -jar lsp-jar {:replace-existing true}))}
server:build {:doc "Produces lsp server standalone jar"
:depends [java1.8 uberjar]
:task (when (seq (fs/modified-since (fs/file "server" uberjar)
["server/deps.edn" "server/src"]))
(clojure {:dir "server"} "-T:build uber" ":uber-file" (pr-str uberjar)))}

vscode-server {:doc "Copies lsp server jar to vscode extension"
:depends [lsp-jar]
:task (fs/copy lsp-jar (fs/path "vscode-extension" "zen-lsp-standalone.jar")
:depends [uberjar server:build]
:task (fs/copy (fs/file "server" uberjar)
(fs/path "vscode-extension" "zen-lsp-standalone.jar")
{:replace-existing true})}

vscode-version {:doc "Prepares package.json with up to date clj-kondo version"
:depends [version]
:task (binding [*command-line-args* [version]]
(load-file "script/update-package-json.clj"))}
:task :TODO}

vscode-package {:doc "Builds vscode package"
:depends [vscode-server vscode-version]
1 change: 1 addition & 0 deletions server/.gitignore
Original file line number Diff line number Diff line change
@@ -13,3 +13,4 @@ pom.xml.asc
.cpcache
.clj-kondo/.cache
.lsp/.cache
.calva
23 changes: 23 additions & 0 deletions server/build.clj
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
(ns build
(:require [clojure.tools.build.api :as b]))

(def lib 'my/lib1)
;; (def version (format "1.2.%s" (b/git-count-revs nil)))
(def class-dir "target/classes")
(def basis (b/create-basis {:project "deps.edn"}))
;; (def uber-file (format "target/%s-%s-standalone.jar" (name lib) version))
;; (def jar-file (format "target/%s-%s.jar" (name lib) version))

(defn clean [_]
(b/delete {:path "target"}))

(defn uber [opts]
(clean nil)
(b/copy-dir {:src-dirs ["src" "resources"]
:target-dir class-dir})
(b/compile-clj (merge opts
{:basis basis
:src-dirs ["src"]
:class-dir class-dir}))
(b/uber (merge opts {:class-dir class-dir
:basis basis})))
4 changes: 4 additions & 0 deletions server/deps.edn
Original file line number Diff line number Diff line change
@@ -31,4 +31,8 @@
:jvm-opts ^:replace ["-XX:-OmitStackTraceInFastThrow"]
:main-opts ["-m" "kaocha.runner" "--config-file" "test/test.edn"]}

:build ;; added by neil
{:deps {io.github.clojure/tools.build {:git/tag "v0.6.8" :git/sha "d79ae84"}}
:ns-default build}

}}
25 changes: 0 additions & 25 deletions server/project.clj

This file was deleted.

21 changes: 0 additions & 21 deletions server/project.template.clj

This file was deleted.

10 changes: 9 additions & 1 deletion server/src/zen_lang/lsp_server/impl/server.clj
Original file line number Diff line number Diff line change
@@ -38,6 +38,11 @@
[org.eclipse.lsp4j.launch LSPLauncher]
[org.eclipse.lsp4j.services LanguageServer TextDocumentService WorkspaceService LanguageClient]))






(set! *warn-on-reflection* true)

(defonce proxy-state (atom nil))
@@ -62,7 +67,7 @@
(defn info [& msgs]
(apply log! :info msgs))

(def debug? false)
(def debug? true)

(defn debug [& msgs]
(when debug?
@@ -120,6 +125,8 @@
key? (str/includes? message "unknown key")
loc (get-location edn-node path key?)
finding (assoc loc :message message :level :warning)]
(debug :error error)
(debug :finding finding)
finding))

(defn new-context []
@@ -139,6 +146,7 @@
findings))

(defn lint! [text uri]
;; TODO: more checks if it's really a zen file
(when (str/ends-with? uri ".edn")
(let [path (-> (java.net.URI. uri)
(.getPath))

0 comments on commit d182a0f

Please sign in to comment.