diff --git a/.circleci/config.yml b/.circleci/config.yml index be4e6784..b90352e9 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,7 +5,7 @@ jobs: lint: docker: - - image: circleci/clojure:openjdk-11-tools-deps-1.10.1.697-node + - image: cimg/clojure:1.11.1-openjdk-11.0-node working_directory: ~/repo @@ -15,7 +15,7 @@ jobs: - restore_cache: # restores saved cache if checksum hasn't changed since the last run key: clj-dependencies-{{ checksum "deps.edn" }} - - run: clojure -Mlint + - run: clojure -M:lint - save_cache: # generate and store cache in the .m2 directory using a key template paths: @@ -51,7 +51,7 @@ jobs: test-linux-clj-jdk8: docker: - - image: circleci/clojure:openjdk-8-tools-deps-1.10.1.697-node + - image: cimg/clojure:1.11.1-openjdk-8.0-node working_directory: ~/repo @@ -61,10 +61,10 @@ jobs: - restore_cache: # restores saved cache if checksum hasn't changed since the last run key: clj-dependencies-{{ checksum "deps.edn" }} - - run: sudo apt-get -y install bc + - run: sudo apt-get update && sudo apt-get install -y bc # run tests - - run: CI_ENV=1 clojure -Mtest -m cognitect.test-runner + - run: CI_ENV=1 clojure -X:test:run/test - save_cache: # generate and store cache in the .m2 directory using a key template paths: @@ -74,7 +74,7 @@ jobs: test-linux-clj-sci-jdk8: docker: - - image: circleci/clojure:openjdk-8-tools-deps-1.10.1.697-node + - image: cimg/clojure:1.11.1-openjdk-8.0-node working_directory: ~/repo @@ -84,10 +84,10 @@ jobs: - restore_cache: # restores saved cache if checksum hasn't changed since the last run key: clj-sci-dependencies-{{ checksum "deps.edn" }} - - run: sudo apt-get -y install bc + - run: sudo apt-get update && sudo apt-get install -y bc # run tests - - run: env CI_ENV=1 __CLOSH_USE_SCI_EVAL__=1 clojure -M:sci:test -m cognitect.test-runner + - run: env CI_ENV=1 __CLOSH_USE_SCI_EVAL__=1 clojure -X:sci:test:run/test - save_cache: # generate and store cache in the .m2 directory using a key template paths: @@ -97,7 +97,7 @@ jobs: test-linux-clj-jdk11: docker: - - image: circleci/clojure:openjdk-11-tools-deps-1.10.1.697-node + - image: cimg/clojure:1.11.1-openjdk-11.0-node working_directory: ~/repo @@ -107,10 +107,10 @@ jobs: - restore_cache: # restores saved cache if checksum hasn't changed since the last run key: clj-jdk11-dependencies-{{ checksum "deps.edn" }} - - run: sudo apt-get -y install bc + - run: sudo apt-get update && sudo apt-get install -y bc # run tests - - run: CI_ENV=1 clojure -Mtest -m cognitect.test-runner + - run: CI_ENV=1 clojure -X:test:run/test - save_cache: # generate and store cache in the .m2 directory using a key template paths: @@ -120,7 +120,7 @@ jobs: test-linux-clj-sci-jdk11: docker: - - image: circleci/clojure:openjdk-11-tools-deps-1.10.1.697-node + - image: cimg/clojure:1.11.1-openjdk-11.0-node working_directory: ~/repo @@ -130,10 +130,10 @@ jobs: - restore_cache: # restores saved cache if checksum hasn't changed since the last run key: clj-jdk11-sci-dependencies-{{ checksum "deps.edn" }} - - run: sudo apt-get -y install bc + - run: sudo apt-get update && sudo apt-get install -y bc # run tests - - run: CI_ENV=1 __CLOSH_USE_SCI_EVAL__=1 clojure -M:sci:test -m cognitect.test-runner + - run: CI_ENV=1 __CLOSH_USE_SCI_EVAL__=1 clojure -X:sci:test:run/test - save_cache: # generate and store cache in the .m2 directory using a key template paths: @@ -143,7 +143,7 @@ jobs: test-macos-cljs: macos: - xcode: "11.3.1" + xcode: "13.4.1" working_directory: /Users/distiller/project @@ -169,7 +169,7 @@ jobs: test-macos-clj: macos: - xcode: "11.3.1" + xcode: "13.4.1" working_directory: /Users/distiller/project @@ -184,7 +184,7 @@ jobs: - run: brew install clojure bc # run tests - - run: CI_ENV=1 clojure -Mtest -m cognitect.test-runner + - run: CI_ENV=1 clojure -X:test:run/test - save_cache: paths: @@ -194,7 +194,7 @@ jobs: test-macos-clj-sci: macos: - xcode: "11.3.1" + xcode: "13.4.1" working_directory: /Users/distiller/project @@ -209,7 +209,7 @@ jobs: - run: brew install clojure bc # run tests - - run: CI_ENV=1 __CLOSH_USE_SCI_EVAL__=1 clojure -M:sci:test -m cognitect.test-runner + - run: CI_ENV=1 __CLOSH_USE_SCI_EVAL__=1 clojure -X:sci:test:run/test - save_cache: paths: @@ -222,11 +222,11 @@ workflows: test: jobs: - lint - - test-linux-cljs +# - test-linux-cljs - test-linux-clj-jdk8 - test-linux-clj-jdk11 - test-linux-clj-sci-jdk8 - test-linux-clj-sci-jdk11 - - test-macos-cljs +# - test-macos-cljs - test-macos-clj - test-macos-clj-sci diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f6c9889..004039a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,18 +3,35 @@ ## [master](https://github.com/dundalek/closh/compare/v0.5.0...master) (unreleased) ### New features + +- Upgrade org.xerial/sqlite-jdbc to 3.40.0.0, which provides Apple M1 compatibility + ### Fixes + ### Other changes -## [0.5.0](https://github.com/dundalek/closh/compare/v0.4.1...v0.5.0) (2020-06-01) +- Upgrade org.clojure/java.jdbc to 0.7.12 +- Upgrade org.clojure/data.json to 2.4.0, because it's a lot faster +- Upgrade cljfmt to 0.9.0 +- Upgrade Clojure to 1.11.1 +- Upgrade org.clojure/tools.cli to 1.0.214 +- Upgrade org.clojure/tools.reader to 1.3.6 +- Upgrade SCI to 0.5.36, addressing https://github.com/dundalek/closh/issues/184 +- Upgrade Cognitect test runner to v0.5.1 git tag +- Upgrade kaocha to 1.71.1119 +- Upgrade com.cemerick/pomegranate to 1.2.1 +- Upgrade depstar to 2.1.303 +## [0.5.0](https://github.com/dundalek/closh/compare/v0.4.1...v0.5.0) (2020-06-01) ### New features - JVM version: Improved history storage in (stores it in sqlite db same as the lumo version) -- JVM version: Implemented alias expansion by [@djblue](https://github.com/djblue) ([#150](https://github.com/dundalek/closh/pull/150)) +- JVM version: Implemented alias expansion + by [@djblue](https://github.com/djblue) ([#150](https://github.com/dundalek/closh/pull/150)) - JVM version: Make abbreviations work (by treating them as same as aliases for now) -- Add support for `cd -` go to previous directory by [@kirillsalykin](https://github.com/kirillsalykin) ([#167](https://github.com/dundalek/closh/pull/167)) +- Add support for `cd -` go to previous directory + by [@kirillsalykin](https://github.com/kirillsalykin) ([#167](https://github.com/dundalek/closh/pull/167)) ### Fixes diff --git a/README.md b/README.md index f1020611..651513d9 100644 --- a/README.md +++ b/README.md @@ -204,15 +204,29 @@ clojure -m closh.zero.frontend.rebel ``` Run tests once + ``` npm run test ``` Re-run tests on change + ``` npm run test-auto ``` +Run tests via [Cognitect test runner](https://github.com/cognitect-labs/test-runner) + +```shell +clojure -X:test:run/test +``` + +Run tests via [Kaocha](https://github.com/lambdaisland/kaocha) + +```shell +clojure -X:kaocha:run/kaocha +``` + ### Manual Java builds Run `npm run pkg-java`. The resulting binary will be in `target/closh-zero.jar`. diff --git a/deps.edn b/deps.edn index f647e72e..49dbc848 100644 --- a/deps.edn +++ b/deps.edn @@ -1,40 +1,86 @@ {:deps - {org.clojure/clojure {:mvn/version "1.10.2-alpha2"} - org.clojure/tools.reader {:mvn/version "1.3.2"} - org.clojure/data.json {:mvn/version "0.2.6"} - com.cemerick/pomegranate {:mvn/version "1.1.0"} - org.clojure/tools.cli {:mvn/version "0.4.1"} - org.clojure/java.jdbc {:mvn/version "0.7.9"} - org.xerial/sqlite-jdbc {:mvn/version "3.27.2.1"} - squarepeg/squarepeg {:mvn/version "0.6.1"} - com.bhauman/rebel-readline {:mvn/version "0.1.4" - :exclusions [rewrite-cljs/rewrite-cljs]}} + {org.clojure/clojure + {:mvn/version "1.11.1" + :changelog "https://github.com/clojure/clojure/blob/master/changes.md"} + + org.clojure/tools.reader + {:mvn/version "1.3.6" + :changelog "https://github.com/clojure/tools.reader/blob/master/CHANGELOG.md"} + + org.clojure/data.json + {:mvn/version "2.4.0" + :changelog "https://github.com/clojure/data.json#change-log"} + + clj-commons/pomegranate + {:mvn/version "1.2.1" + :changelog "https://github.com/clj-commons/pomegranate/blob/master/CHANGES.md"} + + org.clojure/tools.cli + {:mvn/version "1.0.214" + :changelog "https://github.com/clojure/tools.cli/blob/master/CHANGELOG.md"} + + org.clojure/java.jdbc + {:mvn/version "0.7.12" + :changelog "https://github.com/clojure/java.jdbc/blob/master/CHANGES.md"} + + org.xerial/sqlite-jdbc + {:mvn/version "3.40.0.0" + :changelog "https://github.com/xerial/sqlite-jdbc/releases"} + + squarepeg/squarepeg + {:mvn/version "0.6.1" + :changelog "https://github.com/ericnormand/squarepeg/tags"} + + com.bhauman/rebel-readline + {:mvn/version "0.1.4" + :exclusions [rewrite-cljs/rewrite-cljs]}} :paths ["src/common" "src/jvm" "resources"] :aliases - {:test {:extra-paths ["test"] - :extra-deps {com.cognitect/test-runner - {:git/url "https://github.com/cognitect-labs/test-runner.git" - :sha "cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b"}}} - - :depstar {:extra-deps {seancorfield/depstar {:mvn/version "1.1.117"}}} - - :sci {:extra-paths ["src/closh-sci" "classes"] - :extra-deps {fipp/fipp {:mvn/version "0.6.22"} - borkdude/sci {:mvn/version "0.1.0"} - borkdude/edamame {:mvn/version "0.0.10"} - com.bhauman/rebel-readline - {:git/url "https://github.com/dundalek/rebel-readline.git" - :sha "123be27a75de902233356e11ac66ac53cc5edc08" - :deps/root "rebel-readline" - :exclusions [rewrite-cljs/rewrite-cljs]}}} - - :lint {:extra-deps {cljfmt/cljfmt {:mvn/version "0.7.0"}} - :main-opts ["-m" "cljfmt.main" "--file-pattern" "(?> (:stderr (process-value cmd)) - (re-find regex) - (second))) + (are [result regex cmd] + (= result (->> (:stderr (process-value cmd)) + (re-find regex) + (second))) - "5:3" - #"/throw1\.cljc:(\d+:\d+)" + "5" + #"throw1\.cljc:(\d+)" (closh "fixtures/script-mode-tests/throw1.cljc") - "4:2" - #"Syntax error compiling at \(REPL:(\d+:\d+)\)" + "4" + #"Execution error at user/eval\d+ \(REPL:(\d+)\)" (pipe "\n\n\n (throw (Exception. \"my exception message\"))" (closh "-")) ; TODO @@ -77,14 +79,15 @@ ; #"Syntax error \(ExceptionInfo\) compiling at \(REPL:(\d+:\d+)\)") ; (pipe "\n )" (closh "-")) - "5:1" - #"/throw2\.cljc:(\d+:\d+)" + "2" + #"Execution error at user/eval\d+\$my-throw \(throw2\.cljc:(\d+)\)" (closh "fixtures/script-mode-tests/throw2.cljc") "3" #"Execution error at .* \(REPL:(\d+)\)" - (closh "-e" "\n\n(throw (Exception. \"my exception message\"))")))) + (closh "-e" "\n\n(throw (Exception. \"my exception message\"))") - ; "2" - ; #"Execution error at .* \(REPL:(\d+)\)" - ; (closh "-e" "\n )"))) + ; "2" + ; #"Execution error at .* \(REPL:(\d+)\)" + ; (closh "-e" "\n )") + )))