I'd make the counter-argument: mix is a build *tool*, but not your build; 
that's something you should define for your project.

In pretty much all of my projects, I find myself writing a `mix build` 
alias, as a high-level one-stop-shop command, but it looks very different 
for each project—my Bakeware CLI application builds look very different 
from my phoenix umbrella web application build with a custom 
auto-asset-vendoring pipeline.

Perhaps simply having `mix new` create a default alias for `mix build` 
would work here? I'm very against prescribing what it means to build a 
project, but this approach would encourage a common idiom across mix 
projects as well as giving developers a jumping-off-point for when their 
build's complexity grows.

On Thursday, July 13, 2023 at 9:08:55 AM UTC-5 Jonathan Arnett wrote:

> When I first clone an Elixir repository, usually the first thing I do is 
> run `mix do deps.get, compile`.  It gets the job done, but it's a bit 
> verbose.  Build tools in other languages (e.g. Rust's cargo, Haskell's 
> stack, Gleam's gleam) have a "build" command that both pulls dependencies 
> *and* compiles the app.  The proposed "build" command for mix would 
> functionally be the same running `mix do deps.get, compile`, just in a 
> smaller package.
>
> I realize that I can make such an alias in my own projects, and I have, 
> but I wonder if this would be useful for the larger Elixir community.
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/85899dc5-6494-4d6b-b6b7-d074b8823c31n%40googlegroups.com.

Reply via email to