diff --git a/feature-xml/babashka/impl/xml.clj b/feature-xml/babashka/impl/xml.clj index f3714a08..d889aa79 100644 --- a/feature-xml/babashka/impl/xml.clj +++ b/feature-xml/babashka/impl/xml.clj @@ -2,10 +2,14 @@ {:no-doc true} (:require [babashka.impl.common :refer [ctx]] [clojure.data.xml :as xml] + [clojure.data.xml.event :as event] + [clojure.data.xml.tree :as tree] [sci.core :as sci :refer [copy-var]] [sci.impl.vars])) (def xns (sci/create-ns 'clojure.data.xml nil)) +(def xens (sci/create-ns 'clojure.data.xml.event nil)) +(def xtns (sci/create-ns 'clojure.data.xml.tree nil)) (defn- clj-ns-name [ns] (cond (instance? sci.impl.vars.SciNamespace ns) (str ns) @@ -68,3 +72,11 @@ 'uri-file (copy-var xml/uri-file xns) 'uri-symbol (copy-var xml/uri-symbol xns) 'xml-comment (copy-var xml/xml-comment xns)}) + +(def xml-event-namespace + {'event-element (copy-var event/event-element xens) + 'event-exit? (copy-var event/event-exit? xens) + 'event-node (copy-var event/event-node xens)}) + +(def xml-tree-namespace + {'seq-tree (copy-var tree/seq-tree xtns)}) diff --git a/src/babashka/impl/classes.clj b/src/babashka/impl/classes.clj index caf60197..91aadda1 100644 --- a/src/babashka/impl/classes.clj +++ b/src/babashka/impl/classes.clj @@ -90,6 +90,8 @@ `{:all [clojure.lang.ArityException clojure.lang.BigInt clojure.lang.ExceptionInfo + java.io.BufferedInputStream + java.io.BufferedOutputStream java.io.BufferedReader java.io.BufferedWriter java.io.ByteArrayInputStream @@ -296,9 +298,13 @@ java.time.temporal.TemporalAdjuster]) java.util.concurrent.ExecutionException java.util.concurrent.LinkedBlockingQueue + java.util.jar.Attributes$Name java.util.jar.JarFile java.util.jar.JarEntry java.util.jar.JarFile$JarFileEntry + java.util.jar.JarInputStream + java.util.jar.JarOutputStream + java.util.jar.Manifest java.util.stream.BaseStream java.util.stream.Stream java.util.Random @@ -401,7 +407,8 @@ java.util.Collection java.util.List java.util.Iterator - java.util.Map$Entry] + java.util.Map$Entry + ~@(when features/xml? ['clojure.data.xml.node.Element])] :custom ~custom-map}) (defmacro gen-class-map [] @@ -467,6 +474,7 @@ java.io.Closeable (instance? java.nio.file.attribute.BasicFileAttributes v) java.nio.file.attribute.BasicFileAttributes + ;; keep commas for merge friendliness ,,,))))) (def class-map (gen-class-map)) diff --git a/src/babashka/main.clj b/src/babashka/main.clj index e2398b4b..10d2aa11 100644 --- a/src/babashka/main.clj +++ b/src/babashka/main.clj @@ -365,7 +365,9 @@ Use bb run --help to show this help output. 'rewrite-clj.parser rewrite/parser-namespace 'rewrite-clj.zip rewrite/zip-namespace 'rewrite-clj.zip.subedit rewrite/subedit-namespace} - features/xml? (assoc 'clojure.data.xml @(resolve 'babashka.impl.xml/xml-namespace)) + features/xml? (assoc 'clojure.data.xml @(resolve 'babashka.impl.xml/xml-namespace) + 'clojure.data.xml.event @(resolve 'babashka.impl.xml/xml-event-namespace) + 'clojure.data.xml.tree @(resolve 'babashka.impl.xml/xml-tree-namespace)) features/yaml? (assoc 'clj-yaml.core @(resolve 'babashka.impl.yaml/yaml-namespace) 'flatland.ordered.map @(resolve 'babashka.impl.ordered/ordered-map-ns)) features/jdbc? (assoc 'next.jdbc @(resolve 'babashka.impl.jdbc/njdbc-namespace)