Commit graph

650 commits

Author SHA1 Message Date
Michiel Borkent
e819cd1fb5 Update babashka.fs 2021-10-20 21:31:34 +02:00
Bob
5a80e1603e
- correct --init to be a global option (#1036)
- test --init before subcommands and task names
2021-10-18 15:39:08 +02:00
Bob
bf3b6d2dca
add support for --init as a file to be loaded before evaluation actions (#1033) 2021-10-17 10:44:31 +02:00
Michiel Borkent
83f2441bfd [#1030] Add fs/unzip 2021-10-12 17:23:09 +02:00
Michiel Borkent
405c34b668
Add java.security.Provider and java.security.Security (#1028)
This adds about 80k to the binary.
2021-10-11 17:28:12 +02:00
Michiel Borkent
bc63da1612
babashka fs: add unzip function (#1027) 2021-10-07 12:39:33 +02:00
Bob
d4ac7365e0
[#1015] print locals only when debug option is enabled (#1021) 2021-09-29 09:24:51 +02:00
Michiel Borkent
7063021f19
SCI: use public stacktrace logic (#1017) 2021-09-26 23:48:36 +02:00
Bob
7df81f1273
make core.async and rewrite-clj integral (#1014)
* make core.async integral (not a feature)

tasks (in particular, parallel tasks) require core.async

* make rewrite_clj integral (not a feature)

* cleanup mistakes
2021-09-23 18:15:01 +02:00
Michael Glaesemann
7cb972fdec
Include java.util.stream.BaseStream in classes. (#1013) 2021-09-23 16:01:42 +02:00
Bob
407bd74a00
[#1004] XML edn reading and populating *data-readers* for feature deps (#1012)
* 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
2021-09-20 18:31:57 +02:00
Kimmo Koskinen
89d07602e8
Add ZipFile (#1010) 2021-09-15 14:34:58 +02:00
Michiel Borkent
11f0e1a566 Get rid of single segment namespace 2021-09-12 12:39:58 +02:00
Michiel Borkent
a43e75ffd6
Add PipedInput/OutputStream (#1001) 2021-09-07 11:30:52 +02:00
Michiel Borkent
23ba52a813
[#979] More java net http tests and tweaks (#996) 2021-09-01 11:36:24 +02:00
Michael Glaesemann
125e227976
Java http insecure context (#994)
* Add support for creating insecure context.

* Add BABASHKA_FEATURE_JAVA_NET_HTTP flag.

* Clean up java.net.http tests
2021-08-31 17:37:11 +02:00
Michiel Borkent
b71278cc68
[#979] JDK 11 Http Client
Co-authored-by: Michael Glaesemann <grzm@seespotcode.net>
2021-08-31 11:13:11 +02:00
Bob
242c3d442f
Logging feature flag and tools.logging.readable (#981) (#987)
* 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
2021-08-29 23:43:53 +02:00
Bob
4ee84947c9
use tagged-literal for unknown EDN tags when creating *input* (#975) (#976)
* use tagged-literal as default for unknown tags when using -I (or --stream without -i)

* use tagged-literal as default for unknown tags
2021-08-25 17:57:17 +02:00
Bob
a85d593767
make the REPL requires available to command-line scripts (#972) 2021-08-22 23:20:41 +02:00
Eric Dallo
72d3afa698
Migrate GraalVM configuration to jar (#973) 2021-08-22 23:19:28 +02:00
Michiel Borkent
d4f5e57866 [#959] Add *print-readably* and *flush-on-newline* 2021-08-16 22:57:59 +02:00
Michiel Borkent
f1fa47837a
[#969] Add java.lang.reflect.Method (getName only) (#970) 2021-08-13 11:25:00 +02:00
Bob
116d73f0b0
- add :ns meta to more vars (#966)
- add a couple more tests for Coercions
2021-08-08 15:38:56 +02:00
Bob
05e963bb6f
varify some core dynamic vars (#957) (#965)
* refer clojure core ns from sci.impl.vars instead
of sci.impl.namespaces

* add :ns meta to dynamic vars in b.i.clojure.core
2021-08-06 13:11:10 +02:00
Michiel Borkent
ff8ad66350 CHANGELOGS [skip ci] 2021-08-02 23:41:15 +02:00
Michiel Borkent
be29d791a8 [#733] print-deps tests 2021-08-02 23:34:38 +02:00
Michiel Borkent
3f72507f77
[#957] Repair ns meta 2021-07-31 14:44:26 +02:00
Michiel Borkent
84430c60f8
[#720, #733] print-deps (#958) 2021-07-27 11:29:00 +02:00
Michiel Borkent
25390103fd [#953] Support full reflection on printwriter 2021-07-23 10:59:28 +02:00
Michiel Borkent
7e0b19ad43 Update babashka.fs 2021-07-22 20:17:46 +02:00
Michiel Borkent
7fac0f1eb9
[#947] Vault tests, part 1 (#949) 2021-07-21 12:35:38 +02:00
Michiel Borkent
9c338c9b7f Add timbre/merge-config! 2021-07-18 11:19:47 +02:00
Eugen Stan
d25dd17510
Added InterruptedExcpetion to bb (#943) 2021-07-16 09:52:08 +02:00
Eugen Stan
c1eb47a262
Added IllegalStateException to automatic imports (#942) 2021-07-16 09:48:13 +02:00
Eugen Stan
95a6bc0d54
Added IllegalStateException to bb (#941) 2021-07-15 22:16:25 +02:00
Michiel Borkent
f058463685 Thanks @justone for the better name [skip ci] 2021-07-15 10:36:07 +02:00
Michiel Borkent
2c7e559351 0.5.0 but with trace 2021-07-14 22:51:18 +02:00
Michiel Borkent
cdc4a4987d FIX THE BLOAT 2021-07-14 22:06:19 +02:00
Michiel Borkent
3d45f62dd2 [#935] Add logging tests 2021-07-14 12:43:12 +02:00
Michiel Borkent
588cda9eac [#934] Environment variables not picked up by tools.deps 2021-07-13 11:31:36 +02:00
Michiel Borkent
e996351dc9 Add clojure.tools.logging + timbre 2021-07-12 22:59:07 +02:00
Michiel Borkent
28f986e201 [#934] pick up env vars from :extra-env in deps step 2021-07-12 16:59:10 +02:00
Michiel Borkent
0832b0a480 Fully support PushbackReader 2021-07-10 11:40:19 +02:00
Michiel Borkent
d47290e996
[#922,#927] pprint/formatter-out + cl-format with-out-str support (#930) 2021-07-10 11:32:21 +02:00
Michiel Borkent
46892580c2
[#921, #922] clojure.data.json support, first steps 2021-07-07 21:17:57 +02:00
Michiel Borkent
1efed2c3c7 minor help edit [skip ci] 2021-07-04 20:41:09 +02:00
Michiel Borkent
3cf3a83c49 [#914] clojure with :dir option doesn't resolve deps in :dir (2) 2021-07-04 12:16:16 +02:00
Bob
47bcb4be5e
add heap size and 'expert' flags to help text (#908) 2021-06-30 18:21:35 +02:00
Michiel Borkent
e47e77c3d6 Add java.io.FileInputStream 2021-06-21 19:42:04 +02:00
Michiel Borkent
d90f4e7bac
sci: pull apart bindings in eval (#900) 2021-06-21 12:00:53 +02:00
Michiel Borkent
e143eb1cb1 [#899] Fix JVM test 2021-06-20 14:26:40 +02:00
Michiel Borkent
af754d013f [#899] (read-line) is buggy in REPL 2021-06-20 13:32:33 +02:00
Michiel Borkent
af036f9d3a
Passing form on Windows with question mark breaks evaluation #889 2021-06-16 21:18:31 +02:00
Michiel Borkent
732d2b5a8b
Allow .notify / .wait interop call #879 2021-06-10 12:04:23 +02:00
Michiel Borkent
12d6afc885 STM: add commute 2021-06-09 22:47:17 +02:00
Michiel Borkent
9385805423
STM (#882) 2021-06-09 15:47:34 +02:00
Michiel Borkent
15e54ef0a1
Add support for slingshot #675 (#881)
* Add java.util.Arrays/copyOfRange for slingshot

* add exception for tests

* Add slingshot tests
2021-06-09 10:39:43 +02:00
Michiel Borkent
9af436a0d4
Add java.net.InetSocketAddress (#878) 2021-06-07 20:20:28 +02:00
Michiel Borkent
3764b52f3a Implement custom deref outside of sci 2021-06-03 00:25:57 +02:00
Michiel Borkent
beb7d8a9a8
Add java.lang.StackTraceElement 2021-06-01 11:45:12 +02:00
Michiel Borkent
42bf790068
[#872] Add java.lang.ProcessHandle$Info (#873)
And java.util.Optional
2021-05-31 00:06:21 +02:00
Michiel Borkent
82625b57dd Tasks: fix edge case 2021-05-30 12:30:06 +02:00
Michiel Borkent
ac576bd6e7 [#865] Stable namespace 2021-05-30 11:36:30 +02:00
Michiel Borkent
94fc8298e6 [#865] Use print-meta when emitting tasks 2021-05-30 11:27:11 +02:00
Michiel Borkent
3eafacac2b sci: set! for CLJS 2021-05-25 15:44:56 +02:00
rng-dynamics
512a6f2220
feat: print data of uncaught ExceptionInfo to output (#854)
* feat: print data of uncaught ExceptionInfo to output

* println -> prn, add tests
2021-05-20 22:49:58 +02:00
Michiel Borkent
ae9eaa4bc4 Pods: transit fns 2021-05-19 21:32:25 +02:00
Michiel Borkent
a942befc65
Add more agent vars (#857) 2021-05-19 14:00:48 +02:00
Andrea Richiardi
7e3b1f58d5
Use sequential? for identifying if the script output needs splitting (#853) 2021-05-19 00:07:39 +02:00
Michiel Borkent
9f48048472 [#847] Better error handling for parallel tasks (2) 2021-05-18 13:19:09 +02:00
Michiel Borkent
e18f4302a8
[#847] Better error handling for parallel tasks 2021-05-18 12:39:21 +02:00
Michiel Borkent
5ce7f2d67d babashka.pods: transit read+write handlers 2021-05-17 11:45:11 +02:00
Michiel Borkent
a832b85ab5 browse-url: Use open in macOS without specifying location 2021-05-15 23:22:02 +02:00
Thiago Kenji Okada
69e58440ab
Improve clojure.java.browse (#846)
* Remove xdg-open hardcoded path in impl.clojure.java.browse

Binaries in Linux are not guarantee to be located on /usr/bin.

For example, NixOS the binaries are located in
/run/current-system/sw/bin/xdg-open (that is actually just a symlink to
/nix/store). The distro may also not have xdg-open installed at /,
instead the user may put it somewhere else like $HOME/bin.

This commit fixes this by using not hardcoding the PATH of xdg-open,
instead relying on shell path to search it.

* Implement clojure.java.browse/*open-url-script*

This allows usage of a custom URL script, like:

```clojure
(binding [*open-url-script* (atom "my-browse-url-script")]
  (browse-url "https://google.com"))
```

*open-url-script* is an atom just to keep compatibility with Clojure.

Described here: https://clojuredocs.org/clojure.java.browse/*open-url-script*
2021-05-15 22:10:52 +02:00
Michiel Borkent
6aca41a48a
[#829] Allow thread-first in combination with shell 2021-05-13 13:10:56 +02:00
Michiel Borkent
7462d86afd [#837] Add babashka.task System property 2021-05-13 11:53:28 +02:00
Michiel Borkent
5014012bd6 [#836] Add :error-fn option to shell 2021-05-13 11:45:27 +02:00
Michiel Borkent
5554619a9d Selmer: util/set-missing-value-formatter! 2021-05-11 22:13:50 +02:00
Michiel Borkent
4ffd08f360 [#835] Expose escaping functions from selmer.util 2021-05-11 13:19:31 +02:00
Michiel Borkent
c18be0a157 Import NullPointerException 2021-05-11 10:15:42 +02:00
Thiago Kenji Okada
14e053e0a3
Add BABASHKA_MUSL build variable (#834)
This allows building a Babashka binary using musl C libraries instead,
instead of hardcoding this accordingly to the CPU arch.
2021-05-11 00:10:11 +02:00
Michiel Borkent
43ba26e11a musl workaround 2021-05-10 23:31:08 +02:00
Michiel Borkent
6edc26c834
[#831] Workaround for musl stack size issues 2021-05-10 18:29:26 +02:00
Michiel Borkent
36e50e0f0d Add help for tasks and run 2021-05-08 23:51:15 +02:00
Michiel Borkent
fe9370e04b Tasks: inherit parallel option 2021-05-08 16:21:54 +02:00
Michiel Borkent
f3a441ee3c minor 2021-05-08 11:06:34 +02:00
Michiel Borkent
9a8bf7d0c3 [#825] Handle uneval-ed expressions in bb tasks 2021-05-08 11:02:05 +02:00
Dirk Wetzel
69ee221eda
Add class java.util.zip.ZipOutputStream (#824) 2021-05-07 16:17:09 +02:00
Michiel Borkent
d52ad92cb4 Add java.text.ParseException 2021-05-07 11:26:38 +02:00
Michiel Borkent
59cbfe43e0 Add java.text.ParserException 2021-05-07 11:22:37 +02:00
Michiel Borkent
bf6f19dc97 Tasks: don't print context on shell error 2021-05-06 13:58:49 +02:00
Michiel Borkent
f49178786c [#818] Tasks: don't call System/exit 2021-05-06 13:28:24 +02:00
Michiel Borkent
cbd8a2d07d
[#821] Include Selmer 2021-05-06 12:53:59 +02:00
Michiel Borkent
3e74aac4a5 Add NullPointerException class 2021-05-04 12:00:03 +02:00
Michiel Borkent
042934cc3c Ignore :min-bb-version when resolving deps 2021-05-04 11:11:55 +02:00
Michiel Borkent
e0e3aa422e [#770] Add test 2021-05-03 11:06:32 +02:00
Michiel Borkent
cf570cd913 Tasks: get rid of res local 2021-05-02 23:12:48 +02:00
Michiel Borkent
d0d18f9837 Tasks: integrate in doc subcommand 2021-05-02 20:48:40 +02:00
Michiel Borkent
76a6760516 Add some classes 2021-05-02 20:14:19 +02:00