File tree 5 files changed +17
-18
lines changed
5 files changed +17
-18
lines changed Original file line number Diff line number Diff line change 1
1
# Run `mix dialyzer --format short` for strings
2
2
[
3
- { "lib/nerves_bootstrap.ex:52 :unknown_function Function Hex.start/0 does not exist." } ,
4
- { "lib/nerves_bootstrap.ex:53 :unknown_function Function Hex.API.Package.get/2 does not exist." }
3
+ { "lib/nerves_bootstrap.ex:41 :unknown_function Function Hex.start/0 does not exist." } ,
4
+ { "lib/nerves_bootstrap.ex:42 :unknown_function Function Hex.API.Package.get/2 does not exist." }
5
5
]
Original file line number Diff line number Diff line change @@ -28,12 +28,19 @@ defmodule Mix.Tasks.Nerves.Bootstrap do
28
28
end
29
29
30
30
if Version . match? ( nerves_ver , "< 1.8.0" ) do
31
- Mix . raise ( ":nerves version requirement not met" )
31
+ Mix . raise ( """
32
+ You are using :nerves #{ nerves_ver } which is incompatible with this version
33
+ of nerves_bootstrap and will result in compilation failures.
34
+
35
+ Please update to :nerves >= 1.8.0 or downgrade your nerves_bootstrap <= 1.11.5
36
+ """ )
32
37
end
33
38
34
- unless Code . ensure_loaded? ( Nerves.Env ) do
39
+ if Mix . target ( ) != :host and not Code . ensure_loaded? ( Nerves.Env ) do
35
40
# The tooling mix tasks are maintained in :nerves so we need to
36
- # ensure it is compiled here first so the tasks are available
41
+ # ensure it is compiled here first so the tasks are available.
42
+ # If the target is host, then this will be handled by the regular
43
+ # compilation process
37
44
_ = Mix.Tasks.Deps.Loadpaths . run ( [ "--no-compile" ] )
38
45
Mix.Tasks.Deps.Compile . run ( [ "nerves" , "--include-children" ] )
39
46
end
Original file line number Diff line number Diff line change @@ -6,19 +6,6 @@ defmodule Nerves.Bootstrap do
6
6
7
7
@ impl Application
8
8
def start ( _type , _args ) do
9
- nerves_ver = nerves_version ( )
10
-
11
- if nerves_ver && Version . match? ( nerves_ver , "< 1.8.0" ) do
12
- message = """
13
- You are using :nerves #{ nerves_ver } which is incompatible with this version
14
- of nerves_bootstrap and will result in compilation failures.
15
-
16
- Please update to :nerves >= 1.8.0 or downgrade your nerves_bootstrap <= 1.11.5
17
- """
18
-
19
- Mix . shell ( ) . info ( [ :yellow , message , :reset ] )
20
- end
21
-
22
9
Nerves.Bootstrap.Aliases . init ( )
23
10
{ :ok , self ( ) }
24
11
end
@@ -37,6 +24,8 @@ defmodule Nerves.Bootstrap do
37
24
if path = Mix.Project . deps_paths ( ) [ :nerves ] do
38
25
Mix.Project . in_project ( :nerves , path , fn _ -> Mix.Project . config ( ) [ :version ] end )
39
26
end
27
+ catch
28
+ _ , _ -> nil
40
29
end
41
30
42
31
@ doc """
Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ defmodule Nerves.Bootstrap.Aliases do
41
41
aliases
42
42
|> append ( "deps.get" , "nerves.bootstrap" )
43
43
|> append ( "deps.get" , "nerves.deps.get" )
44
+ |> prepend ( "deps.precompile" , "nerves.bootstrap" )
44
45
|> replace ( "deps.update" , & Nerves.Bootstrap.Aliases . deps_update / 1 )
45
46
end
46
47
Original file line number Diff line number Diff line change @@ -5,12 +5,14 @@ defmodule Nerves.BootstrapTest do
5
5
deps_loadpaths = [ "nerves.bootstrap" , "nerves.loadpaths" , "deps.loadpaths" ]
6
6
deps_get = [ "deps.get" , "nerves.bootstrap" , "nerves.deps.get" ]
7
7
deps_update = [ & Nerves.Bootstrap.Aliases . deps_update / 1 ]
8
+ deps_precompile = [ "nerves.bootstrap" , "deps.precompile" ]
8
9
deps_compile = [ "nerves.bootstrap" , "nerves.loadpaths" , "deps.compile" ]
9
10
10
11
aliases = Nerves.Bootstrap . add_aliases ( [ ] )
11
12
assert Keyword . get ( aliases , :"deps.loadpaths" ) == deps_loadpaths
12
13
assert Keyword . get ( aliases , :"deps.get" ) == deps_get
13
14
assert Keyword . get ( aliases , :"deps.update" ) == deps_update
15
+ assert Keyword . get ( aliases , :"deps.precompile" ) == deps_precompile
14
16
assert Keyword . get ( aliases , :"deps.compile" ) == deps_compile
15
17
end
16
18
You can’t perform that action at this time.
0 commit comments