Hey, what was the way to distribute a bb app/script or task to other unsuspecting) individuals without the whole bb, java, etc. ecosystem installed?
Do you mean the uberjar -> executable trick?
https://github.com/babashka/babashka/wiki/Self-contained-executable
I am not sure. Imagine I have bb script and would like to give it to someone who never heard of bb or Clojure without going into a an elaborate discussion on CLJ, Lisp and history of FP. They may have no java installed or it's java 8 because they only use typescript in their work. Or bash
Ideally without having them install bb either
Yes, that is the self-executing binary described in the wiki
I guess that the size of 72M for http://hello.bj is for packaging bb graal vm with the jar (7 MB)?
Made a change to the doc for clarity see if you approve, starting at
Bundle the jar with bb,
https://github.com/babashka/babashka/wiki/Self-contained-executable
sorry, but that's counter to what the docs suggest: download a bb version which may be even for a different os, unpack it to the local dir and then use the local path
so please revert the edit
I think we can clarify why this is the suggested way: mention that you can do this for each of the OSes you want to build for
I agree, but for those how have bb installed, most likely via brew /curl and setup a path ./bb won't be the local path
in that case you are only building for people that have the same OS as you have
I'll add some text to clarify it.
if you want to package your local bb I'll mention that too
@dennisa what we're doing is that we have shell script that will download bb (a specified version) if it's not there yet; so it's not completely self-contained, but 🤷♂️
Yeah, thank you For now a documentation update would be good, it's qutie a bit confusing, i'd address the clear step to create the uberjar, download a platform specific bb exec and package the artifact
@asolovyov means he is not creating a self-contained executable, but just downloads bb on the platform where the script is running