Commit graph

801 commits

Author SHA1 Message Date
Michiel Borkent
f09e085c75 Move bb.edn in uberjar to META-INF 2022-04-03 13:36:00 +02:00
Michiel Borkent
e81ef4aac0
Declarative pod support for uberscript (#1227) 2022-04-02 23:41:04 +02:00
Wes Morgan
963bd7957a
Feature: declarative pods support in uberjars (#1217)
* 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
2022-04-02 16:51:08 +02:00
Michiel Borkent
ff54332977 Make java.util.Scanner available 2022-03-31 12:07:35 +02:00
Michiel Borkent
4d24cdca2a
Proxy support for PipedInputStream and PipedOutputStream
* 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>
2022-03-31 10:00:16 +02:00
Michiel Borkent
6c568d62d4 Process: fix for pprint 2022-03-27 16:27:44 +02:00
Michiel Borkent
c0007e55c4 Revert "process: pprinting"
This reverts commit ba582d14a2.
2022-03-27 12:21:04 +02:00
Michiel Borkent
ba582d14a2 process: pprinting 2022-03-27 12:06:34 +02:00
Michiel Borkent
cd013227d5 Revert "Support sun.misc.Signal handlers (#1221)"
Shutdown code should be handled with a shutdown hook

This reverts commit 81a1fd4c86.
2022-03-27 12:04:50 +02:00
Michiel Borkent
81a1fd4c86
Support sun.misc.Signal handlers (#1221) 2022-03-26 22:45:49 +01:00
Michiel Borkent
72ae663842 fix #1220: add reflection on java.util.concurrent.Future 2022-03-25 12:07:30 +01:00
Michiel Borkent
1ad93077c1 fix #1216: fix core.async alts example with polyfill 2022-03-23 23:49:09 +01:00
Wes Morgan
e602286799
feat #863: Load pods from bb.edn (#1205)
Co-authored-by: Michiel Borkent <michielborkent@gmail.com>
2022-03-23 17:08:59 +01:00
Michiel Borkent
6305f7450d
Add compatibility with GraalVM 22.1 (#1215)
* do not init java net http classes at build time
2022-03-22 16:41:26 +01:00
Michiel Borkent
25a57b483c
meander: interop on Iterator 2022-03-19 11:34:20 +01:00
Michiel Borkent
fc0bb83ca2 meander interop 2022-03-19 11:04:37 +01:00
Michiel Borkent
b395084d47 meander: nth interop 2022-03-19 10:27:45 +01:00
Michiel Borkent
ad8982d0c6 meander: unchecked-dec + disjoin interop 2022-03-19 10:14:01 +01:00
Michiel Borkent
152234937c meander interop 2022-03-19 00:25:59 +01:00
Michiel Borkent
dd6ca6e623 Fix and add reflections for vectors and maps 2022-03-19 00:02:08 +01:00
Michiel Borkent
c09ff9e61c Allow .indexOf on vector 2022-03-18 23:49:17 +01:00
Michiel Borkent
701c719c78 Expose clojure.lang.PersistentHashMap/EMPTY 2022-03-13 16:16:03 +01:00
Michiel Borkent
569f62c928 Add *compile-files* var 2022-03-13 13:15:50 +01:00
Michiel Borkent
158082e87e Support method of super 2022-03-13 13:09:23 +01:00
Joshua Davey
5f4c6e52d0
Add Deflater and DeflaterOutputStream (#1209)
Deflater allows one to control, for example, the level of compression
used. The DeflaterOutputStream is the parent of GZIPOutputStream
class, and allows raw zlib compressed stream (i.e. no gzip header/footer).
2022-03-12 23:12:01 +01:00
Michiel Borkent
3624de4a92 CHANGELOGS 2022-03-12 13:37:26 +01:00
Michiel Borkent
3759d14baf
Add clojure.data.priority-map as built-in, support aysylu/loom lib (#1207) 2022-03-11 12:23:31 +01:00
mknoszlig
f9451f5de0
feat #1204: add babashka.config property 2022-03-11 11:03:42 +01:00
Michiel Borkent
7c81443ae7 Add missing classes to support specter 2022-03-08 16:21:20 +01:00
Michiel Borkent
56c7bcd777
Add part of clojure.tools.reader.reader-types to support hugsql (#1201) 2022-03-07 16:55:14 +01:00
Michiel Borkent
3f49ad3b89
fix #1199: print-method impls on records (#1200) 2022-03-05 17:11:11 +01:00
Michiel Borkent
dc5d756394
pprint: add get-pretty-writer (#1198)
Closes #1197
2022-03-04 12:42:27 +01:00
Michiel Borkent
f4cd6c2bf1
feat: compatibility with at-at 2022-03-03 11:24:52 +01:00
Michiel Borkent
76accde8da
Add clojure.instant/parse-timestamp 2022-03-01 20:33:49 +01:00
Michiel Borkent
61e47555f9 feat #1187: Add :result key to (current-task) map that can be used in :leave task hook 2022-02-27 12:10:33 +01:00
Michiel Borkent
141881376d
fix #1190: task dependencies resolve as core.async channels (#1191) 2022-02-27 11:49:40 +01:00
Michiel Borkent
83c610ca0f fix #1180: limit bb tasks output to first line of docstring 2022-02-24 12:28:54 +01:00
Gabriel Horner
7126112cc3
Add latest datascript (#1185)
* Update datascript config

Add db ns, loads latest datascript and can load datascript-transit
library. All tests for pull.cljc and query.cljc pass except for queries
with fns as inputs

* Add datalog-parser to projects.md per #1171 comment
2022-02-22 14:17:58 +01:00
Michiel Borkent
cd285b9a19
SCI: refactored to protocols (#1183) 2022-02-20 12:02:08 +01:00
Michiel Borkent
19e87a545d
fix #1181: clojure.test report does not respect *test-out* correctly (#1182) 2022-02-18 22:54:10 +01:00
Michiel Borkent
14a8c0e0ec Add method to satisfy tests 2022-02-14 15:52:27 +01:00
Michiel Borkent
b461925981
SCI: use mutable arrays for bindings (#1177) 2022-02-14 11:52:32 +01:00
Michiel Borkent
5226d9cc0f Upgrade to clojure 11 beta1 2022-02-02 22:49:55 +01:00
Michiel Borkent
2cc7e36ec3 Add java.lang.reflect.Array#newInstance 2022-02-01 11:30:12 +01:00
Michiel Borkent
fe42f1e436 Add java.io.Data classes 2022-02-01 11:24:20 +01:00
Michiel Borkent
e95c4dd37d More clojure 11 vars 2022-01-25 11:02:03 +01:00
Michiel Borkent
c7cc5663cb
feat #1158: add clojure.math namespace (#1159) 2022-01-25 10:30:22 +01:00
Michiel Borkent
8a15a82f44
Add compatibility with algo.monad (#1151) 2022-01-23 11:09:52 +01:00
Michael Glaesemann
ca59f3890e
fix #1143: allow optional (ignored) -- when using using --main (#1147)
Permits previously-accepted behavior broken in 19415f6363
2022-01-20 14:53:54 +01:00
Michiel Borkent
da31e9c61c
fix #1144: cannot create multidimensional arrays (#1145) 2022-01-16 12:42:10 +01:00
Michiel Borkent
34f9997df4 [#1123, #1124] Do not require java for bb tasks without deps 2021-12-30 16:32:15 +01:00
Michiel Borkent
ddf03c50ae [#1116] Missing error message when exception happens in REPL print 2021-12-29 16:10:30 +01:00
Michiel Borkent
53eb64e67d [#1119] Add equals method of java.util.Arrays 2021-12-27 22:03:30 +01:00
Michiel Borkent
1912b921df Fixes for issue reported by @thiagokokada 2021-12-27 21:31:13 +01:00
Michiel Borkent
fb7f984389
[#1110] Load tasks and deps from other bb.edn file (#1117)
Co-authored-by: Bob <highpressurecarsalesman@gmail.com>
2021-12-26 17:26:35 +01:00
Michiel Borkent
93fb4379ff
[#584, #1037] Uberscript in bb (#1115) 2021-12-23 21:23:11 +01:00
Michiel Borkent
86c67af49c
[#1105] Include native elements in printed stacktrace (#1113) 2021-12-22 13:04:29 +01:00
Michiel Borkent
823bc8ca22 0.7.0 2021-12-10 11:19:19 +01:00
Michiel Borkent
73d466e7d6
Fix SCI#649 aget reflection (#1100)
Fix issue with aget reported in babashka/sci#649 by @MrEbbinghaus
2021-12-09 22:38:38 +01:00
Michiel Borkent
806517c2ba graal config 2021-12-09 17:52:51 +01:00
Michiel Borkent
efacc16e3b graal config 2021-12-09 17:50:41 +01:00
Michiel Borkent
b67d539ab0 fields 2021-12-09 17:42:55 +01:00
Michiel Borkent
713358dca8 SCI: instance field access // MultiFn interop 2021-12-09 17:28:04 +01:00
Michiel Borkent
b32b7d7de9 sci bump, memfn 2021-12-09 13:05:45 +01:00
Michiel Borkent
19ad756261 Support applyTo interop for clojure.spec 2021-12-08 22:42:26 +01:00
Michiel Borkent
f754578075 Add coax tests 2021-12-08 21:31:58 +01:00
Michiel Borkent
6d14ed61f1 Add better-cond to CI tests 2021-12-08 18:46:53 +01:00
Michiel Borkent
54cd1fa85f Add core specs warning 2021-12-08 18:08:02 +01:00
Michiel Borkent
f5fd11fd78 Don't remove core specs when they are in deps map 2021-12-08 17:20:05 +01:00
Michiel Borkent
8b3e89fbcc Don't remove core specs 2021-12-08 17:11:29 +01:00
Michiel Borkent
76c9d633ff Warn on clojure.spec.alpha 2021-12-08 16:04:32 +01:00
Michiel Borkent
ef8e4f48b9 add StackTraceElement->vec 2021-12-08 15:00:24 +01:00
Michiel Borkent
e466f832b8
inst-ms + clojure.instant ns (#1098) 2021-12-08 13:51:31 +01:00
Michiel Borkent
e703669c79
Add java.util.StringTokenizer (#1092) 2021-12-06 11:31:30 +01:00
Michiel Borkent
f761d84312 Add new functions from clojure 1.11 except clojure.java.math 2021-12-02 20:47:09 +01:00
Michiel Borkent
2079f0a554 Add print-deps test 2021-11-29 23:42:36 +01:00
Michiel Borkent
99262e7ce8 Add babashka.core 2021-11-28 15:56:26 +01:00
Michiel Borkent
2a2d4befe5 Add babashka.core 2021-11-28 15:56:17 +01:00
Nik
080c60c08e
[#1081] make next.jdbc's result-set namespace accessible from babashka (#1082) 2021-11-28 09:36:42 +01:00
Nik
f06a749249
Add support for SQLite via a BABASHKA_FEATURE_SQLITE feature flag (#1079)
* implement native sqlite support as a feature flag following [1]

([1] is mentioned as a checklist of sorts as to how to add a new 
feature flag in [2])

[1] 13f65f05ae
[2] https://github.com/babashka/babashka/blob/master/doc/build.md

* bump to latest sqlite-jdbc, remove some no longer needed config+libs

based on feedback from borkdude here [1], bump xerial/sqlite-jdbc
3.36.0.3, which includes the graalvm classes and resource config
previously implemented via ericdallo/sqlite-jni-graal-fix and a `-H`
flag in `script/compile`

[1]: https://github.com/babashka/babashka/pull/1079#issuecomment-980533178
2021-11-28 09:34:54 +01:00
Michiel Borkent
4566905a5c
Add compatibility with hato and clj-http-lite insecure feature (#1080)
Added classes:

- java.net.CookiePolicy
- java.net.http.HttpTimeoutException
- javax.net.ssl.HostnameVerifier
- javax.net.ssl.HttpsURLConnection
- javax.net.ssl.KeyManagerFactory
- javax.net.ssl.SSLSession
- javax.net.ssl.TrustManagerFactory
- java.security.KeyStore
- java.util.zip.Inflater
- java.util.zip.ZipException
2021-11-27 15:58:24 +01:00
Michiel Borkent
e419c569a8
Support satisfies? on protocol values (#1076) 2021-11-24 17:38:38 +01:00
Michiel Borkent
a95c51998f
limit space of InetAddress4/6 2021-11-23 11:34:30 +01:00
Michiel Borkent
29b693181c Merge branch 'master' into reader-resolver 2021-11-22 22:02:02 +01:00
Michiel Borkent
369ee94c90
Add java.net.Inet4Address and java.net.Inet6Address (#1072) 2021-11-22 10:42:50 +01:00
Michiel Borkent
d897baff28 reader-resolver 2021-11-21 23:51:21 +01:00
Michiel Borkent
8ae4fc5128 sci: default-reader-fn 2021-11-21 21:19:52 +01:00
Michiel Borkent
d04e897ef4 clojure.core/read improvements: support :eof + :read-cond 2021-11-21 14:37:14 +01:00
Michiel Borkent
0428d983d9 update to newest sci 2021-11-19 21:46:16 +01:00
Michiel Borkent
1ebe142655 use sci/copy-ns 2021-11-19 18:43:18 +01:00
Michiel Borkent
44e8ea36fd Update with fs/with-temp-dir 2021-11-19 18:43:18 +01:00
Michael Glaesemann
5940b95cd2
Add javax.crypto classes necessary for calculating hmac shas. (#1066)
* Add javax.crypto classes necessary for calculating hmac shas.

* Add hmac-256-sha test for javax.crypto.
2021-11-18 08:49:59 +01:00
Michiel Borkent
52f9dc8f28
Add various tools.build related classes (#1062)
Co-authored-by: Hugo Duncan <hugo@hugoduncan.org>
2021-11-13 11:11:42 +01:00
Michiel Borkent
948c38c035 Add support for BasicFileAttributes 2021-11-13 11:05:21 +01:00
Michiel Borkent
aaaab5f6eb [#1061] Calling close on DirectoryStream fails 2021-11-13 10:44:16 +01:00
Michiel Borkent
321c47297d [#1061] Calling close on DirectoryStream fails 2021-11-13 10:38:21 +01:00
Bob
fb1a1cfbfb
[#1046] add PGProperty fields to reflection config 2021-11-07 21:44:10 +01:00
Michiel Borkent
2bb7499fd5 [#1055] Segfault when reifying FileVisitor with visitFileFailed 2021-11-07 12:05:16 +01:00
Michiel Borkent
7c7053119a Expose babashka.deps/clojure 2021-11-06 13:01:35 +01:00
Michiel Borkent
19415f6363 Fix remaining args when invoking -m 2021-11-02 13:46:51 +01:00
Karol Wójcik
147e12f041
Add clojure.lang.IPersistentList (#1048) 2021-11-01 13:58:53 +01:00
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