Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OCaml support #30

Open
pete23 opened this issue Jan 14, 2023 · 1 comment
Open

OCaml support #30

pete23 opened this issue Jan 14, 2023 · 1 comment

Comments

@pete23
Copy link

pete23 commented Jan 14, 2023

I've forked the repo with the intent of adding OCaml / opam support to AppRunner.

Looking at @mepants Rust changes as a prototype - is this reasonable?

One thought did strike me - in the same way restabuild simplifies everything down to executing build.sh, we could imagine an app-runner app with a generic build.sh & run.sh to avoid having to implement language support in the core. Anything that can be built with a script and run with a script would then be in scope, rather than individual languages. The environment conventions would remain ofc.

@danielflower
Copy link
Owner

Interestingly (or not) when I wrote Restabuild I was thinking to adapt it from AppRunner and so have specific Java runners etc. The build.sh approach came when it became obvious that even for maven there are lots of valid build commands that I couldn’t hope to cover with specific runners.

So perhaps that is a good and natural evolution that AppRunner should follow too. But there are some places where it needs to know what specifically an instance can run, especially when using the AppRunner Router where there may be lots of instances all supporting different things. When adding an app the router needs to quickly figure out which instance it can create the new app on. There may be other use cases that I can’t remember, too.

I think basing ocaml on the Rust change sounds very reasonable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants