This commit is contained in:
Michiel Borkent 2021-01-01 11:26:31 +01:00
parent bbf144fbce
commit e309b49e1b
16 changed files with 126 additions and 124 deletions

View file

@ -2,7 +2,7 @@
set -eo pipefail set -eo pipefail
image_name="borkdude/babashka" image_name="babashka/babashka"
image_tag=$(cat resources/BABASHKA_VERSION) image_tag=$(cat resources/BABASHKA_VERSION)
latest_tag="latest" latest_tag="latest"

View file

@ -2,7 +2,7 @@
set -eo pipefail set -eo pipefail
image_name="borkdude/babashka" image_name="babashka/babashka"
image_tag=$(cat resources/BABASHKA_VERSION) image_tag=$(cat resources/BABASHKA_VERSION)
latest_tag="latest" latest_tag="latest"

View file

@ -14,15 +14,15 @@ For a list of breaking changes, check [here](#breaking-changes).
- Implement [pod registry](https://github.com/babashka/pod-registry) to - Implement [pod registry](https://github.com/babashka/pod-registry) to
automatically obtain pods when used in automatically obtain pods when used in
script. [#690](https://github.com/borkdude/babashka/issues/690) script. [#690](https://github.com/babashka/babashka/issues/690)
- [Buddy pod](https://github.com/babashka/pod-babashka-buddy) [#656](https://github.com/borkdude/babashka/issues/656) - [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) - [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) - [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)) - [Fswatcher pod](https://github.com/babashka/pod-babashka-fswatcher) ([@lispyclouds](https://github.com/lispyclouds))
### Fixed / enhanced ### 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 - Handle whitespace after read-cond splice
- Several performance improvements - Several performance improvements
@ -40,21 +40,21 @@ integration](https://clojure.org/guides/deps_and_cli). See
### New ### New
- Add `get-classpath` and `split-classpath` to `babashka.classpath` - 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). [docs](https://book.babashka.org/#babashka_classpath).
- Expose `add-deps` in `babashka.deps` - 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). [docs](https://book.babashka.org/#_add_deps).
- Expose `clojure` in `babashka.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). [docs](https://book.babashka.org/#_clojure).
- Implement `--clojure` option to invoke a JVM clojure process similar to the - Implement `--clojure` option to invoke a JVM clojure process similar to the
official Clojure CLI. See [docs](https://book.babashka.org/#_invoking_clojure). official Clojure CLI. See [docs](https://book.babashka.org/#_invoking_clojure).
### Fixed / enhanced ### Fixed / enhanced
- Add syntax checks to `binding` macro [#666](https://github.com/borkdude/babashka/issues/666) - Add syntax checks to `binding` macro [#666](https://github.com/babashka/babashka/issues/666)
- Upgrade to GraalVM 20.3.0 [#653](https://github.com/borkdude/babashka/issues/653) - Upgrade to GraalVM 20.3.0 [#653](https://github.com/babashka/babashka/issues/653)
## v0.2.4 ## v0.2.4
@ -67,24 +67,24 @@ and code contributions. Thanks to sponsors on
### New ### New
- pREPL implementation - pREPL implementation
[#664](https://github.com/borkdude/babashka/issues/664). See [#664](https://github.com/babashka/babashka/issues/664). See
[docs](https://github.com/borkdude/babashka/blob/master/doc/repl.md#prepl). [docs](https://github.com/babashka/babashka/blob/master/doc/repl.md#prepl).
The pREPL is used by NextJournal to expose a babashka [notebook The pREPL is used by NextJournal to expose a babashka [notebook
environment](http://nextjournal.com/try/babashka?cm6=1). environment](http://nextjournal.com/try/babashka?cm6=1).
- [News page](doc/news.md) where you can follow the latest developments around babashka. - [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) - 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)) - 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/borkdude/babashka/issues/643) ([@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` - Implement `get-thread-bindings`, `var-get` and `var-set`
- Print used port when starting nREPL server ([@plexus](https://github.com/plexus)) - Print used port when starting nREPL server ([@plexus](https://github.com/plexus))
### Fixed / enhanced ### 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 - `:or` in destructuring broken for `false` case
- Support aliases in protocol fns [borkdude/sci#440](https://github.com/borkdude/sci/issues/440) - 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) - 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) - `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 - Fix parsing of trailing uneval in reader conditional
@ -93,8 +93,8 @@ and code contributions. Thanks to sponsors on
### Changed ### Changed
- Remove cheshire smile functions [#658](https://github.com/borkdude/babashka/issues/658) - Remove cheshire smile functions [#658](https://github.com/babashka/babashka/issues/658)
- `babashka.curl` now calls curl with `--compressed` by default [borkdude/babashka.curl#28](https://github.com/borkdude/babashka.curl) - `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) ## 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-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-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 - [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 - Support error output in babashka.nrepl
[babashka.nrepl#28](https://github.com/babashka/babashka.nrepl/issues/28) [babashka.nrepl#28](https://github.com/babashka/babashka.nrepl/issues/28)
([@tzzh](https://github.com/tzzh)) ([@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 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 `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 `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) - 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) - Support `clojure.java.io/Coercions` protocol [#601](https://github.com/babashka/babashka/issues/601)
- Add `clojure.pprint/write` [#607](https://github.com/borkdude/babashka/issues/607) - Add `clojure.pprint/write` [#607](https://github.com/babashka/babashka/issues/607)
- Add pretty-printer vars from `cheshire.core` [#619](https://github.com/borkdude/babashka/issues/619) - Add pretty-printer vars from `cheshire.core` [#619](https://github.com/babashka/babashka/issues/619)
### Fixed ### Fixed
- `pprint/print-table` should write to `sci/out` [#611](https://github.com/borkdude/babashka/issues/611) - `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/borkdude/babashka/issues/606) - `System/exit` doesn't work in REPL [#605](https://github.com/babashka/babashka/issues/606)
- Fix pod destroy function [#615](https://github.com/borkdude/babashka/issues/615) - 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) - 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) - 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 ### 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. on Ubuntu instead of Alpine.
## v0.2.2 (2020-09-30) ## v0.2.2 (2020-09-30)
@ -143,7 +143,7 @@ but it also introduces new support around `reify`.
### New ### 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 ``` clojure
$ export BABASHKA_CLASSPATH=$(clojure -Spath -Sdeps '{:deps {clj-commons/fs {:mvn/version "1.5.2"}}}') $ 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"))' $ 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 ### 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 - 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 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) 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 - 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 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 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/borkdude/babashka/issues/583) - 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.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) - [AWS pod](https://github.com/tzzh/pod-tzzh-aws)
### Fixed / enhanced ### Fixed / enhanced
- Fix location printing in REPL (`--repl`) [#598](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/borkdude/babashka.curl/issues/25) - 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/borkdude/babashka/issues/574) - Update Windows build instructions [#574](https://github.com/babashka/babashka/issues/574)
- Set minimum macOS version in build explicitly [#588](https://github.com/borkdude/babashka/pull/588) - 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/borkdude/babashka/issues/587) - Fix NPE in error handling logic [#587](https://github.com/babashka/babashka/issues/587)
- Fix namespace switch in REPL (`--repl`) [#564](https://github.com/borkdude/babashka/issues/564) - 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/borkdude/babashka/issues/589) - 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) - 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) - 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) - 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) - 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) - 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) ## v0.2.0 (2020-08-28)
@ -198,27 +198,27 @@ contributing to this release. Thanks to [Clojurists Together](https://www.clojur
### New ### 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 ``` clojure
$ bb -cp `clj -Spath -Sdeps '{:deps {djblue/portal {:mvn/version "0.4.0"}}}'` $ 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). - 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/borkdude/babashka/issues/543). - Print context, locals and stack trace on exception [#543](https://github.com/babashka/babashka/issues/543).
- Expose more transit vars [#525](https://github.com/borkdude/babashka/issues/525) ([@djblue](https://github.com/djblue)) - 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 `add-tap`,`tap>`, `remove-tap`, `class?`, `iterator-seq`, `remove-watch`, `realized?`
- Add `clojure.walk/macroexpand-all` - Add `clojure.walk/macroexpand-all`
- Add `java.lang.ProcessHandle` and better support for killing subprocesses via - 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). 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/borkdude/babashka/issues/524) ([@cldwalker](https://github.com/cldwalker)). - 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` - Add `java.time.format.DateTimeParseException`
### Fixed ### Fixed
- Fix order of namespaces in uberscript [#535](https://github.com/borkdude/babashka/issues/535) - Fix order of namespaces in uberscript [#535](https://github.com/babashka/babashka/issues/535)
- Fix reading resources from jar files [#528](https://github.com/borkdude/babashka/issues/528) - 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 - Switch from canonical to absolute paths in `:file` field on var metadata
[#532](https://github.com/borkdude/babashka/issues/532) [#532](https://github.com/babashka/babashka/issues/532)
- Babashka shows wrong filename when error is from required ns [#508](https://github.com/borkdude/babashka/issues/508) - 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) - 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) - 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) - 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 eldoc support in babashka.nrepl ([@borkdude](https://github.com/borkdude) and [@llacom](https://github.com/llacom))
- Add `java.time.temporal.{TemportalAdjuster, TemporalAmount}` classes - 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 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 `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 ### 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 - Make `clojure.test/test-var` a dynamic var
- Allow arbitrary Clojure code in tagged literals (previously only EDN was allowed) - Allow arbitrary Clojure code in tagged literals (previously only EDN was allowed)
- Fix http-server example ([@xingzheone](https://github.com/xingzheone)) - 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. Thanks [@jeroenvandijk](https://github.com/jeroenvandijk) for contributing to this release.
- Support `:extend-via-metadata` option in protocols - 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 - Add `double-array`, `short-array` and `clojure.lang.BigInt` for compatibility with
[clojure.data.generators](https://github.com/clojure/data.generators) [clojure.data.generators](https://github.com/clojure/data.generators)
- Add support for `*print-level*` - 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) - Add compatibility for [honeysql](https://github.com/seancorfield/honeysql)
(most notable change: support `import` for records) (most notable change: support `import` for records)
@ -280,8 +280,8 @@ This release brings compatibility with the
### Enhancements / fixes ### Enhancements / fixes
- Fix interop with result of `.environment` method on `ProcessBuilder` [#460](https://github.com/borkdude/babashka/issues/460) - 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/borkdude/babashka/issues/462) ([@Chowlz](https://github.com/Chowlz)). See [README.md](https://github.com/borkdude/babashka#package-babashka-script-as-a-aws-lambda). - 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 - babashka.curl: fix double quote escaping issue on Windows
- Fix resolving var in syntax-quote from other namespace brought in via `:refer` - 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 - `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 - Add `java.nio.file.PathMatcher` class. This allows one to implement a
[glob](test-resources/babashka/glob.clj) function. [glob](test-resources/babashka/glob.clj) function.
- Support alternative interop form: `(. Integer -SIZE) ;;=> 32` - Support alternative interop form: `(. Integer -SIZE) ;;=> 32`
- [#454](https://github.com/borkdude/babashka/issues/454): syntax check on amount of arguments to `def` - [#454](https://github.com/babashka/babashka/issues/454): syntax check on amount of arguments to `def`
- [#458](https://github.com/borkdude/babashka/issues/458): add `clojure.data` namespace - [#458](https://github.com/babashka/babashka/issues/458): add `clojure.data` namespace
## Prior to v0.1.0 ## Prior to v0.1.0
Details about releases prior to v0.1.0 can be found 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 ## Breaking changes
### v0.2.4 ### 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 ### 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 ### v0.0.90
- The `next.jdbc` namespace and PostgresQL driver, introduced in `v0.0.89`, are - 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 no longer part of the standardly distributed `bb` binary. This is now
available behind a feature flag. See [feature flag available behind a feature flag. See [feature flag
documentation](https://github.com/borkdude/babashka/blob/master/doc/build.md#feature-flags). documentation](https://github.com/babashka/babashka/blob/master/doc/build.md#feature-flags).
- [borkdude/babashka.curl#16](https://github.com/borkdude/babashka.curl/issues/16): - [babashka/babashka.curl#16](https://github.com/babashka/babashka.curl/issues/16):
Exceptional status codes or nonzero `curl` exit codes will throw exceptions by Exceptional status codes or nonzero `curl` exit codes will throw exceptions by
default. You can opt out with `:throw false`. default. You can opt out with `:throw false`.
### v0.0.79 ### 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 Functions in `babashka.curl` like `get`, `post`, etc. now always return a map
with `:status`, `:body`, and `:headers`. with `:status`, `:body`, and `:headers`.
### v0.0.71 ### 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` reader conditionals: the `:clj` branch is taken when it occurs before a `:bb`
branch. branch.
### v0.0.44 - 0.0.45 ### 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 `*input*` (in the `user` namespace). The reason for this is that it shadowed
`clojure.core/*in*` when used unqualified. `clojure.core/*in*` when used unqualified.
### v0.0.43 ### 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. `java.lang.ProcessBuilder`. See docs. This replaces the `conch` namespace.

View file

@ -1,8 +1,8 @@
<img src="logo/babashka.svg" width="425px"> <img src="logo/babashka.svg" width="425px">
[![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) [![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) [![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. 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 ## 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: For quick installation use:
``` shell ``` 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 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. anywhere on the path.
Then you're ready to go: Then you're ready to go:
@ -61,7 +61,7 @@ bb took 4ms.
### Babashka users ### 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 ### Setting expectations
@ -166,7 +166,7 @@ On Windows you can install using [scoop](https://scoop.sh/) and the
Install via the installer script: Install via the installer script:
``` shell ``` shell
$ curl -sLO https://raw.githubusercontent.com/borkdude/babashka/master/install $ curl -sLO https://raw.githubusercontent.com/babashka/babashka/master/install
$ chmod +x install $ chmod +x install
$ ./install $ ./install
``` ```
@ -194,12 +194,12 @@ $ ./install --dir . --version 0.2.5 --download-dir .
### Github releases ### Github releases
You may also download a binary from 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. static binary available which can be used on Alpine.
## Docker ## 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) ## [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. - [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) - [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 - [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 - [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 - [Clojure Start Time in 2019](https://stuartsierra.com/2019/12/21/clojure-start-time-in-2019) by Stuart Sierra
- [Advent of Random - [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`, 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 etc.). See the [feature flag documentation](doc/build.md#feature-flags) and the
implementation of the existing feature flags ([example 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 ## Related projects
@ -325,7 +325,7 @@ Thanks to all the people that contributed to babashka:
- [Adgoji](https://www.adgoji.com/) for financial support - [Adgoji](https://www.adgoji.com/) for financial support
- [CircleCI](https://circleci.com/) for CI and additional support - [CircleCI](https://circleci.com/) for CI and additional support
- [Nikita Prokopov](https://github.com/tonsky) for the logo - [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 other users posting issues with bug reports and ideas
- [Github sponsors](https://github.com/sponsors/borkdude) - [Github sponsors](https://github.com/sponsors/borkdude)
- [OpenCollective sponsors](https://opencollective.com/babashka) - [OpenCollective sponsors](https://opencollective.com/babashka)
@ -334,7 +334,7 @@ Thanks to all the people that contributed to babashka:
### Code Contributors ### Code Contributors
This project exists thanks to all the people who contribute. [[Contribute](doc/dev.md)]. This project exists thanks to all the people who contribute. [[Contribute](doc/dev.md)].
<a href="https://github.com/borkdude/babashka/graphs/contributors"><img src="https://opencollective.com/babashka/contributors.svg?width=890&button=false" /></a> <a href="https://github.com/babashka/babashka/graphs/contributors"><img src="https://opencollective.com/babashka/contributors.svg?width=890&button=false" /></a>
### Financial Contributors ### Financial Contributors

1
doc/.#dev.md Symbolic link
View file

@ -0,0 +1 @@
borkdude@MBP2019.local.17736

View file

@ -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. `--recursive` flag to clone these submodules along with the main repo.
``` shellsession ``` shellsession
$ git clone https://github.com/borkdude/babashka --recursive $ git clone https://github.com/babashka/babashka --recursive
``` ```
To update later on: 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`. To disable all of the above features, you can set `BABASHKA_LEAN` to `true`.
Here is an [example 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. that can be used as a checklist when you want to create a new feature flag.
### HyperSQL ### HyperSQL

View file

@ -9,15 +9,15 @@ Twitter.
A new babashka talk: [Babashka and sci A new babashka talk: [Babashka and sci
internals](https://youtu.be/pgNp4Lk3gf0). Also see 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 and [REPL
session](https://gist.github.com/borkdude/66a4d844668e12ae1a8277af10d6cc4b). session](https://gist.github.com/borkdude/66a4d844668e12ae1a8277af10d6cc4b).
Babashka 0.2.6 released. See [release 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 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 [sqlite pod](https://github.com/babashka/pod-babashka-sqlite3)
- First release of the [buddy pod](https://github.com/babashka/pod-babashka-buddy) - 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. for future development.
Babashka 0.2.4 released. See [release 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). - [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 - [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. dependencies using Clojure's tools.deps and babashka.
- LA Clojure Meetup [presentation](https://youtu.be/RogyxI-GaGQ) by Nate Jones. Recorded in April 2020. - 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. - [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. - Torrent viewer [gist](https://gist.github.com/zelark/49ffbc0cd701c9299e35421ac2e3d5ab) by Aleksandr Zhuravlёv.
- Clone all repositories from a Gitlab group: - Clone all repositories from a Gitlab group:
[gist](https://gist.github.com/MrGung/81bee21eb52cb9307f336705d5ab08ad) by [gist](https://gist.github.com/MrGung/81bee21eb52cb9307f336705d5ab08ad) by
Steffen Glückselig. Steffen Glückselig.
- [Matchete](https://github.com/xapix-io/matchete), a pattern matching library, - [Matchete](https://github.com/xapix-io/matchete), a pattern matching library,
works with babashka. See works with babashka. See
[example](https://github.com/borkdude/babashka/issues/631). [example](https://github.com/babashka/babashka/issues/631).
## 2020-10 ## 2020-10
Babashka 0.2.3 released. See [release 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 - [Malcolm Sparks](https://twitter.com/malcolmsparks/status/1320274099952848896) posted a
[script](https://gist.github.com/malcolmsparks/61418b6bbcd0962536add1ccb07033b5) that [script](https://gist.github.com/malcolmsparks/61418b6bbcd0962536add1ccb07033b5) that
sorts his photo collection. 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 - SQL Server [pod](https://github.com/xledger/pod_sql_server) by Isak Sky
- [SSH Auth Github](https://github.com/nextjournal/ssh-auth-github) by - [SSH Auth Github](https://github.com/nextjournal/ssh-auth-github) by
NextJournal. NextJournal.
@ -75,7 +75,7 @@ notes](https://github.com/borkdude/babashka/blob/master/CHANGELOG.md#v023-2020-1
## 2020-09 ## 2020-09
Babashka 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. 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. - 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 ## 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 - Maarten Metz
[blogs](https://www.mxmmz.nl/blog/building-a-website-with-babashka.html) about [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 ## 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. - 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 - [passphrase.clj](https://gist.github.com/snorremd/43c49649d2d844ee1e646fee67c141bb) script by Snorre Magnus Davøen

View file

@ -427,7 +427,7 @@ Contol your spotify player using babashka.
### [lambdaisland/open-source](https://github.com/lambdaisland/open-source) ### [lambdaisland/open-source](https://github.com/lambdaisland/open-source)
[Internal [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 used by Lambda Island projects. Noteworthy: a [babashka-compatible hiccup
script](https://github.com/lambdaisland/open-source/blob/2cfde3dfb460e72f047bf94e6f5ec7f519c6d7a0/src/lioss/hiccup.clj). script](https://github.com/lambdaisland/open-source/blob/2cfde3dfb460e72f047bf94e6f5ec7f519c6d7a0/src/lioss/hiccup.clj).

View file

@ -73,7 +73,7 @@ that widely used from babashka.
Some people are using babashka for interacting with SQL databases. There are two Some people are using babashka for interacting with SQL databases. There are two
ways to do this: compile babashka with extra [feature 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 enabled or use
[babashka-sql-pods](https://github.com/babashka/babashka-sql-pods/). [babashka-sql-pods](https://github.com/babashka/babashka-sql-pods/).
@ -139,7 +139,7 @@ into the next question.
*My comment:* *My comment:*
Clearly users want an easier way to include libraries and pods. We are thinking 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 The second most mentioned missing feature was a library around files. This is
work in progress [here](https://github.com/babashka/fs). 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 *My comment:* If have attempted to write about HTTP request in babashka
[here](https://book.babashka.org/#_choosing_the_right_client) and [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 The summary is that both `babashka.curl` and `org.httpkit.client` have different
optimal use cases. In most small scripting scenarios `babashka.curl` will 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 do. For making many small requests `org.httpkit.client` is more optimal since it

View file

@ -52,7 +52,7 @@ $ < /tmp/test.txt bb -io '(shuffle *input*)'
'[cheshire.core :as json]) '[cheshire.core :as json])
(defn babashka-latest-version [] (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 :out
(json/parse-string true) (json/parse-string true)
first first
@ -105,7 +105,7 @@ less
## Portable tree command ## 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 ``` shellsession
$ clojure -Sdeps '{:deps {org.clojure/tools.cli {:mvn/version "0.4.2"}}}' examples/tree.clj src $ 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 ## 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). Inspired by an idea from [@seancorfield](https://github.com/seancorfield).
``` shellsession ``` 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 ## 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 ## 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) Original by [@souenzzo](https://gist.github.com/souenzzo/a959a4c5b8c0c90df76fe33bb7dfe201)
## Print random docstring ## 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 ``` shell
$ examples/random_doc.clj $ examples/random_doc.clj
@ -205,7 +205,7 @@ $ sha1.clj babashka
`Dockerfile`: `Dockerfile`:
``` dockerfile ``` dockerfile
FROM borkdude/babashka FROM babashka/babashka
RUN echo $'\ RUN echo $'\
(println "Your command line args:" *command-line-args*)\ (println "Your command line args:" *command-line-args*)\
'\ '\
@ -244,15 +244,15 @@ Your command line args: (1 2 3)
## Note taking app ## Note taking app
See 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 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`. example. If you get prompted with a login, use `admin`/`admin`.
## which ## which
The `which` command re-implemented in Clojure. See 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. Prints the canonical file name.
``` shell ``` shell

View file

@ -56,7 +56,7 @@ do
done done
if [[ "$version" == "" ]]; then 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 fi
case "$(uname -s)" in case "$(uname -s)" in
@ -64,14 +64,14 @@ case "$(uname -s)" in
Darwin*) platform=macos;; Darwin*) platform=macos;;
esac 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" mkdir -p "$download_dir"
cd "$download_dir" cd "$download_dir"
echo -e "Downloading $download_url to $download_dir" echo -e "Downloading $download_url to $download_dir"
rm -rf "babashka-$version-$platform-amd64.zip" rm -rf "babashka-$version-$platform-amd64.zip"
rm -rf "bb" 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" unzip -qqo "babashka-$version-$platform-amd64.zip"
rm "babashka-$version-$platform-amd64.zip" rm "babashka-$version-$platform-amd64.zip"

View file

@ -1,10 +1,10 @@
(defproject borkdude/babashka (defproject babashka/babashka
#=(clojure.string/trim #=(clojure.string/trim
#=(slurp "resources/BABASHKA_VERSION")) #=(slurp "resources/BABASHKA_VERSION"))
:description "babashka" :description "babashka"
:url "https://github.com/borkdude/babashka" :url "https://github.com/babashka/babashka"
:scm {:name "git" :scm {:name "git"
:url "https://github.com/borkdude/babashka"} :url "https://github.com/babashka/babashka"}
:license {:name "Eclipse Public License 1.0" :license {:name "Eclipse Public License 1.0"
:url "http://opensource.org/licenses/eclipse-1.0.php"} :url "http://opensource.org/licenses/eclipse-1.0.php"}
:source-paths ["src" "sci/src" "babashka.curl/src" "pods/src" :source-paths ["src" "sci/src" "babashka.curl/src" "pods/src"

View file

@ -7,7 +7,7 @@
replaced (str/replace changelog replaced (str/replace changelog
#" #(\d+)" #" #(\d+)"
(fn [[_ issue after]] (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)))) issue issue (str after))))
replaced (str/replace replaced replaced (str/replace replaced
#" borkdude/sci#(\d+)" #" borkdude/sci#(\d+)"

View file

@ -10,9 +10,9 @@ lein install
echo "---- cljdoc preview: ingesting babashka" echo "---- cljdoc preview: ingesting babashka"
docker run --rm -v "$PWD:/babashka" \ docker run --rm -v "$PWD:/babashka" \
-v "$HOME/.m2:/root/.m2" -v /tmp/cljdoc:/app/data --entrypoint "clojure" \ -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 --git /babashka
echo "---- cljdoc preview: starting server on port 8000" echo "---- cljdoc preview: starting server on port 8000"
docker run --rm -p 8000:8000 -v /tmp/cljdoc:/app/data cljdoc/cljdoc 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

View file

@ -344,7 +344,7 @@ Use -- to separate script command line args from bb command line args.
:thread-bind [reflection-var])] :thread-bind [reflection-var])]
(nrepl-server/start-server! ctx nrepl-opts) (nrepl-server/start-server! ctx nrepl-opts)
(binding [*out* *err*] (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 ;; hang until SIGINT
@(promise)) @(promise))

View file

@ -0,0 +1 @@
borkdude@MBP2019.local.17736