diff --git a/.circleci/script/docker b/.circleci/script/docker index 712dbc5b..3bb446b2 100755 --- a/.circleci/script/docker +++ b/.circleci/script/docker @@ -2,7 +2,7 @@ set -eo pipefail -image_name="borkdude/babashka" +image_name="babashka/babashka" image_tag=$(cat resources/BABASHKA_VERSION) latest_tag="latest" diff --git a/.github/script/docker b/.github/script/docker index f5d2bffc..7a1a730d 100755 --- a/.github/script/docker +++ b/.github/script/docker @@ -2,7 +2,7 @@ set -eo pipefail -image_name="borkdude/babashka" +image_name="babashka/babashka" image_tag=$(cat resources/BABASHKA_VERSION) latest_tag="latest" diff --git a/CHANGELOG.md b/CHANGELOG.md index 2effb34e..343e2a85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,15 +14,15 @@ For a list of breaking changes, check [here](#breaking-changes). - Implement [pod registry](https://github.com/babashka/pod-registry) to automatically obtain pods when used in - script. [#690](https://github.com/borkdude/babashka/issues/690) -- [Buddy pod](https://github.com/babashka/pod-babashka-buddy) [#656](https://github.com/borkdude/babashka/issues/656) + script. [#690](https://github.com/babashka/babashka/issues/690) +- [Buddy pod](https://github.com/babashka/pod-babashka-buddy) [#656](https://github.com/babashka/babashka/issues/656) - [Etaoin pod 0.0.1 release](https://github.com/babashka/pod-babashka-etaoin) - [Filewatcher pod 0.0.1 release](https://github.com/babashka/pod-babashka-filewatcher) - [Fswatcher pod](https://github.com/babashka/pod-babashka-fswatcher) ([@lispyclouds](https://github.com/lispyclouds)) ### Fixed / enhanced -- Auto-resolved map fix [#684](https://github.com/borkdude/babashka/issues/684) +- Auto-resolved map fix [#684](https://github.com/babashka/babashka/issues/684) - Handle whitespace after read-cond splice - Several performance improvements @@ -40,21 +40,21 @@ integration](https://clojure.org/guides/deps_and_cli). See ### New - Add `get-classpath` and `split-classpath` to `babashka.classpath` - namespace. [#670](https://github.com/borkdude/babashka/issues/670). See + namespace. [#670](https://github.com/babashka/babashka/issues/670). See [docs](https://book.babashka.org/#babashka_classpath). - Expose `add-deps` in `babashka.deps` - [#677](https://github.com/borkdude/babashka/issues/677). See + [#677](https://github.com/babashka/babashka/issues/677). See [docs](https://book.babashka.org/#_add_deps). - Expose `clojure` in `babashka.deps` - [#678](https://github.com/borkdude/babashka/issues/678). See + [#678](https://github.com/babashka/babashka/issues/678). See [docs](https://book.babashka.org/#_clojure). - Implement `--clojure` option to invoke a JVM clojure process similar to the official Clojure CLI. See [docs](https://book.babashka.org/#_invoking_clojure). ### Fixed / enhanced -- Add syntax checks to `binding` macro [#666](https://github.com/borkdude/babashka/issues/666) -- Upgrade to GraalVM 20.3.0 [#653](https://github.com/borkdude/babashka/issues/653) +- Add syntax checks to `binding` macro [#666](https://github.com/babashka/babashka/issues/666) +- Upgrade to GraalVM 20.3.0 [#653](https://github.com/babashka/babashka/issues/653) ## v0.2.4 @@ -67,24 +67,24 @@ and code contributions. Thanks to sponsors on ### New - pREPL implementation - [#664](https://github.com/borkdude/babashka/issues/664). See - [docs](https://github.com/borkdude/babashka/blob/master/doc/repl.md#prepl). + [#664](https://github.com/babashka/babashka/issues/664). See + [docs](https://github.com/babashka/babashka/blob/master/doc/repl.md#prepl). The pREPL is used by NextJournal to expose a babashka [notebook environment](http://nextjournal.com/try/babashka?cm6=1). - [News page](doc/news.md) where you can follow the latest developments around babashka. -- Expose `pprint/simple-dispatch` [#627](https://github.com/borkdude/babashka/issues/627) +- Expose `pprint/simple-dispatch` [#627](https://github.com/babashka/babashka/issues/627) - Support nested libspecs [borkdude/sci#399](https://github.com/borkdude/sci/issues/399) -- Add OracleDB feature flag [#638](https://github.com/borkdude/babashka/issues/638) ([@holyjak](https://github.com/holyjak)) -- Docker build documentation improvements [#643](https://github.com/borkdude/babashka/issues/643) ([@holyjak](https://github.com/holyjak)) +- Add OracleDB feature flag [#638](https://github.com/babashka/babashka/issues/638) ([@holyjak](https://github.com/holyjak)) +- Docker build documentation improvements [#643](https://github.com/babashka/babashka/issues/643) ([@holyjak](https://github.com/holyjak)) - Implement `get-thread-bindings`, `var-get` and `var-set` - Print used port when starting nREPL server ([@plexus](https://github.com/plexus)) ### Fixed / enhanced -- Can't call symbol literal as function [#622](https://github.com/borkdude/babashka/issues/622) +- Can't call symbol literal as function [#622](https://github.com/babashka/babashka/issues/622) - `:or` in destructuring broken for `false` case - Support aliases in protocol fns [borkdude/sci#440](https://github.com/borkdude/sci/issues/440) -- Reader metadata preservation and evaluation fixes [#654](https://github.com/borkdude/babashka/issues/654), [borkdude/sci#447](https://github.com/borkdude/sci/issues/447), [borkdude/sci#448](https://github.com/borkdude/sci/issues/448) +- Reader metadata preservation and evaluation fixes [#654](https://github.com/babashka/babashka/issues/654), [borkdude/sci#447](https://github.com/borkdude/sci/issues/447), [borkdude/sci#448](https://github.com/borkdude/sci/issues/448) - Optimization for constant colls [borkdude/sci#452](https://github.com/borkdude/sci/issues/452) - `ns-unmap` doesn't work for imported classes [borkdude/sci#432](https://github.com/borkdude/sci/issues/432) - Fix parsing of trailing uneval in reader conditional @@ -93,8 +93,8 @@ and code contributions. Thanks to sponsors on ### Changed -- Remove cheshire smile functions [#658](https://github.com/borkdude/babashka/issues/658) -- `babashka.curl` now calls curl with `--compressed` by default [borkdude/babashka.curl#28](https://github.com/borkdude/babashka.curl) +- Remove cheshire smile functions [#658](https://github.com/babashka/babashka/issues/658) +- `babashka.curl` now calls curl with `--compressed` by default [babashka/babashka.curl#28](https://github.com/babashka/babashka.curl) ## v0.2.3 (2020-10-21) @@ -106,33 +106,33 @@ Thanks to [@tzzh](https://github.com/tzzh), [@Heliosmaster](https://github.com/H - [pod-tzzh-mail](https://github.com/tzzh/pod-tzzh-mail): a pod for sending mail by [@tzzh](https://github.com/tzzh) - [pod-babashka-lanterna](https://github.com/babashka/pod-babashka-lanterna): a pod for creating TUI apps - [pod.xledger.sql-server](https://github.com/xledger/pod_sql_server): a pod for interacting with SQL Server -- Add `lazy-cat` [#605](https://github.com/borkdude/babashka/issues/605) +- Add `lazy-cat` [#605](https://github.com/babashka/babashka/issues/605) - Support error output in babashka.nrepl [babashka.nrepl#28](https://github.com/babashka/babashka.nrepl/issues/28) ([@tzzh](https://github.com/tzzh)) -- Add lanterna [feature flag](https://github.com/borkdude/babashka/commit/13f65f05aeff891678e88965d9fbd146bfa87f4e) ([@kwrooijen](https://github.com/kwrooijen)) +- Add lanterna [feature flag](https://github.com/babashka/babashka/commit/13f65f05aeff891678e88965d9fbd146bfa87f4e) ([@kwrooijen](https://github.com/kwrooijen)) - Add socket support to pods [babashka/pods#2](https://github.com/babashka/pods/issues/2) -- Add `curl` to borkdude/babashka Docker image to support `babashka.curl` ([@hansbugge](https://github.com/hansbugge)) +- Add `curl` to babashka/babashka Docker image to support `babashka.curl` ([@hansbugge](https://github.com/hansbugge)) - Add `transit+json` format support to pods [babashka/pods#21](https://github.com/babashka/pods/issues/21) - Add `bound?` [borkdude/sci#430](https://github.com/borkdude/sci/issues/430) -- Add [portal](https://github.com/borkdude/babashka/tree/master/examples#portal) example +- Add [portal](https://github.com/babashka/babashka/tree/master/examples#portal) example - Add `*print-namespace-maps*` [borkdude/sci#428](https://github.com/borkdude/sci/issues/428) -- Support `clojure.java.io/Coercions` protocol [#601](https://github.com/borkdude/babashka/issues/601) -- Add `clojure.pprint/write` [#607](https://github.com/borkdude/babashka/issues/607) -- Add pretty-printer vars from `cheshire.core` [#619](https://github.com/borkdude/babashka/issues/619) +- Support `clojure.java.io/Coercions` protocol [#601](https://github.com/babashka/babashka/issues/601) +- Add `clojure.pprint/write` [#607](https://github.com/babashka/babashka/issues/607) +- Add pretty-printer vars from `cheshire.core` [#619](https://github.com/babashka/babashka/issues/619) ### Fixed -- `pprint/print-table` should write to `sci/out` [#611](https://github.com/borkdude/babashka/issues/611) -- `System/exit` doesn't work in REPL [#605](https://github.com/borkdude/babashka/issues/606) -- Fix pod destroy function [#615](https://github.com/borkdude/babashka/issues/615) +- `pprint/print-table` should write to `sci/out` [#611](https://github.com/babashka/babashka/issues/611) +- `System/exit` doesn't work in REPL [#605](https://github.com/babashka/babashka/issues/606) +- Fix pod destroy function [#615](https://github.com/babashka/babashka/issues/615) - Bind `*file*` in nREPL server [babashka/babashka.nrepl#31](https://github.com/babashka/babashka.nrepl/issues/31) - Support `map->` constructor on defrecords [borkdude/sci#431](https://github.com/borkdude/sci/issues/431) -- Import should return class [#610](https://github.com/borkdude/babashka/issues/610) +- Import should return class [#610](https://github.com/babashka/babashka/issues/610) ### Changed -- The [Docker image](https://hub.docker.com/r/borkdude/babashka/) is now based +- The [Docker image](https://hub.docker.com/r/babashka/babashka/) is now based on Ubuntu instead of Alpine. ## v0.2.2 (2020-09-30) @@ -143,7 +143,7 @@ but it also introduces new support around `reify`. ### New -- Support `java.nio.file.FileVisitor` and `java.io.FilenameFilter` with `reify` [#600](https://github.com/borkdude/babashka/issues/600). Nice side effect: this makes babashka compatible with the [fs](https://github.com/clj-commons/fs) library: +- Support `java.nio.file.FileVisitor` and `java.io.FilenameFilter` with `reify` [#600](https://github.com/babashka/babashka/issues/600). Nice side effect: this makes babashka compatible with the [fs](https://github.com/clj-commons/fs) library: ``` clojure $ export BABASHKA_CLASSPATH=$(clojure -Spath -Sdeps '{:deps {clj-commons/fs {:mvn/version "1.5.2"}}}') $ bb -e '(ns foo (:require [me.raynes.fs :as fs])) (map str (fs/glob "*.md"))' @@ -161,34 +161,34 @@ Thanks to [@RickMoynihan](https://github.com/RickMoynihan), [@joinr](https://git ### New -- Include `org.httpkit.client`, a high performance async http client [#561](https://github.com/borkdude/babashka/issues/561) +- Include `org.httpkit.client`, a high performance async http client [#561](https://github.com/babashka/babashka/issues/561) - Include `org.httpkit.server`, an HTTP server - [#556](https://github.com/borkdude/babashka/issues/556). This namespace should + [#556](https://github.com/babashka/babashka/issues/556). This namespace should be considered experimental and may stay or be removed in a future version of babashka, depending on feedback from the community. See [example](examples/httpkit_server.clj) - Add `java.io.FileNotFoundException`, `java.security.DigestInputStream`, `java.nio.file.FileVisitOption` classes - Support implementing `IDeref`, `IAtom` and `IAtom2` on records [sci#401](https://github.com/borkdude/sci/issues/401) -- Support compatibility with [version-clj](https://github.com/xsc/version-clj) [#565](https://github.com/borkdude/babashka/issues/565) [@lread](https://github.com/lread) and [@borkdude](https://github.com/borkdude) -- Support YAML roundtrip through `*input*` [#583](https://github.com/borkdude/babashka/issues/583) +- Support compatibility with [version-clj](https://github.com/xsc/version-clj) [#565](https://github.com/babashka/babashka/issues/565) [@lread](https://github.com/lread) and [@borkdude](https://github.com/borkdude) +- Support YAML roundtrip through `*input*` [#583](https://github.com/babashka/babashka/issues/583) - Support `clojure.core/find-var` [sci#420](https://github.com/borkdude/sci/issues/420) [@RickMoynihan](https://github.com/RickMoynihan) -- Support `clojure.pprint/cl-format` [#571](https://github.com/borkdude/babashka/issues/571) +- Support `clojure.pprint/cl-format` [#571](https://github.com/babashka/babashka/issues/571) - [AWS pod](https://github.com/tzzh/pod-tzzh-aws) ### Fixed / enhanced -- Fix location printing in REPL (`--repl`) [#598](https://github.com/borkdude/babashka/issues/589) -- Babashka.curl sends form params incorrectly as multipart [babashka.curl#25](https://github.com/borkdude/babashka.curl/issues/25) -- Update Windows build instructions [#574](https://github.com/borkdude/babashka/issues/574) -- Set minimum macOS version in build explicitly [#588](https://github.com/borkdude/babashka/pull/588) -- Fix NPE in error handling logic [#587](https://github.com/borkdude/babashka/issues/587) -- Fix namespace switch in REPL (`--repl`) [#564](https://github.com/borkdude/babashka/issues/564) -- Fix location of errors in REPL (`--repl`) [#589](https://github.com/borkdude/babashka/issues/589) +- Fix location printing in REPL (`--repl`) [#598](https://github.com/babashka/babashka/issues/589) +- Babashka.curl sends form params incorrectly as multipart [babashka.curl#25](https://github.com/babashka/babashka.curl/issues/25) +- Update Windows build instructions [#574](https://github.com/babashka/babashka/issues/574) +- Set minimum macOS version in build explicitly [#588](https://github.com/babashka/babashka/pull/588) +- Fix NPE in error handling logic [#587](https://github.com/babashka/babashka/issues/587) +- Fix namespace switch in REPL (`--repl`) [#564](https://github.com/babashka/babashka/issues/564) +- Fix location of errors in REPL (`--repl`) [#589](https://github.com/babashka/babashka/issues/589) - Support multi-arity methods in `defprotocol` [sci#406](https://github.com/borkdude/sci/issues/406) - Constructor call not recognized in protocol impl [sci#419](https://github.com/borkdude/sci/issues/419) - Improve handling of top-level do in macro expansion [sci#421](https://github.com/borkdude/sci/issues/421) - Performance improvements suggested by [@joinr](https://github.com/joinr) [sci#415](https://github.com/borkdude/sci/issues/415) - Throw when trying to redefine referred var [sci#398](https://github.com/borkdude/sci/issues/398) -- `pprint` is now backed by `clojure.pprint/pprint` instead of fipp [#571](https://github.com/borkdude/babashka/issues/571) +- `pprint` is now backed by `clojure.pprint/pprint` instead of fipp [#571](https://github.com/babashka/babashka/issues/571) ## v0.2.0 (2020-08-28) @@ -198,27 +198,27 @@ contributing to this release. Thanks to [Clojurists Together](https://www.clojur ### New -- Add support for `clojure.datafy`, `Datafiable` and `Navigable` [#468](https://github.com/borkdude/babashka/issues/468). To play with the new `clojure.datafy` support, you can use [portal](https://github.com/djblue/portal): +- Add support for `clojure.datafy`, `Datafiable` and `Navigable` [#468](https://github.com/babashka/babashka/issues/468). To play with the new `clojure.datafy` support, you can use [portal](https://github.com/djblue/portal): ``` clojure $ bb -cp `clj -Spath -Sdeps '{:deps {djblue/portal {:mvn/version "0.4.0"}}}'` ``` -- Add support for building and running uberjars [#536](https://github.com/borkdude/babashka/issues/536). See [docs](https://github.com/borkdude/babashka#uberjar). -- Print context, locals and stack trace on exception [#543](https://github.com/borkdude/babashka/issues/543). -- Expose more transit vars [#525](https://github.com/borkdude/babashka/issues/525) ([@djblue](https://github.com/djblue)) +- Add support for building and running uberjars [#536](https://github.com/babashka/babashka/issues/536). See [docs](https://github.com/babashka/babashka#uberjar). +- Print context, locals and stack trace on exception [#543](https://github.com/babashka/babashka/issues/543). +- Expose more transit vars [#525](https://github.com/babashka/babashka/issues/525) ([@djblue](https://github.com/djblue)) - Add `add-tap`,`tap>`, `remove-tap`, `class?`, `iterator-seq`, `remove-watch`, `realized?` - Add `clojure.walk/macroexpand-all` - Add `java.lang.ProcessHandle` and better support for killing subprocesses via - Java interop. See [test script](https://github.com/borkdude/babashka/blob/7049b1b0bd582b717094703bcf299fb6363bb142/test/babashka/scripts/kill_child_processes.bb). -- Add `clojure.lang.ArityException` and tests to support the [circleci/bond](https://github.com/circleci/bond) library [#524](https://github.com/borkdude/babashka/issues/524) ([@cldwalker](https://github.com/cldwalker)). + Java interop. See [test script](https://github.com/babashka/babashka/blob/7049b1b0bd582b717094703bcf299fb6363bb142/test/babashka/scripts/kill_child_processes.bb). +- Add `clojure.lang.ArityException` and tests to support the [circleci/bond](https://github.com/circleci/bond) library [#524](https://github.com/babashka/babashka/issues/524) ([@cldwalker](https://github.com/cldwalker)). - Add `java.time.format.DateTimeParseException` ### Fixed -- Fix order of namespaces in uberscript [#535](https://github.com/borkdude/babashka/issues/535) -- Fix reading resources from jar files [#528](https://github.com/borkdude/babashka/issues/528) +- Fix order of namespaces in uberscript [#535](https://github.com/babashka/babashka/issues/535) +- Fix reading resources from jar files [#528](https://github.com/babashka/babashka/issues/528) - Switch from canonical to absolute paths in `:file` field on var metadata - [#532](https://github.com/borkdude/babashka/issues/532) -- Babashka shows wrong filename when error is from required ns [#508](https://github.com/borkdude/babashka/issues/508) + [#532](https://github.com/babashka/babashka/issues/532) +- Babashka shows wrong filename when error is from required ns [#508](https://github.com/babashka/babashka/issues/508) - Eval metadata on var created with `defn` [borkdude/sci#36](https://github.com/borkdude/sci/issues/36) - Metadata fn on var fails if calling the var itself [borkdude/sci#363](https://github.com/borkdude/sci/issues/363) - Allow re-binding of core vars in with-redefs [borkdude/sci#375](https://github.com/borkdude/sci/issues/375) @@ -234,15 +234,15 @@ Thanks [@llacom](https://github.com/llacom), [@AndreTheHunter](https://github.co - Add eldoc support in babashka.nrepl ([@borkdude](https://github.com/borkdude) and [@llacom](https://github.com/llacom)) - Add `java.time.temporal.{TemportalAdjuster, TemporalAmount}` classes -- Add `clojure.java.browse/browse-url` [#495](https://github.com/borkdude/babashka/issues/495) +- Add `clojure.java.browse/browse-url` [#495](https://github.com/babashka/babashka/issues/495) - Add classes for cli-matic library ([@AndreTheHunter](https://github.com/AndreTheHunter)) -- Add `babashka.version` system property [#479](https://github.com/borkdude/babashka/issues/479) +- Add `babashka.version` system property [#479](https://github.com/babashka/babashka/issues/479) - Add `java.net.ConnectException` class -- Add `babashka.file` system property to support `__name__ = "__main__"` pattern (see [docs](https://github.com/borkdude/babashka#__name__--__main__-pattern)) [#478](https://github.com/borkdude/babashka/issues/478). +- Add `babashka.file` system property to support `__name__ = "__main__"` pattern (see [docs](https://github.com/babashka/babashka#__name__--__main__-pattern)) [#478](https://github.com/babashka/babashka/issues/478). ### Fixed -- Make `clojure.test/report` a dynamic var [#482](https://github.com/borkdude/babashka/issues/482), [#491](https://github.com/borkdude/babashka/issues/491) +- Make `clojure.test/report` a dynamic var [#482](https://github.com/babashka/babashka/issues/482), [#491](https://github.com/babashka/babashka/issues/491) - Make `clojure.test/test-var` a dynamic var - Allow arbitrary Clojure code in tagged literals (previously only EDN was allowed) - Fix http-server example ([@xingzheone](https://github.com/xingzheone)) @@ -254,11 +254,11 @@ Thanks [@llacom](https://github.com/llacom), [@AndreTheHunter](https://github.co Thanks [@jeroenvandijk](https://github.com/jeroenvandijk) for contributing to this release. - Support `:extend-via-metadata` option in protocols -- Fix classpath issue for Windows [#496](https://github.com/borkdude/babashka/issues/496) +- Fix classpath issue for Windows [#496](https://github.com/babashka/babashka/issues/496) - Add `double-array`, `short-array` and `clojure.lang.BigInt` for compatibility with [clojure.data.generators](https://github.com/clojure/data.generators) - Add support for `*print-level*` -- Add version info in `:describe` message of babashka.nrepl [#471](https://github.com/borkdude/babashka/issues/471) +- Add version info in `:describe` message of babashka.nrepl [#471](https://github.com/babashka/babashka/issues/471) - Add compatibility for [honeysql](https://github.com/seancorfield/honeysql) (most notable change: support `import` for records) @@ -280,8 +280,8 @@ This release brings compatibility with the ### Enhancements / fixes -- Fix interop with result of `.environment` method on `ProcessBuilder` [#460](https://github.com/borkdude/babashka/issues/460) -- Disable signal handlers via environment variable for AWS Lambda [#462](https://github.com/borkdude/babashka/issues/462) ([@Chowlz](https://github.com/Chowlz)). See [README.md](https://github.com/borkdude/babashka#package-babashka-script-as-a-aws-lambda). +- Fix interop with result of `.environment` method on `ProcessBuilder` [#460](https://github.com/babashka/babashka/issues/460) +- Disable signal handlers via environment variable for AWS Lambda [#462](https://github.com/babashka/babashka/issues/462) ([@Chowlz](https://github.com/Chowlz)). See [README.md](https://github.com/babashka/babashka#package-babashka-script-as-a-aws-lambda). - babashka.curl: fix double quote escaping issue on Windows - Fix resolving var in syntax-quote from other namespace brought in via `:refer` - `io/resource` should return `nil` for non-relative paths instead of throwing @@ -297,49 +297,49 @@ Thanks [@martinklepsch](https://github.com/martinklepsch) and [@cldwalker](https - Add `java.nio.file.PathMatcher` class. This allows one to implement a [glob](test-resources/babashka/glob.clj) function. - Support alternative interop form: `(. Integer -SIZE) ;;=> 32` -- [#454](https://github.com/borkdude/babashka/issues/454): syntax check on amount of arguments to `def` -- [#458](https://github.com/borkdude/babashka/issues/458): add `clojure.data` namespace +- [#454](https://github.com/babashka/babashka/issues/454): syntax check on amount of arguments to `def` +- [#458](https://github.com/babashka/babashka/issues/458): add `clojure.data` namespace ## Prior to v0.1.0 Details about releases prior to v0.1.0 can be found -[here](https://github.com/borkdude/babashka/releases). +[here](https://github.com/babashka/babashka/releases). ## Breaking changes ### v0.2.4 -- Remove cheshire smile functions [#658](https://github.com/borkdude/babashka/issues/658) +- Remove cheshire smile functions [#658](https://github.com/babashka/babashka/issues/658) ### v0.2.3 -- The [Docker image](https://hub.docker.com/r/borkdude/babashka/) is now based on Ubuntu instead of Alpine. +- The [Docker image](https://hub.docker.com/r/babashka/babashka/) is now based on Ubuntu instead of Alpine. ### v0.0.90 - The `next.jdbc` namespace and PostgresQL driver, introduced in `v0.0.89`, are no longer part of the standardly distributed `bb` binary. This is now available behind a feature flag. See [feature flag - documentation](https://github.com/borkdude/babashka/blob/master/doc/build.md#feature-flags). -- [borkdude/babashka.curl#16](https://github.com/borkdude/babashka.curl/issues/16): + documentation](https://github.com/babashka/babashka/blob/master/doc/build.md#feature-flags). +- [babashka/babashka.curl#16](https://github.com/babashka/babashka.curl/issues/16): Exceptional status codes or nonzero `curl` exit codes will throw exceptions by default. You can opt out with `:throw false`. ### v0.0.79 -- [babashka.curl#9](https://github.com/borkdude/babashka.curl/issues/9): +- [babashka.curl#9](https://github.com/babashka/babashka.curl/issues/9): Functions in `babashka.curl` like `get`, `post`, etc. now always return a map with `:status`, `:body`, and `:headers`. ### v0.0.71 -- [#267](https://github.com/borkdude/babashka/issues/267) Change behavior of +- [#267](https://github.com/babashka/babashka/issues/267) Change behavior of reader conditionals: the `:clj` branch is taken when it occurs before a `:bb` branch. ### v0.0.44 - 0.0.45 -- [#173](https://github.com/borkdude/babashka/issues/173): Rename `*in*` to +- [#173](https://github.com/babashka/babashka/issues/173): Rename `*in*` to `*input*` (in the `user` namespace). The reason for this is that it shadowed `clojure.core/*in*` when used unqualified. ### v0.0.43 -- [#160](https://github.com/borkdude/babashka/issues/160): Add support for +- [#160](https://github.com/babashka/babashka/issues/160): Add support for `java.lang.ProcessBuilder`. See docs. This replaces the `conch` namespace. diff --git a/README.md b/README.md index 119a6c6a..00159f19 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -[![CircleCI](https://circleci.com/gh/borkdude/babashka/tree/master.svg?style=shield)](https://circleci.com/gh/borkdude/babashka/tree/master) +[![CircleCI](https://circleci.com/gh/babashka/babashka/tree/master.svg?style=shield)](https://circleci.com/gh/babashka/babashka/tree/master) [![project chat](https://img.shields.io/badge/slack-join_chat-brightgreen.svg)](https://app.slack.com/client/T03RZGPFR/CLX41ASCS) -[![Financial Contributors on Open Collective](https://opencollective.com/babashka/all/badge.svg?label=financial+contributors)](https://opencollective.com/babashka) [![Clojars Project](https://img.shields.io/clojars/v/borkdude/babashka.svg)](https://clojars.org/borkdude/babashka) +[![Financial Contributors on Open Collective](https://opencollective.com/babashka/all/badge.svg?label=financial+contributors)](https://opencollective.com/babashka) [![Clojars Project](https://img.shields.io/clojars/v/babashka/babashka.svg)](https://clojars.org/babashka/babashka) [![twitter](https://img.shields.io/badge/twitter-%23babashka-blue)](https://twitter.com/search?q=%23babashka&src=typed_query&f=live) A Clojure [babushka](https://en.wikipedia.org/wiki/Headscarf) for the grey areas of Bash. @@ -40,15 +40,15 @@ As one user described it: ## Quickstart -For installation options check [Installation](https://github.com/borkdude/babashka#installation). +For installation options check [Installation](https://github.com/babashka/babashka#installation). For quick installation use: ``` shell -$ bash <(curl -s https://raw.githubusercontent.com/borkdude/babashka/master/install) +$ bash <(curl -s https://raw.githubusercontent.com/babashka/babashka/master/install) ``` or grab a binary from [Github -releases](https://github.com/borkdude/babashka/releases) yourself and place it +releases](https://github.com/babashka/babashka/releases) yourself and place it anywhere on the path. Then you're ready to go: @@ -61,7 +61,7 @@ bb took 4ms. ### Babashka users -Are you using babashka in your company or personal projects? Let us know [here](https://github.com/borkdude/babashka/issues/254). +Are you using babashka in your company or personal projects? Let us know [here](https://github.com/babashka/babashka/issues/254). ### Setting expectations @@ -166,7 +166,7 @@ On Windows you can install using [scoop](https://scoop.sh/) and the Install via the installer script: ``` shell -$ curl -sLO https://raw.githubusercontent.com/borkdude/babashka/master/install +$ curl -sLO https://raw.githubusercontent.com/babashka/babashka/master/install $ chmod +x install $ ./install ``` @@ -194,12 +194,12 @@ $ ./install --dir . --version 0.2.5 --download-dir . ### Github releases You may also download a binary from -[Github](https://github.com/borkdude/babashka/releases). For linux there is a +[Github](https://github.com/babashka/babashka/releases). For linux there is a static binary available which can be used on Alpine. ## Docker -Check out the image on [Docker hub](https://hub.docker.com/r/borkdude/babashka/). +Check out the image on [Docker hub](https://hub.docker.com/r/babashka/babashka/). ## [News](doc/news.md) @@ -272,7 +272,7 @@ handling of SIGINT and SIGPIPE. This can be done by setting - [The REPL podcast](https://www.therepl.net/episodes/36/) Michiel Borkent talks about [clj-kondo](https://github.com/borkdude/clj-kondo), [Jet](https://github.com/borkdude/jet), Babashka, and [GraalVM](https://github.com/oracle/graal) with Daniel Compton. - [Implementing an nREPL server for babashka](https://youtu.be/0YmZYnwyHHc): impromptu presentation by Michiel Borkent at the online [Dutch Clojure Meetup](http://meetup.com/The-Dutch-Clojure-Meetup) - [ClojureScript podcast](https://soundcloud.com/user-959992602/s3-e5-babashka-with-michiel-borkent) with Jacek Schae interviewing Michiel Borkent -- [Babashka talk at ClojureD](https://www.youtube.com/watch?v=Nw8aN-nrdEk) ([slides](https://speakerdeck.com/borkdude/babashka-and-the-small-clojure-interpreter-at-clojured-2020)) by Michiel Borkent +- [Babashka talk at ClojureD](https://www.youtube.com/watch?v=Nw8aN-nrdEk) ([slides](https://speakerdeck.com/babashka/babashka-and-the-small-clojure-interpreter-at-clojured-2020)) by Michiel Borkent - [Babashka: a quick example](https://juxt.pro/blog/posts/babashka.html) by Malcolm Sparks - [Clojure Start Time in 2019](https://stuartsierra.com/2019/12/21/clojure-start-time-in-2019) by Stuart Sierra - [Advent of Random @@ -309,7 +309,7 @@ babashka is interesting to share with the world, they are free to distribute it using a different binary name (like `bb-sql`, `bb-docker`, `bb-yourcompany`, etc.). See the [feature flag documentation](doc/build.md#feature-flags) and the implementation of the existing feature flags ([example -commit](https://github.com/borkdude/babashka/commit/02c7c51ad4b2b1ab9aa95c26a74448b138fe6659)). +commit](https://github.com/babashka/babashka/commit/02c7c51ad4b2b1ab9aa95c26a74448b138fe6659)). ## Related projects @@ -325,7 +325,7 @@ Thanks to all the people that contributed to babashka: - [Adgoji](https://www.adgoji.com/) for financial support - [CircleCI](https://circleci.com/) for CI and additional support - [Nikita Prokopov](https://github.com/tonsky) for the logo -- [Contributors](https://github.com/borkdude/babashka/graphs/contributors) and +- [Contributors](https://github.com/babashka/babashka/graphs/contributors) and other users posting issues with bug reports and ideas - [Github sponsors](https://github.com/sponsors/borkdude) - [OpenCollective sponsors](https://opencollective.com/babashka) @@ -334,7 +334,7 @@ Thanks to all the people that contributed to babashka: ### Code Contributors This project exists thanks to all the people who contribute. [[Contribute](doc/dev.md)]. - + ### Financial Contributors diff --git a/doc/.#dev.md b/doc/.#dev.md new file mode 120000 index 00000000..6cf9dd9f --- /dev/null +++ b/doc/.#dev.md @@ -0,0 +1 @@ +borkdude@MBP2019.local.17736 \ No newline at end of file diff --git a/doc/build.md b/doc/build.md index 41509f5a..0512c1bd 100644 --- a/doc/build.md +++ b/doc/build.md @@ -33,7 +33,7 @@ NOTE: the babashka repository contains submodules. You need to use the `--recursive` flag to clone these submodules along with the main repo. ``` shellsession -$ git clone https://github.com/borkdude/babashka --recursive +$ git clone https://github.com/babashka/babashka --recursive ``` To update later on: @@ -109,7 +109,7 @@ Note that httpkit server is currently experimental, the feature flag could be to To disable all of the above features, you can set `BABASHKA_LEAN` to `true`. Here is an [example -commit](https://github.com/borkdude/babashka/commit/13f65f05aeff891678e88965d9fbd146bfa87f4e) +commit](https://github.com/babashka/babashka/commit/13f65f05aeff891678e88965d9fbd146bfa87f4e) that can be used as a checklist when you want to create a new feature flag. ### HyperSQL diff --git a/doc/news.md b/doc/news.md index 8bab28f9..807af1ed 100644 --- a/doc/news.md +++ b/doc/news.md @@ -9,15 +9,15 @@ Twitter. A new babashka talk: [Babashka and sci internals](https://youtu.be/pgNp4Lk3gf0). Also see -[slides](https://speakerdeck.com/borkdude/babashka-and-sci-internals-at-london-clojurians-december-2020) +[slides](https://speakerdeck.com/babashka/babashka-and-sci-internals-at-london-clojurians-december-2020) and [REPL session](https://gist.github.com/borkdude/66a4d844668e12ae1a8277af10d6cc4b). Babashka 0.2.6 released. See [release -notes](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v026). +notes](https://github.com/babashka/babashka/blob/master/CHANGELOG.md#v026). Babashka 0.2.5 released. See [release -notes](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v025). +notes](https://github.com/babashka/babashka/blob/master/CHANGELOG.md#v025). - First release of the [sqlite pod](https://github.com/babashka/pod-babashka-sqlite3) - First release of the [buddy pod](https://github.com/babashka/pod-babashka-buddy) @@ -36,7 +36,7 @@ Babashka [survey](https://nl.surveymonkey.com/r/H2HK3RC). Feedback will be used for future development. Babashka 0.2.4 released. See [release -notes](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v024). +notes](https://github.com/babashka/babashka/blob/master/CHANGELOG.md#v024). - [Gaiwan.co](https://github.com/lambdaisland/gaiwan_co#tech-stack) are building their static HTML with babashka and [bootleg](https://github.com/retrogradeorbit/bootleg#babashka-pod-usage). - [sha-words](https://github.com/ordnungswidrig/sha-words): A clojure program to @@ -48,24 +48,24 @@ notes](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v024). dependencies using Clojure's tools.deps and babashka. - LA Clojure Meetup [presentation](https://youtu.be/RogyxI-GaGQ) by Nate Jones. Recorded in April 2020. - [Github action](https://github.com/turtlequeue/setup-babashka) for babashka by Nicolas Ha. -- Oracle DB [feature flag](https://github.com/borkdude/babashka/blob/master/doc/build.md#feature-flags) by Jakub Holy added. +- Oracle DB [feature flag](https://github.com/babashka/babashka/blob/master/doc/build.md#feature-flags) by Jakub Holy added. - Torrent viewer [gist](https://gist.github.com/zelark/49ffbc0cd701c9299e35421ac2e3d5ab) by Aleksandr Zhuravlёv. - Clone all repositories from a Gitlab group: [gist](https://gist.github.com/MrGung/81bee21eb52cb9307f336705d5ab08ad) by Steffen Glückselig. - [Matchete](https://github.com/xapix-io/matchete), a pattern matching library, works with babashka. See - [example](https://github.com/borkdude/babashka/issues/631). + [example](https://github.com/babashka/babashka/issues/631). ## 2020-10 Babashka 0.2.3 released. See [release -notes](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v023-2020-10-21). +notes](https://github.com/babashka/babashka/blob/master/CHANGELOG.md#v023-2020-10-21). - [Malcolm Sparks](https://twitter.com/malcolmsparks/status/1320274099952848896) posted a [script](https://gist.github.com/malcolmsparks/61418b6bbcd0962536add1ccb07033b5) that sorts his photo collection. -- [Image viewer](https://github.com/borkdude/babashka/tree/master/examples#image-viewer) example +- [Image viewer](https://github.com/babashka/babashka/tree/master/examples#image-viewer) example - SQL Server [pod](https://github.com/xledger/pod_sql_server) by Isak Sky - [SSH Auth Github](https://github.com/nextjournal/ssh-auth-github) by NextJournal. @@ -75,7 +75,7 @@ notes](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v023-2020-1 ## 2020-09 Babashka -[0.2.1](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v021-2020-09-25) +[0.2.1](https://github.com/babashka/babashka/blob/master/CHANGELOG.md#v021-2020-09-25) and 0.2.2 released. - Code Quality report for Clojure projects in Gitlab using babashka and clj-kondo. See [gist](https://gist.github.com/hansbugge/4be701d771057e8ef6bbbb0912656355). By Hans Bugge. @@ -85,7 +85,7 @@ and 0.2.2 released. ## 2020-08 -Babashka [0.2.0](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v020-2020-08-28) released. +Babashka [0.2.0](https://github.com/babashka/babashka/blob/master/CHANGELOG.md#v020-2020-08-28) released. - Maarten Metz [blogs](https://www.mxmmz.nl/blog/building-a-website-with-babashka.html) about @@ -102,7 +102,7 @@ Babashka [0.2.0](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v ## 2020-06 -Babashka [0.1.3](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v013-2020-06-27) and 0.1.2 released. +Babashka [0.1.3](https://github.com/babashka/babashka/blob/master/CHANGELOG.md#v013-2020-06-27) and 0.1.2 released. - New release of [brisk](https://github.com/justone/brisk), a CLI around nippy which can be used as a pod from babashka. - [passphrase.clj](https://gist.github.com/snorremd/43c49649d2d844ee1e646fee67c141bb) script by Snorre Magnus Davøen diff --git a/doc/projects.md b/doc/projects.md index c8905b3c..e6fee32d 100644 --- a/doc/projects.md +++ b/doc/projects.md @@ -427,7 +427,7 @@ Contol your spotify player using babashka. ### [lambdaisland/open-source](https://github.com/lambdaisland/open-source) [Internal -tooling](https://github.com/borkdude/babashka/issues/457#issuecomment-636739415) +tooling](https://github.com/babashka/babashka/issues/457#issuecomment-636739415) used by Lambda Island projects. Noteworthy: a [babashka-compatible hiccup script](https://github.com/lambdaisland/open-source/blob/2cfde3dfb460e72f047bf94e6f5ec7f519c6d7a0/src/lioss/hiccup.clj). diff --git a/doc/surveys/2020-11.md b/doc/surveys/2020-11.md index 1f7f555f..1d6e2052 100644 --- a/doc/surveys/2020-11.md +++ b/doc/surveys/2020-11.md @@ -73,7 +73,7 @@ that widely used from babashka. Some people are using babashka for interacting with SQL databases. There are two ways to do this: compile babashka with extra [feature -flags](https://github.com/borkdude/babashka/blob/master/doc/build.md#feature-flags) +flags](https://github.com/babashka/babashka/blob/master/doc/build.md#feature-flags) enabled or use [babashka-sql-pods](https://github.com/babashka/babashka-sql-pods/). @@ -139,7 +139,7 @@ into the next question. *My comment:* Clearly users want an easier way to include libraries and pods. We are thinking -about that in [this](https://github.com/borkdude/babashka/issues/473) issue. +about that in [this](https://github.com/babashka/babashka/issues/473) issue. The second most mentioned missing feature was a library around files. This is work in progress [here](https://github.com/babashka/fs). @@ -152,7 +152,7 @@ ways of making http requests. *My comment:* If have attempted to write about HTTP request in babashka [here](https://book.babashka.org/#_choosing_the_right_client) and -[here](https://github.com/borkdude/babashka/wiki/HTTP-client-and-server-considerations). +[here](https://github.com/babashka/babashka/wiki/HTTP-client-and-server-considerations). The summary is that both `babashka.curl` and `org.httpkit.client` have different optimal use cases. In most small scripting scenarios `babashka.curl` will do. For making many small requests `org.httpkit.client` is more optimal since it diff --git a/examples/README.md b/examples/README.md index bd5c614f..2766b414 100644 --- a/examples/README.md +++ b/examples/README.md @@ -52,7 +52,7 @@ $ < /tmp/test.txt bb -io '(shuffle *input*)' '[cheshire.core :as json]) (defn babashka-latest-version [] - (-> (sh "curl" "https://api.github.com/repos/borkdude/babashka/tags") + (-> (sh "curl" "https://api.github.com/repos/babashka/babashka/tags") :out (json/parse-string true) first @@ -105,7 +105,7 @@ less ## Portable tree command -See [examples/tree.clj](https://github.com/borkdude/babashka/blob/master/examples/tree.clj). +See [examples/tree.clj](https://github.com/babashka/babashka/blob/master/examples/tree.clj). ``` shellsession $ clojure -Sdeps '{:deps {org.clojure/tools.cli {:mvn/version "0.4.2"}}}' examples/tree.clj src @@ -127,7 +127,7 @@ src ## List outdated maven dependencies -See [examples/outdated.clj](https://github.com/borkdude/babashka/blob/master/examples/outdated.clj). +See [examples/outdated.clj](https://github.com/babashka/babashka/blob/master/examples/outdated.clj). Inspired by an idea from [@seancorfield](https://github.com/seancorfield). ``` shellsession @@ -157,17 +157,17 @@ A script with the same goal can be found [here](https://gist.github.com/swlkr/3f ## Print current time in California -See [examples/pst.clj](https://github.com/borkdude/babashka/blob/master/examples/pst.clj) +See [examples/pst.clj](https://github.com/babashka/babashka/blob/master/examples/pst.clj) ## Tiny http server -See [examples/http_server.clj](https://github.com/borkdude/babashka/blob/master/examples/http_server.clj) +See [examples/http_server.clj](https://github.com/babashka/babashka/blob/master/examples/http_server.clj) Original by [@souenzzo](https://gist.github.com/souenzzo/a959a4c5b8c0c90df76fe33bb7dfe201) ## Print random docstring -See [examples/random_doc.clj](https://github.com/borkdude/babashka/blob/master/examples/random_doc.clj) +See [examples/random_doc.clj](https://github.com/babashka/babashka/blob/master/examples/random_doc.clj) ``` shell $ examples/random_doc.clj @@ -205,7 +205,7 @@ $ sha1.clj babashka `Dockerfile`: ``` dockerfile -FROM borkdude/babashka +FROM babashka/babashka RUN echo $'\ (println "Your command line args:" *command-line-args*)\ '\ @@ -244,15 +244,15 @@ Your command line args: (1 2 3) ## Note taking app See -[examples/notes.clj](https://github.com/borkdude/babashka/blob/master/examples/notes.clj). This +[examples/notes.clj](https://github.com/babashka/babashka/blob/master/examples/notes.clj). This is a variation on the -[http-server](https://github.com/borkdude/babashka/#tiny-http-server) +[http-server](https://github.com/babashka/babashka/#tiny-http-server) example. If you get prompted with a login, use `admin`/`admin`. ## which The `which` command re-implemented in Clojure. See -[examples/which.clj](https://github.com/borkdude/babashka/blob/master/examples/which.clj). +[examples/which.clj](https://github.com/babashka/babashka/blob/master/examples/which.clj). Prints the canonical file name. ``` shell diff --git a/install b/install index 9d3007e2..155f4182 100755 --- a/install +++ b/install @@ -56,7 +56,7 @@ do done if [[ "$version" == "" ]]; then - version="$(curl -sL https://raw.githubusercontent.com/borkdude/babashka/master/resources/BABASHKA_RELEASED_VERSION)" + version="$(curl -sL https://raw.githubusercontent.com/babashka/babashka/master/resources/BABASHKA_RELEASED_VERSION)" fi case "$(uname -s)" in @@ -64,14 +64,14 @@ case "$(uname -s)" in Darwin*) platform=macos;; esac -download_url="https://github.com/borkdude/babashka/releases/download/v$version/babashka-$version-$platform-amd64.zip" +download_url="https://github.com/babashka/babashka/releases/download/v$version/babashka-$version-$platform-amd64.zip" mkdir -p "$download_dir" cd "$download_dir" echo -e "Downloading $download_url to $download_dir" rm -rf "babashka-$version-$platform-amd64.zip" rm -rf "bb" -curl -o "babashka-$version-$platform-amd64.zip" -sL "https://github.com/borkdude/babashka/releases/download/v$version/babashka-$version-$platform-amd64.zip" +curl -o "babashka-$version-$platform-amd64.zip" -sL "https://github.com/babashka/babashka/releases/download/v$version/babashka-$version-$platform-amd64.zip" unzip -qqo "babashka-$version-$platform-amd64.zip" rm "babashka-$version-$platform-amd64.zip" diff --git a/project.clj b/project.clj index 0fc44526..2c767020 100644 --- a/project.clj +++ b/project.clj @@ -1,10 +1,10 @@ -(defproject borkdude/babashka +(defproject babashka/babashka #=(clojure.string/trim #=(slurp "resources/BABASHKA_VERSION")) :description "babashka" - :url "https://github.com/borkdude/babashka" + :url "https://github.com/babashka/babashka" :scm {:name "git" - :url "https://github.com/borkdude/babashka"} + :url "https://github.com/babashka/babashka"} :license {:name "Eclipse Public License 1.0" :url "http://opensource.org/licenses/eclipse-1.0.php"} :source-paths ["src" "sci/src" "babashka.curl/src" "pods/src" diff --git a/script/changelog.clj b/script/changelog.clj index 07d05728..487a13b3 100755 --- a/script/changelog.clj +++ b/script/changelog.clj @@ -7,7 +7,7 @@ replaced (str/replace changelog #" #(\d+)" (fn [[_ issue after]] - (format " [#%s](https://github.com/borkdude/babashka/issues/%s)%s" + (format " [#%s](https://github.com/babashka/babashka/issues/%s)%s" issue issue (str after)))) replaced (str/replace replaced #" borkdude/sci#(\d+)" diff --git a/script/cljdoc-preview b/script/cljdoc-preview index ab0396b2..020a04d1 100755 --- a/script/cljdoc-preview +++ b/script/cljdoc-preview @@ -10,9 +10,9 @@ lein install echo "---- cljdoc preview: ingesting babashka" docker run --rm -v "$PWD:/babashka" \ -v "$HOME/.m2:/root/.m2" -v /tmp/cljdoc:/app/data --entrypoint "clojure" \ - cljdoc/cljdoc -A:cli ingest -p borkdude/babashka -v "$version" \ + cljdoc/cljdoc -A:cli ingest -p babashka/babashka -v "$version" \ --git /babashka echo "---- cljdoc preview: starting server on port 8000" docker run --rm -p 8000:8000 -v /tmp/cljdoc:/app/data cljdoc/cljdoc -# go directly to http://localhost:8000/d/borkdude/babashka/0.0.10-SNAPSHOT, not via the search +# go directly to http://localhost:8000/d/babashka/babashka/0.0.10-SNAPSHOT, not via the search diff --git a/src/babashka/main.clj b/src/babashka/main.clj index d4c63aae..ad619e2b 100644 --- a/src/babashka/main.clj +++ b/src/babashka/main.clj @@ -344,7 +344,7 @@ Use -- to separate script command line args from bb command line args. :thread-bind [reflection-var])] (nrepl-server/start-server! ctx nrepl-opts) (binding [*out* *err*] - (println "For more info visit https://github.com/borkdude/babashka/blob/master/doc/repl.md#nrepl."))) + (println "For more info visit https://github.com/babashka/babashka/blob/master/doc/repl.md#nrepl."))) ;; hang until SIGINT @(promise)) diff --git a/test/babashka/scripts/.#download_and_extract_zip.bb b/test/babashka/scripts/.#download_and_extract_zip.bb new file mode 120000 index 00000000..6cf9dd9f --- /dev/null +++ b/test/babashka/scripts/.#download_and_extract_zip.bb @@ -0,0 +1 @@ +borkdude@MBP2019.local.17736 \ No newline at end of file