Good to know. Is there an example of this documented somewhere? Or perhaps a known open source project that uses this pattern that I could read from?
This gist contains my attempt at using multiple bases but it throws exceptions that I can't explain:
https://gist.github.com/erp12/7ea123fe4d623f61dcda94e3cbd03845#file-build-clj
Interestingly, the root cause exception is not consistent. Below are two examples.
Even more strange is that these exceptions are raised even if `jar-basis` is never referenced in any entry-point function. It seems just calling `create-basis` multiple times is causing the exceptions.
```
Exception in thread "Thread-7" java.lang.ExceptionInInitializerError
at clojure.tools.deps.alpha.util.S3TransporterFactory.triggerLoad(S3TransporterFactory.java:44)
at clojure.tools.deps.alpha.util.S3TransporterFactory.access$100(S3TransporterFactory.java:29)
at clojure.tools.deps.alpha.util.S3TransporterFactory$1.run(S3TransporterFactory.java:49)
at java.lang.Thread.run(Thread.java:748)
Caused by: Syntax error compiling at (clojure/tools/reader.clj:1:1).
at clojure.lang.Compiler.load(Compiler.java:7652)
at clojure.lang.RT.loadResourceScript(RT.java:381)
...
Caused by: java.lang.IllegalAccessError: indexing-reader? does not exist
at clojure.core$refer.invokeStatic(core.clj:4237)
at clojure.core$refer.doInvoke(core.clj:4205)
```
Another version of the error.
```
Exception in thread "Thread-7" java.lang.ExceptionInInitializerError
at clojure.tools.deps.alpha.util.S3TransporterFactory.triggerLoad(S3TransporterFactory.java:44)
at clojure.tools.deps.alpha.util.S3TransporterFactory.access$100(S3TransporterFactory.java:29)
at clojure.tools.deps.alpha.util.S3TransporterFactory$1.run(S3TransporterFactory.java:49)
at java.lang.Thread.run(Thread.java:748)
Caused by: Syntax error compiling at (clojure/tools/reader/reader_types.clj:1:1).
at clojure.lang.Compiler.load(Compiler.java:7652)
at clojure.lang.RT.loadResourceScript(RT.java:381)
...
Caused by: java.lang.IllegalAccessError: whitespace? does not exist
at clojure.core$refer.invokeStatic(core.clj:4237)
at clojure.core$refer.doInvoke(core.clj:4205)
```