Commit graph

932 commits

Author SHA1 Message Date
Michiel Borkent
a79c33d7bf
Fix #1474: use UrlClassLoader for finding files on classpath (#1475) 2023-01-25 22:29:37 +01:00
Michiel Borkent
2da873a2c1 Bump process: change default for :out :append to :out :write 2023-01-23 17:27:15 +01:00
Michiel Borkent
17adc69abc Another fix for #1472 2023-01-23 17:00:20 +01:00
Michiel Borkent
a464b59bc2 Fix #1472: fix double tokenization when calling clojure from tasks 2023-01-23 16:35:51 +01:00
Michiel Borkent
02cdb00e8d
Include babashka.http-client (#1471) 2023-01-22 20:52:17 +01:00
Michiel Borkent
0be3c71772
Eftest compatibility (#1470) 2023-01-21 21:29:30 +01:00
Michiel Borkent
77878631e9 Switch clojure.test/*report-counters* to ref instead of atom 2023-01-21 17:31:53 +01:00
Michiel Borkent
fe6042a06f Fix Outputstream proxy for kaocha 2023-01-21 16:25:39 +01:00
Michiel Borkent
eca7847ed9
Fix #1467: avoid printing results by default, unless --prn is enabled (#1469) 2023-01-21 15:38:50 +01:00
Michiel Borkent
430cbedbe4 Fix proxy class 2023-01-21 14:10:04 +01:00
Michiel Borkent
a5318ea289 Allow java.io.OutputStream to be proxied, for kaocha 2023-01-21 14:06:33 +01:00
Michiel Borkent
61851a511f v1.0.170 2023-01-19 12:40:55 +01:00
Michiel Borkent
09debe0f1d Add Semaphore + httpkit functions 2023-01-19 12:29:01 +01:00
Michiel Borkent
5b42de70d8
Tab compatibility (#1466) 2023-01-18 15:29:19 +01:00
Jeroen van Dijk
4d1c05b23d
Add java.util.jar.Attributes to classes (#1464)
* Add java.util.jar.Attributes to classes

* Update Changelog
2023-01-11 13:09:12 +01:00
Michiel Borkent
a0a34dc5d8 Fix #1456 (2): add *data-readers* 2023-01-05 11:25:25 +01:00
Michiel Borkent
b9308eddcc
Fix #1456: allow dyn vars to be set in socket REPL (#1461) 2023-01-04 21:23:29 +01:00
Michiel Borkent
3aca505790
Partial fix for #1456 (nREPL issue) (#1460)
Co-authored-by: axks <alexander.kaiser@blockinfinity.com>
2023-01-04 20:46:04 +01:00
Michiel Borkent
2ac1428341 Add compiler dynvars for compatibility 2023-01-03 19:51:03 +01:00
Michiel Borkent
073e7e3ce0 Even better require detection 2022-12-26 13:10:26 +01:00
Michiel Borkent
dd77a85893 better require logging 2022-12-26 12:40:22 +01:00
Michiel Borkent
68a6e24516 Fix #1454: include babashka process in print-deps output 2022-12-23 14:44:52 +01:00
Matthew Downey
62916fa292
Fix #1451: Allow passing explicit file and line number to clojure.test 2022-12-20 19:41:36 +01:00
Gabe
965c177bca
Fix #1280: babashka REPL doesn't quit right after ctrl-d (#1450)
the problem is that parser/parse-next waits for an enter before returning an object
we can use peek-char to pre-emptively react to any EOF at the start of the line
in case of not-start-of-line, parse-next takes over

Co-authored-by: Alice Margatroid <code@alice.bunkerlabs.net>
2022-12-14 14:57:07 +01:00
Michiel Borkent
b9fa877cd7 Constructor of LazySeq 2022-12-10 12:22:22 +01:00
Michiel Borkent
c7ccc6fedb Fix #1446: add pprint/code-dispatch 2022-12-09 18:39:51 +01:00
Michiel Borkent
69db7105e5
Support new syntax in babashka.deps/clojure (#1440) 2022-12-07 10:04:40 +01:00
Michiel Borkent
6acd912a34 Add java.util.InputMismatchException 2022-12-06 11:12:35 +01:00
Michiel Borkent
bd857ae3e1 Partially revert, will revisit 2022-12-05 17:46:43 +01:00
Michiel Borkent
43375d49a2 Allow deps/clojure to be called with new syntax 2022-12-05 15:14:52 +01:00
Michiel Borkent
a92ebfe68a Update process 2022-12-04 20:20:41 +01:00
Michiel Borkent
bc0b59500b
Fix #1433: spec source as fallback + built-in (#1435) 2022-11-30 14:10:02 +01:00
ikappaki
6e00354053
Fix 1430: empty tasks names display list (#1431)
Co-authored-by: ikappaki <ikappaki@users.noreply.github.com>
2022-11-28 10:51:39 +01:00
Michiel Borkent
0df40a1a9a Add clojure.data/equality-partition for lambdaisland/deepdiff2 2022-11-22 11:50:53 +01:00
Michiel Borkent
058d2071b2 Add java.lang.Error 2022-11-20 11:26:15 +01:00
Michiel Borkent
b458d79b29 Switch to use ctx-store for global context 2022-11-19 11:00:35 +01:00
Michiel Borkent
495ded8a50
Compatibility with cognitest test runner and tools.namespace (#1423) 2022-11-18 23:43:42 +01:00
Michiel Borkent
326b1def6b Add java.net.URLClassLoader for compatibility with java.classpath lib 2022-11-17 21:20:27 +01:00
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