This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2024-03-10
Channels
- # aleph (1)
- # beginners (4)
- # biff (7)
- # calva (7)
- # cider (8)
- # clara (17)
- # clerk (19)
- # clj-kondo (30)
- # clojure (12)
- # clojure-austin (1)
- # clojure-europe (12)
- # clojure-losangeles (1)
- # clojure-norway (21)
- # clojurescript (2)
- # datalevin (1)
- # datomic (24)
- # duct (3)
- # fulcro (8)
- # hyperfiddle (8)
- # lambdaisland (4)
- # membrane (6)
- # missionary (7)
- # off-topic (55)
- # overtone (2)
- # reagent (4)
- # reitit (4)
- # releases (6)
- # shadow-cljs (80)
Hello @smith.adriane,
I am now studying Babashka pod building.
It seems that I'll need to:
1. Add, to -main
, code which recognizes that it is being run as a pod and invoke a pod function .
2. Build an executable which includes all functions that the user will need to be able to invoke.
So I have questions:
1. When grepping a cloned phronmophobic/membrane
GitHub repository, I found that there are 16 -main
functions (including src/membrane/java2d.clj
). Which of those -main
functions will be relevant for running as a pod?
2. How do I actually build an executable? I saw that there is a build.clj
script. Is it relevant? If yes, how to run it?
Thanks!
1. You have to create a -main
function specifically designed as an entry point for pod calls.
2. There are multiple options for creating executables depending on your intended use case. There isn't currently a well-supported or documented approach, but I would be happy to support you if you wanted to make it happen. The closest example is https://github.com/phronmophobic/terminal-todo-mvc?tab=readme-ov-file#graalvm-compiled, but it's targeting terminal apps and hasn't been updated in a while. It might require a few changes to membrane depending on what approach you take which I would be happy to help with.
The page hello-world.md, which is referred to by your closest example, no longer exists in https://github.com/clj-easy/graal-docs/blob/master/doc/hello-world.md . I did not find installation instructions in https://github.com/clj-easy/graal-docs?tab=readme-ov-file#graal-docs . You may want to update documentation to refer to: https://www.graalvm.org/latest/docs/getting-started/linux/
Did you try https://github.com/clj-easy/graal-docs/blob/master/doc/hello-world.adoc?
The URL https://github.com/clj-easy/graal-docs/blob/master/doc/hello-world.adoc works for me, thanks.