Skip to content

Commit 2a3d631

Browse files
update to use task function for deps.update
1 parent 8c0be50 commit 2a3d631

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

lib/nerves_bootstrap.ex

+11-1
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,19 @@ defmodule Nerves.Bootstrap do
3838
end
3939
end
4040

41+
def deps_update(args) do
42+
Mix.Tasks.Deps.Update.run(args)
43+
Mix.Tasks.Nerves.Deps.Get.run([])
44+
end
45+
4146
@doc """
4247
Add the required Nerves bootstrap aliases to the existing ones
4348
"""
4449
def add_aliases(aliases) do
4550
aliases
4651
|> append("deps.get", "nerves.deps.get")
47-
|> append("deps.update", "nerves.deps.get")
4852
|> prepend("deps.loadpaths", "nerves.loadpaths")
53+
|> replace("deps.update", &Nerves.Bootstrap.deps_update/1)
4954
end
5055

5156
defp append(aliases, a, na) do
@@ -58,6 +63,11 @@ defmodule Nerves.Bootstrap do
5863
Keyword.update(aliases, key, [na, a], &([na | drop(&1, na)]))
5964
end
6065

66+
defp replace(aliases, a, fun) do
67+
key = String.to_atom(a)
68+
Keyword.update(aliases, key, [fun], &(drop(&1, fun) ++ [fun]))
69+
end
70+
6171
defp drop(aliases, a) do
6272
Enum.reject(aliases, &(&1 === a))
6373
end

test/nerves_bootstrap_test.exs

+4-5
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defmodule Nerves.BootstrapTest do
44
test "aliases are injected properly" do
55
deps_loadpaths = ["nerves.loadpaths", "deps.loadpaths"]
66
deps_get = ["deps.get", "nerves.deps.get"]
7-
deps_update = ["deps.update", "nerves.deps.get"]
7+
deps_update = [&Nerves.Bootstrap.deps_update/1]
88

99
aliases = Nerves.Bootstrap.add_aliases([])
1010
assert Keyword.get(aliases, :"deps.loadpaths") == deps_loadpaths
@@ -16,22 +16,21 @@ defmodule Nerves.BootstrapTest do
1616
custom_aliases = [
1717
"deps.loadpaths": ["custom", "deps.loadpaths"],
1818
"deps.get": ["deps.get", "custom"],
19-
"deps.update": ["deps.update", "custom"],
19+
"deps.update": ["custom"],
2020
"custom": ["custom"]
2121
]
2222
aliases = Nerves.Bootstrap.add_aliases(custom_aliases)
2323

2424
assert Keyword.get(aliases, :"deps.loadpaths") == ["nerves.loadpaths", "custom", "deps.loadpaths"]
2525
assert Keyword.get(aliases, :"deps.get") == ["deps.get", "custom", "nerves.deps.get"]
26-
assert Keyword.get(aliases, :"deps.update") == ["deps.update", "custom", "nerves.deps.get"]
26+
assert Keyword.get(aliases, :"deps.update") == ["custom", &Nerves.Bootstrap.deps_update/1]
2727
assert Keyword.get(aliases, :"custom") == ["custom"]
2828
end
2929

3030
test "aliases are dropped if they already exist" do
3131
deps_loadpaths = ["nerves.loadpaths", "deps.loadpaths"]
3232
deps_get = ["deps.get", "nerves.deps.get"]
33-
deps_update = ["deps.update", "nerves.deps.get"]
34-
33+
deps_update = [&Nerves.Bootstrap.deps_update/1]
3534
nerves_aliases = [
3635
"deps.loadpaths": deps_loadpaths
3736
]

0 commit comments

Comments
 (0)