From 834d516b6df83434935c074bd6e395f5d4cfa5b4 Mon Sep 17 00:00:00 2001 From: liquidz Date: Tue, 8 Jun 2021 06:30:47 +0900 Subject: [PATCH 01/16] Prototype to support Gradle #83 --- .gitignore | 1 + src/antq/core.clj | 5 +++- src/antq/dep/gradle.clj | 50 +++++++++++++++++++++++++++++++++ test/resources/dep/build.gradle | 23 +++++++++++++++ 4 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 src/antq/dep/gradle.clj create mode 100644 test/resources/dep/build.gradle diff --git a/.gitignore b/.gitignore index 70013353..c47cf13d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /target **/.clj-kondo/.cache **/.lsp +**/.gradle diff --git a/src/antq/core.clj b/src/antq/core.clj index 4dd30e0d..ebc06964 100644 --- a/src/antq/core.clj +++ b/src/antq/core.clj @@ -12,6 +12,7 @@ [antq.dep.boot :as dep.boot] [antq.dep.clojure :as dep.clj] [antq.dep.github-action :as dep.gh-action] + [antq.dep.gradle :as dep.gradle] [antq.dep.leiningen :as dep.lein] [antq.dep.pom :as dep.pom] [antq.dep.shadow :as dep.shadow] @@ -54,6 +55,7 @@ #{"boot" "clojure-cli" "github-action" + "gradle" "pom" "shadow-cljs" "leiningen" @@ -198,7 +200,8 @@ (when-not (skip "pom") (dep.pom/load-deps %)) (when-not (skip "shadow-cljs") (dep.shadow/load-deps %)) (when-not (skip "leiningen") (dep.lein/load-deps %)) - (when-not (skip "babashka") (dep.bb/load-deps %))) + (when-not (skip "babashka") (dep.bb/load-deps %)) + (when-not (skip "gradle") (dep.gradle/load-deps %))) (distinct (:directory options))))) (defn mark-only-newest-version-flag diff --git a/src/antq/dep/gradle.clj b/src/antq/dep/gradle.clj new file mode 100644 index 00000000..e22e2c22 --- /dev/null +++ b/src/antq/dep/gradle.clj @@ -0,0 +1,50 @@ +(ns antq.dep.gradle + (:require + [antq.record :as r] + [antq.util.dep :as u.dep] + [clojure.java.io :as io] + [clojure.java.shell :as sh] + [clojure.string :as str])) + +(def ^:private project-file "build.gradle") +(def ^:private dep-regexp #"^[^-]\-+\s") + +(defn- filter-deps-from-gradle-dependencies + [file-path] + (let [{:keys [exit out]} (sh/sh "gradle" "--build-file" file-path "--quiet" "dependencies")] + (if (= 0 exit) + (->> (str/split-lines out) + (filter seq) + (filter #(re-seq dep-regexp %)) + (map #(str/replace % dep-regexp "")) + (map #(first (str/split % #" " 2))) + (set)) + (throw (ex-info "Failed to run gradle" {:exit exit}))))) + +(defn- convert-grandle-dependency + "e.g. dep-str: 'org.clojure:clojure:1.10.0'" + [file-path dep-str] + (let [[group-id artifact-id version] (str/split dep-str #":" 3)] + (r/map->Dependency {:project :gradle + :type :java + :file file-path + :name (str group-id "/" artifact-id) + :version version + #_#_:repositories repositories}))) + +(defn extract-deps + [file-path] + (try + (let [deps (filter-deps-from-gradle-dependencies file-path) + deps (map #(convert-grandle-dependency file-path %) deps)] + deps) + (catch Exception _ + ;; FIXME + nil))) + +(defn load-deps + ([] (load-deps ".")) + ([dir] + (let [file (io/file dir project-file)] + (when (.exists file) + (extract-deps (u.dep/relative-path file)))))) diff --git a/test/resources/dep/build.gradle b/test/resources/dep/build.gradle new file mode 100644 index 00000000..33402587 --- /dev/null +++ b/test/resources/dep/build.gradle @@ -0,0 +1,23 @@ +plugins { + id 'dev.clojurephant.clojure' version '0.6.0' + id 'maven-publish' +} + +group = 'net.clojars.myname' +version = '0.1.0-SNAPSHOT' + +repositories { + mavenCentral() + maven { + name = 'clojars' + url = 'https://repo.clojars.org' + } +} + +dependencies { + implementation 'org.clojure:clojure:1.10.0' + + testRuntimeOnly 'org.ajoberstar:jovial:0.3.0' + + devImplementation 'org.clojure:tools.namespace:1.0.0' +} From a80762f52ed6bff20ca3e1076103180bf26ff893 Mon Sep 17 00:00:00 2001 From: liquidz Date: Sat, 19 Jun 2021 06:59:41 +0900 Subject: [PATCH 02/16] Add test for gradle support #83 --- src/antq/dep/gradle.clj | 27 +++++++++++++++++---------- test/antq/dep/gradle_test.clj | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 test/antq/dep/gradle_test.clj diff --git a/src/antq/dep/gradle.clj b/src/antq/dep/gradle.clj index e22e2c22..2c58dc55 100644 --- a/src/antq/dep/gradle.clj +++ b/src/antq/dep/gradle.clj @@ -1,17 +1,22 @@ (ns antq.dep.gradle (:require + [antq.log :as log] [antq.record :as r] [antq.util.dep :as u.dep] [clojure.java.io :as io] [clojure.java.shell :as sh] [clojure.string :as str])) +(def gradle-command "gradle") (def ^:private project-file "build.gradle") (def ^:private dep-regexp #"^[^-]\-+\s") (defn- filter-deps-from-gradle-dependencies [file-path] - (let [{:keys [exit out]} (sh/sh "gradle" "--build-file" file-path "--quiet" "dependencies")] + (let [{:keys [exit out]} (sh/sh gradle-command + "--build-file" file-path + "--quiet" + "dependencies")] (if (= 0 exit) (->> (str/split-lines out) (filter seq) @@ -22,24 +27,24 @@ (throw (ex-info "Failed to run gradle" {:exit exit}))))) (defn- convert-grandle-dependency - "e.g. dep-str: 'org.clojure:clojure:1.10.0'" + "e.g. dep-str: 'org.clojure:clojure:1.10.0' + NOTE: Extracting repositories is not supported currently" [file-path dep-str] (let [[group-id artifact-id version] (str/split dep-str #":" 3)] (r/map->Dependency {:project :gradle :type :java :file file-path :name (str group-id "/" artifact-id) - :version version - #_#_:repositories repositories}))) + :version version}))) (defn extract-deps - [file-path] + [relative-file-path absolute-file-path] (try - (let [deps (filter-deps-from-gradle-dependencies file-path) - deps (map #(convert-grandle-dependency file-path %) deps)] + (let [deps (filter-deps-from-gradle-dependencies absolute-file-path) + deps (map #(convert-grandle-dependency relative-file-path %) deps)] deps) - (catch Exception _ - ;; FIXME + (catch Exception ex + (log/error (.getMessage ex)) nil))) (defn load-deps @@ -47,4 +52,6 @@ ([dir] (let [file (io/file dir project-file)] (when (.exists file) - (extract-deps (u.dep/relative-path file)))))) + (log/error "WARN: Custom repositories for Gradle are not supported currently.") + (extract-deps (u.dep/relative-path file) + (.getAbsolutePath file)))))) diff --git a/test/antq/dep/gradle_test.clj b/test/antq/dep/gradle_test.clj new file mode 100644 index 00000000..075c016a --- /dev/null +++ b/test/antq/dep/gradle_test.clj @@ -0,0 +1,33 @@ +(ns antq.dep.gradle-test + (:require + [antq.dep.gradle :as sut] + [antq.record :as r] + [clojure.java.io :as io] + [clojure.test :as t])) + +(def ^:private file-path + "path/to/build.gradle") + +(defn- java-dependency + [m] + (r/map->Dependency (merge {:project :gradle + :type :java + :file file-path} + m))) + +(t/deftest extract-deps-test + (let [deps (sut/extract-deps + file-path + (.getPath (io/resource "dep/build.gradle")))] + (t/is (= #{(java-dependency {:name "nrepl/nrepl" :version "0.6.0"}) + (java-dependency {:name "org.ajoberstar/jovial" :version "0.3.0"}) + (java-dependency {:name "org.clojure/tools.namespace" :version "1.0.0"}) + (java-dependency {:name "org.clojure/clojure" :version "1.10.0"})} + (set deps))))) + +(t/deftest extract-deps-command-error-test + (with-redefs [sut/gradle-command "__non-existing-command__"] + (let [deps (sut/extract-deps + file-path + (.getPath (io/resource "dep/build.gradle")))] + (t/is (nil? deps))))) From 4f17b7b6295d8f20eca49929e89660117fdbafb3 Mon Sep 17 00:00:00 2001 From: liquidz Date: Sun, 20 Jun 2021 06:56:48 +0900 Subject: [PATCH 03/16] Fix tests --- test/antq/dep/gradle_test.clj | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/antq/dep/gradle_test.clj b/test/antq/dep/gradle_test.clj index 075c016a..1db7cb18 100644 --- a/test/antq/dep/gradle_test.clj +++ b/test/antq/dep/gradle_test.clj @@ -18,12 +18,15 @@ (t/deftest extract-deps-test (let [deps (sut/extract-deps file-path - (.getPath (io/resource "dep/build.gradle")))] - (t/is (= #{(java-dependency {:name "nrepl/nrepl" :version "0.6.0"}) - (java-dependency {:name "org.ajoberstar/jovial" :version "0.3.0"}) - (java-dependency {:name "org.clojure/tools.namespace" :version "1.0.0"}) - (java-dependency {:name "org.clojure/clojure" :version "1.10.0"})} - (set deps))))) + (.getPath (io/resource "dep/build.gradle"))) + defined-deps #{(java-dependency {:name "org.ajoberstar/jovial" :version "0.3.0"}) + (java-dependency {:name "org.clojure/tools.namespace" :version "1.0.0"}) + (java-dependency {:name "org.clojure/clojure" :version "1.10.0"})} + actual-deps (set deps)] + ;; NOTE: Gradle on local additionally detects `nrepl/nrepl` + ;; And also, gradle on GitHub Actions additionally detects `org.clojure/java.classpath` + ;; So we check only dependencies which is explicitly defined in buld.gradle. + (t/is (every? #(contains? actual-deps %) defined-deps)))) (t/deftest extract-deps-command-error-test (with-redefs [sut/gradle-command "__non-existing-command__"] From 906d576d15c942566e105ca2fcce3662119a7c48 Mon Sep 17 00:00:00 2001 From: liquidz Date: Sun, 20 Jun 2021 08:10:24 +0900 Subject: [PATCH 04/16] Update readme --- README.adoc | 43 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/README.adoc b/README.adoc index 63c2aeb2..ff0b3179 100644 --- a/README.adoc +++ b/README.adoc @@ -18,13 +18,42 @@ If you'd like to use with 1.7.0 or earlier, please see link:./doc/clojure-1.7.ad == Supported files -* deps.edn (https://clojure.org/guides/deps_and_cli[Clojure CLI]) -* shadow-cljs.edn (http://shadow-cljs.org[Shadow-cljs]) -* project.clj (https://leiningen.org[Leiningen]) -* build.boot (https://boot-clj.com[Boot]) -* pom.xml (https://maven.apache.org[Maven]) -* .github/workflows/*.yml (https://github.com/features/actions[GitHub Actions]) -* bb.edn (https://book.babashka.org/index.html#_bb_edn[Babashka]) +|=== +| File | Tool/Service | Note + +| deps.edn +| https://clojure.org/guides/deps_and_cli[Clojure CLI] +| + +| shadow-cljs.edn +| http://shadow-cljs.org[Shadow-cljs] +| + +| project.clj +| https://leiningen.org[Leiningen] +| Provides 2 ways of program and plug-in. + +| build.boot +| https://boot-clj.com[Boot] +| + +| pom.xml +| https://maven.apache.org[Maven] +| + +| .github/workflows/*.yml +| https://github.com/features/actions[GitHub Actions] +| + +| bb.edn +| https://book.babashka.org/index.html#_bb_edn[Babashka] +| + +| build.gradle +| https://gradle.org[Gradle] +| Experimental. `gradle` command must be installed. + +|=== == Usage From bdb21210a42461c93f1f8639a92ed3ee23227ad9 Mon Sep 17 00:00:00 2001 From: liquidz Date: Fri, 25 Jun 2021 06:19:37 +0900 Subject: [PATCH 05/16] Update dep.gradle to support custom repositories #83 --- src/antq/dep/gradle.clj | 20 ++++++++++++++----- test/antq/dep/gradle_test.clj | 26 +++++++++++++++++++++---- test/resources/dep/build.gradle | 6 ++++++ test/resources/dep/build_no_repo.gradle | 23 ++++++++++++++++++++++ 4 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 test/resources/dep/build_no_repo.gradle diff --git a/src/antq/dep/gradle.clj b/src/antq/dep/gradle.clj index 2c58dc55..ba2ed017 100644 --- a/src/antq/dep/gradle.clj +++ b/src/antq/dep/gradle.clj @@ -11,6 +11,16 @@ (def ^:private project-file "build.gradle") (def ^:private dep-regexp #"^[^-]\-+\s") +(defn- get-repositories [file-path] + (let [{:keys [exit out]} (sh/sh gradle-command "--build-file" file-path + "antq_list_repositories")] + (when (= 0 exit) + (->> (str/split-lines out) + (filter #(str/starts-with? % "ANTQ;")) + (map #(str/split % #";" 3)) + (reduce (fn [accm [_ repo-name url]] + (assoc accm repo-name {:url url})) {}))))) + (defn- filter-deps-from-gradle-dependencies [file-path] (let [{:keys [exit out]} (sh/sh gradle-command @@ -27,8 +37,7 @@ (throw (ex-info "Failed to run gradle" {:exit exit}))))) (defn- convert-grandle-dependency - "e.g. dep-str: 'org.clojure:clojure:1.10.0' - NOTE: Extracting repositories is not supported currently" + "e.g. dep-str: 'org.clojure:clojure:1.10.0'" [file-path dep-str] (let [[group-id artifact-id version] (str/split dep-str #":" 3)] (r/map->Dependency {:project :gradle @@ -40,8 +49,10 @@ (defn extract-deps [relative-file-path absolute-file-path] (try - (let [deps (filter-deps-from-gradle-dependencies absolute-file-path) - deps (map #(convert-grandle-dependency relative-file-path %) deps)] + (let [repos (get-repositories absolute-file-path) + deps (filter-deps-from-gradle-dependencies absolute-file-path) + deps (map #(convert-grandle-dependency relative-file-path %) deps) + deps (map #(assoc % :repositories repos) deps)] deps) (catch Exception ex (log/error (.getMessage ex)) @@ -52,6 +63,5 @@ ([dir] (let [file (io/file dir project-file)] (when (.exists file) - (log/error "WARN: Custom repositories for Gradle are not supported currently.") (extract-deps (u.dep/relative-path file) (.getAbsolutePath file)))))) diff --git a/test/antq/dep/gradle_test.clj b/test/antq/dep/gradle_test.clj index 1db7cb18..1dc8f63e 100644 --- a/test/antq/dep/gradle_test.clj +++ b/test/antq/dep/gradle_test.clj @@ -8,26 +8,44 @@ (def ^:private file-path "path/to/build.gradle") +(def ^:private expected-repos + {"MavenRepo" {:url "https://repo.maven.apache.org/maven2/"} + "clojars" {:url "https://repo.clojars.org"}}) + (defn- java-dependency [m] (r/map->Dependency (merge {:project :gradle :type :java - :file file-path} + :file file-path + :repositories expected-repos} m))) +(def ^:private defined-deps + [(java-dependency {:name "org.ajoberstar/jovial" :version "0.3.0"}) + (java-dependency {:name "org.clojure/tools.namespace" :version "1.0.0"}) + (java-dependency {:name "org.clojure/clojure" :version "1.10.0"})]) + (t/deftest extract-deps-test (let [deps (sut/extract-deps file-path (.getPath (io/resource "dep/build.gradle"))) - defined-deps #{(java-dependency {:name "org.ajoberstar/jovial" :version "0.3.0"}) - (java-dependency {:name "org.clojure/tools.namespace" :version "1.0.0"}) - (java-dependency {:name "org.clojure/clojure" :version "1.10.0"})} + defined-deps (set defined-deps) actual-deps (set deps)] ;; NOTE: Gradle on local additionally detects `nrepl/nrepl` ;; And also, gradle on GitHub Actions additionally detects `org.clojure/java.classpath` ;; So we check only dependencies which is explicitly defined in buld.gradle. (t/is (every? #(contains? actual-deps %) defined-deps)))) +(t/deftest extract-deps-without-repositories-test + (let [deps (sut/extract-deps + file-path + (.getPath (io/resource "dep/build_no_repo.gradle"))) + defined-deps (->> defined-deps + (map #(assoc % :repositories nil)) + (set)) + actual-deps (set deps)] + (t/is (every? #(contains? actual-deps %) defined-deps)))) + (t/deftest extract-deps-command-error-test (with-redefs [sut/gradle-command "__non-existing-command__"] (let [deps (sut/extract-deps diff --git a/test/resources/dep/build.gradle b/test/resources/dep/build.gradle index 33402587..e724fe71 100644 --- a/test/resources/dep/build.gradle +++ b/test/resources/dep/build.gradle @@ -21,3 +21,9 @@ dependencies { devImplementation 'org.clojure:tools.namespace:1.0.0' } + +task antq_list_repositories { + doLast { + project.repositories.each { println "ANTQ;" + it.name + ";" + it.url } + } +} diff --git a/test/resources/dep/build_no_repo.gradle b/test/resources/dep/build_no_repo.gradle new file mode 100644 index 00000000..33402587 --- /dev/null +++ b/test/resources/dep/build_no_repo.gradle @@ -0,0 +1,23 @@ +plugins { + id 'dev.clojurephant.clojure' version '0.6.0' + id 'maven-publish' +} + +group = 'net.clojars.myname' +version = '0.1.0-SNAPSHOT' + +repositories { + mavenCentral() + maven { + name = 'clojars' + url = 'https://repo.clojars.org' + } +} + +dependencies { + implementation 'org.clojure:clojure:1.10.0' + + testRuntimeOnly 'org.ajoberstar:jovial:0.3.0' + + devImplementation 'org.clojure:tools.namespace:1.0.0' +} From 561b40687ce49d595cb9518de35100a6ec3d240e Mon Sep 17 00:00:00 2001 From: liquidz Date: Fri, 25 Jun 2021 06:32:08 +0900 Subject: [PATCH 06/16] Fix style --- .cljstyle | 3 ++- src/antq/dep/gradle.clj | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.cljstyle b/.cljstyle index fc5f1585..35b6b7cb 100644 --- a/.cljstyle +++ b/.cljstyle @@ -1,5 +1,6 @@ {:rules {:indentation {:list-indent 1} :blank-lines {:insert-padding? false} :types {:enabled? false} - :namespaces {:indent-size 1}}} + :namespaces {:indent-size 1}} + :files {:ignore #{"target"}}} ; vim:ft=clojure diff --git a/src/antq/dep/gradle.clj b/src/antq/dep/gradle.clj index ba2ed017..009d2418 100644 --- a/src/antq/dep/gradle.clj +++ b/src/antq/dep/gradle.clj @@ -11,7 +11,8 @@ (def ^:private project-file "build.gradle") (def ^:private dep-regexp #"^[^-]\-+\s") -(defn- get-repositories [file-path] +(defn- get-repositories + [file-path] (let [{:keys [exit out]} (sh/sh gradle-command "--build-file" file-path "antq_list_repositories")] (when (= 0 exit) From 2f6101c2051623213628402c701284c8049e49f7 Mon Sep 17 00:00:00 2001 From: liquidz Date: Sat, 26 Jun 2021 07:01:14 +0900 Subject: [PATCH 07/16] Tweak test resource for gradle support #83 --- test/resources/dep/build.gradle | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/test/resources/dep/build.gradle b/test/resources/dep/build.gradle index e724fe71..6c39c39e 100644 --- a/test/resources/dep/build.gradle +++ b/test/resources/dep/build.gradle @@ -1,11 +1,7 @@ plugins { - id 'dev.clojurephant.clojure' version '0.6.0' - id 'maven-publish' + id 'java-library' } -group = 'net.clojars.myname' -version = '0.1.0-SNAPSHOT' - repositories { mavenCentral() maven { @@ -19,7 +15,7 @@ dependencies { testRuntimeOnly 'org.ajoberstar:jovial:0.3.0' - devImplementation 'org.clojure:tools.namespace:1.0.0' + testImplementation 'org.clojure:tools.namespace:1.0.0' } task antq_list_repositories { From 3e2c7f4462a83e0cf4935fc0c86d898f91a2a217 Mon Sep 17 00:00:00 2001 From: liquidz Date: Sat, 26 Jun 2021 07:02:28 +0900 Subject: [PATCH 08/16] Add document for setting up Gradle #83 --- README.adoc | 6 ++++++ doc/gradle.adoc | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+) create mode 100644 doc/gradle.adoc diff --git a/README.adoc b/README.adoc index ff0b3179..d804a2b7 100644 --- a/README.adoc +++ b/README.adoc @@ -118,6 +118,11 @@ In another way, you can use the following action. * https://github.com/liquidz/antq-action +=== Gradle + +Antq experimentally supports https://gradle.org[Gradle]. +See link:./doc/gradle.adoc[here] for details. + == Options === --upgrade Upgrade outdated versions interactively. @@ -236,6 +241,7 @@ When you use `--error-format` option, this reporter will be used automatically. * link:./doc/avoid-slf4j-warnings.adoc[Avoid SLF4J warnings] * link:./doc/latest-version-of-a-specific-library.adoc[Latest version of a specific library] * link:./doc/clojure-1.7.adoc[Antq with Clojure 1.7.0 or earlier] +* link:./doc/gradle.adoc[Work with Gradle] == License diff --git a/doc/gradle.adoc b/doc/gradle.adoc new file mode 100644 index 00000000..31e711b5 --- /dev/null +++ b/doc/gradle.adoc @@ -0,0 +1,48 @@ += Work with Gradle + +WARNING: Gradle support is experimental + +== Requirements + +* `gradle` command must be installed. +** antq alone does not work. + +== build.gradle + +To work with gradle, you should update your `build.gradle` as following. + +[source,build.gradle] +---- +plugins { + id 'java-library' +} + +repositories { + mavenCentral() + maven { + name = 'clojars' + url = 'https://repo.clojars.org' + } +} + +dependencies { + runtimeOnly 'org.clojure:clojure:1.10.3' + runtimeOnly 'com.github.liquidz:antq:latest.release' +} + +// OPTIONAL: Used to support detecting repositories +task antq_list_repositories { + doLast { + project.repositories.each { println "ANTQ;" + it.name + ";" + it.url } + } +} + +// Main task to run antq +task outdated(type: JavaExec) { + classpath = sourceSets.main.runtimeClasspath + mainClass = "clojure.main" + args = ['-m', 'antq.core'] +} +---- + +Then, run `gradle outdated`. From 0e22d9faa7c3688384d9cc3f6e8293c20084c19d Mon Sep 17 00:00:00 2001 From: liquidz Date: Sun, 11 Jul 2021 07:12:46 +0900 Subject: [PATCH 09/16] Fix to use depstar v2.1.245 for now --- .github/workflows/dependencies.yml | 2 +- deps.edn | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index 34c7e301..7c8677be 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -10,4 +10,4 @@ jobs: - uses: actions/checkout@v2 - uses: liquidz/antq-action@v1 with: - excludes: 'clojure/brew-install' + excludes: 'clojure/brew-install com.github.seancorfield/depstar' diff --git a/deps.edn b/deps.edn index c1690338..e7384632 100644 --- a/deps.edn +++ b/deps.edn @@ -36,12 +36,12 @@ :main-opts ["-m" "cloverage.coverage" "--ns-exclude-regex" "leiningen.antq"]} :depstar - {:extra-deps {com.github.seancorfield/depstar {:mvn/version "RELEASE"}} + {:extra-deps {com.github.seancorfield/depstar {:mvn/version "2.1.245"}} :ns-default hf.depstar :exec-args {}} :deploy - {:extra-deps {slipset/deps-deploy {;:mvn/version "RELEASE" + {:extra-deps {slipset/deps-deploy {;; :mvn/version "RELEASE" :git/url "https://github.com/slipset/deps-deploy" :sha "b4359c5d67ca002d9ed0c4b41b710d7e5a82e3bf"}} :exec-fn deps-deploy.deps-deploy/deploy From 41813d49b69c20902c3a9e82d960b35946f9f817 Mon Sep 17 00:00:00 2001 From: liquidz Date: Sun, 11 Jul 2021 07:15:09 +0900 Subject: [PATCH 10/16] Fix gradle deps extractor to ignore 'unspecified' deps #83 --- src/antq/dep/gradle.clj | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/antq/dep/gradle.clj b/src/antq/dep/gradle.clj index 009d2418..4e4e0ee8 100644 --- a/src/antq/dep/gradle.clj +++ b/src/antq/dep/gradle.clj @@ -41,18 +41,19 @@ "e.g. dep-str: 'org.clojure:clojure:1.10.0'" [file-path dep-str] (let [[group-id artifact-id version] (str/split dep-str #":" 3)] - (r/map->Dependency {:project :gradle - :type :java - :file file-path - :name (str group-id "/" artifact-id) - :version version}))) + (when (and group-id artifact-id version) + (r/map->Dependency {:project :gradle + :type :java + :file file-path + :name (str group-id "/" artifact-id) + :version version})))) (defn extract-deps [relative-file-path absolute-file-path] (try (let [repos (get-repositories absolute-file-path) deps (filter-deps-from-gradle-dependencies absolute-file-path) - deps (map #(convert-grandle-dependency relative-file-path %) deps) + deps (keep #(convert-grandle-dependency relative-file-path %) deps) deps (map #(assoc % :repositories repos) deps)] deps) (catch Exception ex From 7d8387ce3ecd435594f830ef2cf80e4381b03222 Mon Sep 17 00:00:00 2001 From: liquidz Date: Sun, 11 Jul 2021 07:34:20 +0900 Subject: [PATCH 11/16] Tweak test flow --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8727b284..5517e5f2 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ outdated: .PHONY: test test: install # NOTE: kaocha does not support Clojure 1.8 - clojure -M:outdated:nop:1.8 --exclude=clojure/brew-install + clojure -M:outdated:nop:1.8 --exclude=clojure/brew-install --exclude=org.clojure/tools.deps.alpha --exclude=com.github.seancorfield/depstar --exclude=lambdaisland/kaocha clojure -M:dev:1.9:test clojure -M:dev:test script/integration_test.sh From 1e9d9d019232020590ecc03748e3e74509974f2d Mon Sep 17 00:00:00 2001 From: liquidz Date: Mon, 12 Jul 2021 05:16:06 +0900 Subject: [PATCH 12/16] Bump tools.deps.alpha to 0.12.985 --- deps.edn | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deps.edn b/deps.edn index e7384632..4848926b 100644 --- a/deps.edn +++ b/deps.edn @@ -4,7 +4,7 @@ org.clojure/data.xml {:mvn/version "0.2.0-alpha6"} org.clojure/data.zip {:mvn/version "1.0.0"} org.clojure/tools.cli {:mvn/version "1.0.206"} - org.clojure/tools.deps.alpha {:mvn/version "0.11.935"} + org.clojure/tools.deps.alpha {:mvn/version "0.12.985"} cheshire/cheshire {:mvn/version "5.10.0"} clj-commons/clj-yaml {:mvn/version "0.7.106"} version-clj/version-clj {:mvn/version "2.0.1"} diff --git a/pom.xml b/pom.xml index bb0c52c7..6af20581 100644 --- a/pom.xml +++ b/pom.xml @@ -42,7 +42,7 @@ org.clojure tools.deps.alpha - 0.11.935 + 0.12.985 org.clojure From 929dd2e77501b51a5a065570c1a2ad69b53b5df9 Mon Sep 17 00:00:00 2001 From: liquidz Date: Wed, 14 Jul 2021 06:13:00 +0900 Subject: [PATCH 13/16] Bump cheshire to 5.10.1 --- deps.edn | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deps.edn b/deps.edn index 4848926b..c9364dee 100644 --- a/deps.edn +++ b/deps.edn @@ -5,7 +5,7 @@ org.clojure/data.zip {:mvn/version "1.0.0"} org.clojure/tools.cli {:mvn/version "1.0.206"} org.clojure/tools.deps.alpha {:mvn/version "0.12.985"} - cheshire/cheshire {:mvn/version "5.10.0"} + cheshire/cheshire {:mvn/version "5.10.1"} clj-commons/clj-yaml {:mvn/version "0.7.106"} version-clj/version-clj {:mvn/version "2.0.1"} rewrite-clj/rewrite-clj {:mvn/version "1.0.644-alpha"}} diff --git a/pom.xml b/pom.xml index 6af20581..3c08bea5 100644 --- a/pom.xml +++ b/pom.xml @@ -57,7 +57,7 @@ cheshire cheshire - 5.10.0 + 5.10.1 version-clj From 15a098a574e8e08b054c1320707ef7b7f6c809ba Mon Sep 17 00:00:00 2001 From: liquidz Date: Wed, 14 Jul 2021 06:17:15 +0900 Subject: [PATCH 14/16] Fix to use the latest depstar --- .github/workflows/dependencies.yml | 2 +- Makefile | 2 +- deps.edn | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index 7c8677be..34c7e301 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -10,4 +10,4 @@ jobs: - uses: actions/checkout@v2 - uses: liquidz/antq-action@v1 with: - excludes: 'clojure/brew-install com.github.seancorfield/depstar' + excludes: 'clojure/brew-install' diff --git a/Makefile b/Makefile index 5517e5f2..9ea55378 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,7 @@ outdated: .PHONY: test test: install # NOTE: kaocha does not support Clojure 1.8 - clojure -M:outdated:nop:1.8 --exclude=clojure/brew-install --exclude=org.clojure/tools.deps.alpha --exclude=com.github.seancorfield/depstar --exclude=lambdaisland/kaocha + clojure -M:outdated:nop:1.8 --exclude=clojure/brew-install --exclude=org.clojure/tools.deps.alpha --exclude=lambdaisland/kaocha clojure -M:dev:1.9:test clojure -M:dev:test script/integration_test.sh diff --git a/deps.edn b/deps.edn index c9364dee..c70dff9b 100644 --- a/deps.edn +++ b/deps.edn @@ -36,7 +36,7 @@ :main-opts ["-m" "cloverage.coverage" "--ns-exclude-regex" "leiningen.antq"]} :depstar - {:extra-deps {com.github.seancorfield/depstar {:mvn/version "2.1.245"}} + {:extra-deps {com.github.seancorfield/depstar {:mvn/version "RELEASE"}} :ns-default hf.depstar :exec-args {}} From 160c8b2b6f89f54463d672446146b3843d042ee6 Mon Sep 17 00:00:00 2001 From: liquidz Date: Wed, 14 Jul 2021 06:21:09 +0900 Subject: [PATCH 15/16] Update changelog --- CHANGELOG.adoc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 2fe031e0..05773d17 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -2,8 +2,13 @@ All notable changes to this project will be documented in this file. This change == Unreleased (dev) // {{{ +=== Added +* https://github.com/liquidz/antq/issues/83[#83]: Added support for https://gradle.org[Gradle] experimentally. +** See details: link:./doc/gradle.adoc[Work with Gradle] + === Changed -* Bumped tools.deps.alpha to 0.11.935. +* Bumped tools.deps.alpha to 0.12.985. +* Bumped cheshire to 5.10.1. // }}} == 0.15.3 (2021-06-17) From 2a2439b15663f668932377ad07ea2e195e919fe0 Mon Sep 17 00:00:00 2001 From: liquidz Date: Wed, 14 Jul 2021 06:26:51 +0900 Subject: [PATCH 16/16] ver 0.16.0 --- CHANGELOG.adoc | 2 ++ pom.xml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 05773d17..70196215 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -1,6 +1,8 @@ All notable changes to this project will be documented in this file. This change log follows the conventions of http://keepachangelog.com/[keepachangelog.com]. == Unreleased (dev) + +== 0.16.0 (2021-07-14) // {{{ === Added * https://github.com/liquidz/antq/issues/83[#83]: Added support for https://gradle.org[Gradle] experimentally. diff --git a/pom.xml b/pom.xml index 3c08bea5..db843009 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 com.github.liquidz antq - 0.15.3 + 0.16.0 antq Point out your outdated dependencies https://github.com/liquidz/antq