Packages
nerves_bootstrap
1.0.0-rc.3
1.16.0
1.15.3
1.15.2
1.15.1
1.15.0
1.14.5
1.14.4
1.14.3
1.14.2
1.14.0
1.13.1
1.13.0
1.12.2
1.12.1
1.12.0
1.11.5
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.10.6
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.0
1.8.1
1.8.0
1.7.1
1.7.0
1.6.3
1.6.2
1.6.1
1.6.0
1.5.3
1.5.2
1.5.1
1.5.0
1.4.3
1.4.2
1.4.1
1.4.0
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.1
1.2.0
1.1.0
1.0.1
1.0.0
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.4
0.6.3
Nerves mix integration bootstrap and new project generator
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/nerves/clean.ex
defmodule Mix.Tasks.Nerves.Clean do
use Mix.Task
import Mix.Nerves.IO
@shortdoc "Cleans dependencies and build artifacts"
@moduledoc """
Cleans dependencies and build artifacts
Since this is a destructive action, cleaning of dependencies
only occurs when one of the following are specified:
* `dep1 dep2` - the names of Nerves dependencies to be cleaned, separated by spaces
* `--all` - cleans all Nerves dependencies
"""
@switches [all: :boolean]
def run(argv) do
debug_info("Clean Start")
{opts, packages, _} = OptionParser.parse(argv, switches: @switches)
# Start the Nerves env with the precompiler disabled
# so we can clean the package without building it.
Mix.Tasks.Nerves.Env.run(["--disable"])
packages =
case packages do
[] ->
if opts[:all] do
Nerves.Env.packages()
else
Mix.raise("""
You must specify the Nerves dependencies to clean, seperated by spaces
Example:
mix nerves.clean nerves_system_rpi3
Or by passing --all
mix nerves.clean --all
""")
end
packages ->
packages
|> Enum.map(&String.to_existing_atom/1)
|> Enum.map(&Nerves.Env.package/1)
end
debug_info("Clean End")
Nerves.Env.clean(packages)
end
end