So it looks like roc dev
and roc run
produce binaries that don't have any extensions ... is it a way to have the files have extensions? That would make it easier to .gitignore
them.
linux and mac binaries don't tend to have extensions, so that would be a bit strange to do by default. That said, you can always use --output
to set it to whatever you like
I guess the lack of extension is why most build systems put everything in a build directory. In like in the case of rust/zig ./target
and ./zig-out
. We probably should do something similar for roc to make it easy to gitignore. That is the more "correct" solution
Just like for a number of our intermediate artifacts, we should either move them to the global .cache/roc
or some sort of local roc-cache
or ./roc-cache
. I think this would all be welcome improvements (of course with a bit of discussion on the exact order/location/name for the pieces).
We also potentially will want two different folders, which is a bit odd. One in the platform directory if you have a locally compiled platform. One for where actual apps are built.
This sounds like a good idea.
I like the idea of a roc-cache, but not the idea of a build directory. In my time as a go developer, it never was a problem to add /my-binary
to .gitignore
. Yes, it is not so generic, but I only have to add it once. This is very little work for the convenient having the binary at the place, where I built it. It is nice to call roc build && ./main
.
For someone without any knowledge of rust, it took me some time to find the roc
-binary after running cargo build
.
I think roc dev
and roc run
should not put binaries in the local directory. A tempdir seems fine for now, if someone wants to make that change!
long-term, I want to avoid having roc builds create any local directories unless you explicitly ask for them (via --output
)
Sweet yeah that sounds great to me.
Can we still put (or at least accept) a subfolder in the platform directory for all of the roc related output....actually I think this may already be planned as part of the platform changes. I think we plan to enable the platform to specify the exact file path. So then the platform can put it wherever.
Last updated: Jul 06 2025 at 12:14 UTC