Packages
nerves
1.10.0
1.15.0
1.14.3
1.14.2
1.14.1
1.14.0
1.13.2
1.13.1
1.13.0
1.12.0
1.11.3
1.11.2
1.11.1
1.11.0
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.3
1.9.2
retired
1.9.1
1.9.0
1.8.0
1.7.17
1.7.16
1.7.15
1.7.14
retired
1.7.13
1.7.12
1.7.11
1.7.10
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
retired
1.7.1
retired
1.7.0
retired
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.5
1.4.4
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.1
1.1.0
1.0.1
1.0.0
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.11.0
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.4.0-rc.0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.0
Craft and deploy bulletproof embedded software
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/nerves.artifact.details.ex
defmodule Mix.Tasks.Nerves.Artifact.Details do
@shortdoc "Prints Nerves artifact details"
@moduledoc """
Prints Nerves artifact details.
This displays various details.
## Examples
$ mix nerves.artifact.details nerves_system_rpi0
If the command is called without the package name,
`Nerves.Project.config()[:app]` will be used by default.
"""
use Mix.Task
import Mix.Nerves.IO
alias Nerves.Artifact
require Logger
@recursive true
@impl Mix.Task
def run(argv) do
debug_info("Nerves.Artifact.Details start")
# We should have attempted precompile before this, but run it
# here just in case. Noop if it has already been run.
Mix.Task.run("nerves.precompile", [])
package_name =
case OptionParser.parse(argv, switches: []) do
{_, [p | _], _} -> String.to_atom(p)
_ -> Mix.Project.config()[:app]
end
package = Nerves.Env.package(package_name)
if is_nil(package), do: Mix.raise("Could not find Nerves package #{package_name} in env")
Mix.shell().info("""
Version: #{package.version}
Checksum: #{Artifact.checksum(package)}
Checksum Short: #{Artifact.checksum(package, short: Artifact.__checksum_short_length__())}
Name: #{Artifact.name(package)}
Download Name: #{Artifact.download_name(package)}
Download File Name: #{Artifact.download_name(package)}#{Artifact.ext(package)}
Download Path: #{Artifact.download_path(package)}
Sites: #{inspect(Keyword.get(package.config, :artifact_sites, []))}
Base Directory: #{Artifact.base_dir()}
Path: #{Artifact.dir(package)}
Build Path: #{Artifact.build_path(package)}
""")
debug_info("Nerves.Artifact.Details end")
end
end