Fork me on GitHub
#membrane
<
2024-03-10
>
Omer ZAK19:03:10

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!

phronmophobic19:03:47

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.

Omer ZAK21:03:31

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/

phronmophobic06:03:50

cool, I'll update the link

👍 1