diff --git a/.clj-kondo/config.edn b/.clj-kondo/config.edn new file mode 100644 index 0000000..0f1dbbd --- /dev/null +++ b/.clj-kondo/config.edn @@ -0,0 +1 @@ +{:config-dirs ["org.suskalo/coffi"]} diff --git a/.clj-kondo/org.suskalo/coffi/coffi/hooks.clj b/.clj-kondo/org.suskalo/coffi/coffi/hooks.clj new file mode 120000 index 0000000..ec39996 --- /dev/null +++ b/.clj-kondo/org.suskalo/coffi/coffi/hooks.clj @@ -0,0 +1 @@ +../../../../resources/clj-kondo.exports/org.suskalo/coffi/coffi/hooks.clj \ No newline at end of file diff --git a/.clj-kondo/org.suskalo/coffi/config.edn b/.clj-kondo/org.suskalo/coffi/config.edn new file mode 120000 index 0000000..d5747ae --- /dev/null +++ b/.clj-kondo/org.suskalo/coffi/config.edn @@ -0,0 +1 @@ +../../../resources/clj-kondo.exports/org.suskalo/coffi/config.edn \ No newline at end of file diff --git a/build.clj b/build.clj index 856d970..d0906b7 100644 --- a/build.clj +++ b/build.clj @@ -19,6 +19,8 @@ (def lib-coord 'org.suskalo/coffi) (def version (format "0.1.%s-SNAPSHOT" (b/git-count-revs nil))) +(def resource-dirs ["resources/"]) + (def source-dirs ["src/clj/"]) (def java-source-dirs ["src/java/"]) @@ -79,11 +81,19 @@ :target path})) opts) +(defn- copy-resources + "Copies the resources from the [[resource-dirs]] to the [[class-dir]]." + [opts] + (b/copy-dir {:target-dir class-dir + :src-dirs resource-dirs}) + opts) + (defn jar "Generates a `coffi.jar` file in the `target/` directory. This is a thin jar including only the sources." [opts] (write-pom opts) + (copy-resources opts) (when-not (exists? target-dir jar-file) (b/jar {:class-dir class-dir :jar-file jar-file})) diff --git a/deps.edn b/deps.edn index 423e1ee..5044ec1 100644 --- a/deps.edn +++ b/deps.edn @@ -1,4 +1,4 @@ -{:paths ["src/clj" "target/classes"] +{:paths ["src/clj" "target/classes" "resources"] :deps {org.clojure/clojure {:mvn/version "1.10.3"} insn/insn {:mvn/version "0.2.1"}} :aliases diff --git a/resources/clj-kondo.exports/org.suskalo/coffi/coffi/hooks.clj b/resources/clj-kondo.exports/org.suskalo/coffi/coffi/hooks.clj new file mode 100644 index 0000000..ffab6be --- /dev/null +++ b/resources/clj-kondo.exports/org.suskalo/coffi/coffi/hooks.clj @@ -0,0 +1,9 @@ +(ns ^:no-doc coffi.hooks + (:require + [clj-kondo.hooks-api :as api])) + +(defn defcfn + [{:keys [node]}] + (let [[] (rest (:children node))] + ;; TODO(Joshua): Add an implementation of this macro's hook + )) diff --git a/resources/clj-kondo.exports/org.suskalo/coffi/config.edn b/resources/clj-kondo.exports/org.suskalo/coffi/config.edn new file mode 100644 index 0000000..3cd09b1 --- /dev/null +++ b/resources/clj-kondo.exports/org.suskalo/coffi/config.edn @@ -0,0 +1 @@ +{:hooks {:analyze-call {coffi.ffi/defcfn coffi.hooks/defcfn}}}