Commit graph

894 commits

Author SHA1 Message Date
Michiel Borkent
9ed3cb6a31 Fix #1414: preserve metadata on exec task function argument map 2022-11-11 17:34:44 +01:00
Michiel Borkent
e5ee1f4a77 Fix run-test 2022-11-08 12:39:31 +01:00
Michiel Borkent
ee5f2a7a2e Add run-test and run-test-var to clojure.test 2022-11-08 12:35:21 +01:00
Michiel Borkent
e31cb57a3d Add java.time.zone.ZoneRules class 2022-10-31 22:40:39 +01:00
Michiel Borkent
a4ba9527b9 SCI: more docstrings 2022-10-31 13:42:42 +01:00
Michiel Borkent
a035291f41 SCI: now with docstrings for core macros 2022-10-30 15:12:23 +01:00
Michiel Borkent
f5a226ab34 Add notes for detecting runtime requiring-resolve, etc [skip ci] 2022-10-27 21:01:14 +02:00
Michiel Borkent
cf93651e8e
Add java.net.URLConnection 2022-10-25 11:05:47 +02:00
Michiel Borkent
0e57b9d461
Fix #1330: allow *warn-on-reflection* in programmatic nREPL (#1398) 2022-10-18 17:54:38 +02:00
Michiel Borkent
351723fdb6 Fix #1384: allow .indexOf on LazySeq 2022-10-18 17:32:22 +02:00
Michiel Borkent
b6f19b03dc Fix #1397: clojure.lang.Namespace 2022-10-18 17:27:17 +02:00
Michiel Borkent
863c6051bd Add process alive? 2022-10-07 12:40:16 +02:00
Baishampayan Ghose
77768cec67
feat: Honor *print-namespace-maps* in pprint (#1387)
We can now use the dynamic var `*print-namespace-maps*` to control how
maps with namespaced keys are printed using `pprint`.

Fixes: #1381
2022-10-04 19:11:59 +02:00
Rahuλ Dé
0684119000
Mark bb.edn load exception (#1378)
* Mark bb.edn load exception

* print to stderr

* print with binding
2022-09-28 15:48:35 +02:00
Rahuλ Dé
8352448611
check if supplied deps is non-empty (#1377) 2022-09-28 13:12:05 +02:00
Crispin Wellington
e6f6b02c06
Add single arg read method to PipedInputStream proxy (#1372)
* reify java.lang.Object with optional toString and finalize

* add single argument read method to PipedInputStream proxy

* update changelog

Co-authored-by: Michiel Borkent <michielborkent@gmail.com>
2022-09-26 10:52:59 +02:00
Michiel Borkent
020d42a94f Fix #808: -Sdeps 2022-09-24 13:25:06 +02:00
Bob
78cbdd1d82
#1336: --force as global opt (#1374) 2022-09-24 10:59:34 +02:00
Michiel Borkent
3110dde2ab Fix #1368: -x: do not pick up on aliases in user ns 2022-09-22 20:05:22 +02:00
Michiel Borkent
3b5dbb7c66 Fix #1367: line number in clojure.test output 2022-09-22 14:03:48 +02:00
Wes Morgan
aa0da8f503
Map (on)to-chan!(!) core.async fns (#1371)
* Map (on)to-chan!(!) core.async fns

These are recent replacements for their deprecated predecessors onto-chan & to-chan.

* Add note to changelog about #1370 fix
2022-09-21 21:46:03 +02:00
Michiel Borkent
2f146bd712 Fix #1364: Be tolerant of unknown tags in bb.edn 2022-09-18 12:29:16 +02:00
Eero Helenius
4926aaf85f
Add and expose babashka.classes/all-classes (#1362)
* Add and expose babashka.classes/all-classes

* Add test for babashka.classes/all-classes
2022-09-13 10:54:30 +02:00
Michiel Borkent
1a700f6a69 Add -x help 2022-09-12 14:19:47 +02:00
Michiel Borkent
1631349fb6 pods: TCP_NODELAY 2022-09-12 12:43:49 +02:00
Eero Helenius
9566a7d1f1
Add more reflection class methods (#1361) 2022-09-09 20:55:11 +02:00
Michiel Borkent
e1094e1529
Add more reflection classes (#1360) 2022-09-09 20:24:37 +02:00
Crispin Wellington
ea4f56886d
Expose a subset of java.lang.ref to enable hooking into the destruction/GC of objects (#1359)
* reify java.lang.Object with optional toString and finalize

* reify java.lang.Runnable

* reflection support for java.lang.Runnable

* java.lang.ref.* class exposure

* test for detection of garbage collection of Object

* added change to changelog
2022-09-09 17:25:32 +02:00
Wes Morgan
a592104bc5
Fix download-only? fn & use new env var names (#1357) 2022-09-07 21:08:53 +02:00
Michiel Borkent
42f79d0db3 Expose clojure.main/with-bindings 2022-09-07 19:29:11 +02:00
Eero Helenius
8afd672a20
Add ThreadPoolExecutor rejection policy classes (#1356) 2022-09-07 19:19:42 +02:00
Wes Morgan
c97fb958dc
Only download pods when os.name / os.arch don't match (#1354) 2022-09-07 17:11:06 +02:00
Eero Helenius
dcae949496
Add clojure.core.server/stop-server (#1355) 2022-09-07 16:45:04 +02:00
Michiel Borkent
086a5eb5a2 Add AtomicInteger and Long to full interop 2022-09-06 19:52:33 +02:00
Michiel Borkent
2400fc7be0 Add PrintWriter-on 2022-09-06 19:38:32 +02:00
Michiel Borkent
3e2738201c
auspex compatibility (#1351) 2022-09-05 22:59:31 +02:00
Michiel Borkent
18e19934d1 Fix #1350: map clojure.lang.Var to sci.lang.Var 2022-09-05 20:59:37 +02:00
Michiel Borkent
ef41365656 require core.async in time 2022-09-05 18:16:44 +02:00
Michiel Borkent
3afd85ccb3 expose core async ManyToManyChannel 2022-09-05 18:13:25 +02:00
Michiel Borkent
6cdc002423 Fix #1322: better error location in tasks 2022-09-02 22:22:27 +02:00
Michiel Borkent
9b2435557d Revert "Fix #1322: improve error location"
This reverts commit 6e92c99f31.
2022-09-02 21:40:14 +02:00
Michiel Borkent
6e92c99f31 Fix #1322: improve error location 2022-09-02 21:15:27 +02:00
Lee Read
464a000b1b
Add exception classes useful for clj-http-lite (#1346)
* Add exception classes useful for clj-http-lite

Closes #1345

* update changelog
2022-08-26 09:45:12 +02:00
Michiel Borkent
b0de4a79a4 fix exec 2022-07-31 13:57:00 +02:00
Michiel Borkent
de43917140 the-var 2022-07-31 13:42:44 +02:00
Michiel Borkent
0608c71687 Make exec a function instead 2022-07-29 21:03:07 +02:00
Michiel Borkent
2a01f8720e Add note [skip ci] 2022-07-29 15:05:23 +02:00
Michiel Borkent
e8ca180529 make compatible with init 2022-07-29 13:09:00 +02:00
Michiel Borkent
05d105716a improve snippet 2022-07-29 13:04:48 +02:00
Michiel Borkent
8d24f70d73 task integration 2022-07-29 12:51:43 +02:00
Michiel Borkent
1b3adaaf64 -x 2022-07-29 12:23:28 +02:00
Michiel Borkent
dc5b36bbe6 bundle babashka cli 2022-07-29 12:00:58 +02:00
Michiel Borkent
e20ba643ff
Sci issue 774 interpreter stacktrace (#1318) 2022-07-11 11:52:14 +02:00
Michiel Borkent
3f404746b4
Support Java classes for Malli (#1304) 2022-06-30 17:54:47 +02:00
Michiel Borkent
aec2848e24 Fix nrepl server built-in 2022-06-25 21:30:34 +02:00
Michiel Borkent
72e9b6ceee process update 2022-06-25 21:21:27 +02:00
Odd A
573db8ea79
Exposing babashka.nrepl.server-functions (#1297)
Co-authored-by: Odd Andreas Sørsæther <odd.andreas.sorsether@nav.no>
Co-authored-by: Odd Andreas Sørsæther <odd.andreas@ardoq.com>
2022-06-20 12:48:31 +02:00
Michiel Borkent
9ed705f8db Pod namespaces come before namespaces from source 2022-06-20 12:14:48 +02:00
Michiel Borkent
cc2c682e79 SCI now has memfn 2022-06-19 22:41:52 +02:00
Michiel Borkent
115f89ac81 Fix feature map 2022-06-09 08:52:21 +02:00
Michiel Borkent
ecdf952b23 Bump sci 2022-06-08 14:09:04 +02:00
Michiel Borkent
8e3f22db7a
Migrate to sci.lang.Var (#1285) 2022-05-30 22:07:12 +02:00
Michiel Borkent
162ca90287 Add process/shell binding 2022-05-28 11:38:55 +02:00
Michiel Borkent
17c047418e
Add support for sun.misc.SignalHandler (#1276) 2022-05-27 13:26:40 +02:00
Michiel Borkent
b288abc542 SCI: simple-dispatch 2022-05-19 12:11:24 +02:00
Michiel Borkent
a977f04181 AbstractMethodError 2022-05-16 10:55:33 +02:00
Michiel Borkent
2c79e9dd30 AFunction 2022-05-16 10:45:40 +02:00
Michiel Borkent
861066082f Print-dup 2022-05-15 21:44:08 +02:00
Michiel Borkent
6cf1a3ff6a
SCI: use explicit global print-method (#1268) 2022-05-15 14:23:16 +02:00
Michiel Borkent
c1539fe3b0
Some additions that at least make plumatic/schema run partially (#1267) 2022-05-14 13:10:16 +02:00
Michiel Borkent
f8657cd59f Add note [skip ci] 2022-05-13 13:42:32 +02:00
Michiel Borkent
96d93d3940
fix #1264: add support for calling ScheduledExecutorService 2022-05-13 11:04:33 +02:00
Michiel Borkent
5d47397ffc Add BindException 2022-05-10 14:40:45 +02:00
Michiel Borkent
fe88348bf8 Add exec 2022-05-09 15:09:54 +02:00
Michiel Borkent
200a01fe85 tasks: use process wrapper 2022-05-04 19:32:11 +02:00
Michiel Borkent
b4dfb91fd3
Expose edamame, fixes #549 and #1258 (#1259) 2022-05-04 15:02:30 +02:00
Michiel Borkent
8338afb066 slightly faster 2022-05-03 23:44:47 +02:00
Michiel Borkent
45df5bcc8f Fix catvec polyfill 2022-05-03 23:20:36 +02:00
Michiel Borkent
c34109d828 Fix tests 2022-05-03 16:59:31 +02:00
Michiel Borkent
41dcc9239a Use into as catvec replacement for now 2022-05-03 16:47:43 +02:00
Michiel Borkent
7f0fd86d8b Fix default aliases 2022-05-01 20:52:12 +02:00
Michiel Borkent
22e56ce779 Read-eval 2022-04-30 20:49:42 +02:00
Michiel Borkent
226d5c5976 fix #1233: don't print error to stdout in prepl 2022-04-30 11:59:57 +02:00
Michiel Borkent
b93198c965
Compatibility with fipp and puget (#1253)
See brandonbloom/fipp#81
2022-04-30 11:46:36 +02:00
Michiel Borkent
9727cabaf3 Add fields for reflection 2022-04-23 12:02:11 +02:00
Michiel Borkent
4bfe0eec89 Convey print-length to pprint and allow set! 2022-04-16 11:37:14 +02:00
Michiel Borkent
d8db9eee63
fix #1231: missing methods in reify should fall back to default interface methods (#1240) 2022-04-14 18:14:31 +02:00
Bob
3d0befb52b
update some SciVar names (metadata-wise) to align with babashka name (#1236)
* update SciVar names to align with the symbols in the namespace maps

* make test using a bb script more consistent with others

* update changelog
2022-04-07 14:02:06 +02:00
Michiel Borkent
6eff4cc738 Add missing methods on iterator 2022-04-05 11:15:13 +02:00
Wes Morgan
211757d5a4
Add prepare subcommand (#1229)
* Add prepare subcommand

Downloads deps & pods, caches pod metadata, and then exits

* Add prepare subcommand to CHANGELOG

Co-authored-by: Michiel Borkent <michielborkent@gmail.com>
2022-04-05 11:04:38 +02:00
Stel Abrego
d2278835f1
Fix #1041: Improve error message when regex literal in EDN config (#1230)
* 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
2022-04-05 11:03:39 +02:00
Michiel Borkent
db9a8ff10c Add unchecked math 2022-04-03 21:39:08 +02:00
Michiel Borkent
1063868554 fix #1211: return exit code 130 on sigint 2022-04-03 14:11:37 +02:00
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