Mix is a
build automation tool for working with applications written in the
Elixir
ELIXIR (the European life-sciences Infrastructure for biological Information) is an initiative that will allow life science laboratories across Europe to share and store their research data as part of an organised network. Its goal is to bring t ...
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
. Mix was created in 2012 by Anthony Grimes, who took inspiration from Clojure's Leiningen. Soon after, Mix was merged into the Elixir programming language itself and to this day is one of the six applications that are part of the Elixir language. Mix provides functionality for creating, compiling, and testing Elixir
source code
In computing, source code, or simply code, is any collection of code, with or without comment (computer programming), comments, written using a human-readable programming language, usually as plain text. The source code of a Computer program, p ...
and for managing dependencies and deploying Elixir applications.
Mix tasks
Mix provides
tasks to
create
To create is to make a new person, place, thing, or phenomenon. The term and its variants may also refer to:
* Creativity, phenomenon whereby something new and valuable is created
Art, entertainment, and media
* Create (TV network), an America ...
, clean,
build
Build may refer to:
* Engineering something
* Construction
* Physical body stature, especially muscle size; usually of the human body
* Build (game engine), a 1995 first-person shooter engine
* "Build" (song), a 1987 song by The Housemartins
* ...
,
compile,
run, and
test
Test(s), testing, or TEST may refer to:
* Test (assessment), an educational assessment intended to measure the respondents' knowledge or other abilities
Arts and entertainment
* ''Test'' (2013 film), an American film
* ''Test'' (2014 film), ...
Elixir applications. For example, Mix may be used to create a new Elixir project, such as a new hello_world application. Running mix new hello_world will result in
$ mix new hello_world
* creating README.md
* creating .formatter.exs
* creating .gitignore
* creating mix.exs
* creating config
* creating config/config.exs
* creating lib
* creating lib/hello_world.ex
* creating test
* creating test/test_helper.exs
* creating test/hello_world_test.exs
Your Mix project was created successfully.
You can use "mix" to compile it, test it, and more:
cd hello_world
mix test
Run "mix help" for more commands.
Mix projects
Mix uses the information defined in a Mix Project to compile, build, and assemble the application. By convention, this information is typically managed in an Elixir script file named mix.exs. The file may include version information, dependencies, and other configuration information.
Application
As the Elixir build tool, Mix is used on applications that target the Erlang virtual machine (as opposed to the
Java virtual machine
A Java virtual machine (JVM) is a virtual machine that enables a computer to run Java programs as well as programs written in other languages that are also compiled to Java bytecode. The JVM is detailed by a specification that formally describ ...
or the .NET
Common Language Runtime
The Common Language Runtime (CLR), the virtual machine component of Microsoft .NET Framework, manages the execution of .NET programs. Just-in-time compilation converts the managed code (compiled intermediate language code) into machine instruc ...
). Mix is used with web applications built on the Phoenix framework.
See also
*
List of build automation software
Build automation involves scripting or automating the process of compiling computer source code into binary code. Below is a list of notable tools associated with automating build processes.
Make-based
* GNU make, a make implementation with a ...
*
Phoenix (web framework)
Phoenix is a web development framework written in the functional programming language Elixir. Phoenix uses a server-side model–view–controller (MVC) pattern. Based on thPluglibrary, and ultimately thCowboy Erlang framework, it was develop ...
References
External links
Official websiteSource code on GitHub
Build automation
Compiling tools
Software using the MIT license
{{software-eng-stub