Current section

Files

Jump to
nerves lib mix tasks compile.nerves_package.ex
Raw

lib/mix/tasks/compile.nerves_package.ex

defmodule Mix.Tasks.Compile.NervesPackage do
use Mix.Task
import Mix.Nerves.IO
require Logger
@moduledoc """
Build a Nerves Artifact from a Nerves Package
"""
@shortdoc "Nerves Package Compiler"
@recursive true
def run(_args) do
debug_info("Compile.NervesPackage start")
config = Mix.Project.config()
Nerves.Env.start()
Nerves.Env.ensure_loaded(Mix.Project.config()[:app])
package = Nerves.Env.package(config[:app])
toolchain = Nerves.Env.toolchain()
ret =
if Nerves.Env.enabled?() and Nerves.Artifact.stale?(package) do
Nerves.Artifact.build(package, toolchain)
:ok
else
:noop
end
debug_info("Compile.NervesPackage end")
ret
end
end