* Improve error message when regex literal in EDN config (#1041)
Regex literal syntax (example: #"^foo") is not allowed in EDN. With the
ability to write tasks in the config file, users may mistakenly try to
include regex literals. This patch improves the error message by
informing the user that literal regex syntax is not allowed and
recommends using re-pattern instead.
* Update changelog
* Fixup main.clj
* Fixup changelog
* Store bb.edn in uberjar & load when run from there
* Sync resources deps.edn w/ root
* Throw error if --config arg doesn't exist
...instead of silently falling back on ./bb.edn
* Fix jar file arg parsing
Moving all arg parsing up above bb.edn ingestion made tasks turn into files to load. But this is a chicken-and-egg problem w/ uberjars b/c the bb.edn is inside the jar file, so we need that first. So I extracted the file parsing out into its own fn and put the full arg parsing back where it was after ingesting bb.edn.
* Fix local pod key in error message
* Ensure resources dir exists when copying bb.edn into it
* Copy bb.edn to temp dir when building uberjar
..and add that dir to the classpath for the jar
* Only put :pods in uberjar bb.edn
* Small readability fix
* Add ret val type hints for classpath/resource
Got a reflection warning on one of my calls
* Add a test for uberjars with bb.edn-declared pods
* Only run uberjar-with-pods-test on amd64 for now
* Spire requires proxy support for java.io.PipedInputStream and java.io.PipedOutputStream
* proxy support for java.io.PipedInputStream and java.io.PipedOutputStream
* proxy tests for PipedInputStream and PipedOutputStream
Co-authored-by: Crispin Wellington <retrogradeorbit@gmail.com>
* make core.async integral (not a feature)
tasks (in particular, parallel tasks) require core.async
* make rewrite_clj integral (not a feature)
* cleanup mistakes
* add XML edn reading and make *data-readers* closer to Clojure
- initial value of *data-readers*: empty map
- add XML readers to feature-flagged edn-readers for parsing *input*
- add edn-readers to *data-readers* to emulate data_readers.clj handling
* add YAML round-trip testing
* set root val of *data-readers* at top level
* put tools.logging behind a feature flag
* add tools.logging.readable
- move logging namespace to feature folder
- add logging.readable namespace
- add tests for logging.readable
* cleanup logging changes
- add logging env var to compile script
- remove unconditional require of logging namespace
* move old-config capture to before alter
* remove feature check from logging tests
- add default test selector to skip "windows only" tests
- in cases where the differences between *nix shell and windows shell
make the test very messy, add a separate "windows only" test
- make more tests work on Windows
* make tests run on windows as the default
- change from selecting tests to run to selecting tests to skip (remove all :windows tags, add
:skip-windows tag to tests that don't currently work on windows)
- handfuls of calls to `normalize` and `escape-file-paths` to handle platform differences
- split `task-test` to make most of the tests run on windows, and exclude just a couple of Unix-y tests
* make a binding name clearer
* skip nrepl-server-test on Windows
- test fails on CI, so disabling it for now
* unset bb environment vars after running tests
* unset bb environment var after running release-artifact
BABASHKA_EDN being set can interfere with some tests, so unset it before running the
native tests
* skip uberjar test on Windows
uberjar-test's 'throw on empty classpath' test failing on Windows native
(but passes on JVM) - skip it for now
- add `normalize` call to `bb-native` output
- add `escape-file-paths` function to double up backslashes for Windows paths
passed as strings
- add :windows selector to about 10 more tests, along with various small changes
for Windows testing
- update test.bat to more closely mirror the Linux/Mac test script