Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 6489386

Browse files
committed
only adding deps from projects with elixirscript configs
1 parent ac49d97 commit 6489386

File tree

3 files changed

+25
-15
lines changed

3 files changed

+25
-15
lines changed

lib/elixir_script.ex

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,6 @@ defmodule ElixirScript do
123123
|> ElixirScript.Passes.DepsPaths.execute(opts)
124124
|> ElixirScript.Passes.ASTFromFile.execute(opts)
125125
|> ElixirScript.Passes.FindModules.execute(opts)
126-
|> ElixirScript.Passes.RemoveUnused.execute(opts)
127126
|> ElixirScript.Passes.LoadModules.execute(opts)
128127
|> ElixirScript.Passes.FindChangedFiles.execute(opts)
129128
|> ElixirScript.Passes.FilterExjs.execute(opts)

lib/elixir_script/passes/deps_paths.ex

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ defmodule ElixirScript.Passes.DepsPaths do
88
Map.get(opts, :std_lib, false) ->
99
[{opts[:app], [compiler_data.path]}]
1010
Code.ensure_loaded?(Mix) ->
11-
deps = get_deps_paths(:elixirscript)
11+
deps = get_deps_paths(Mix.env)
1212
deps ++ [{opts[:app], [compiler_data.path]}]
1313
true ->
1414
[{opts[:app], [compiler_data.path]}]
@@ -24,12 +24,18 @@ defmodule ElixirScript.Passes.DepsPaths do
2424

2525
defp do_get_deps_paths(deps) do
2626
Enum.reduce(deps, [], fn(dep, list) ->
27-
paths = Mix.Project.in_project dep.app, dep.opts[:dest], fn mixfile -> Mix.Project.config()[:elixirc_paths] end
28-
paths = Enum.map(paths, fn path -> Path.join([dep.opts[:dest], path]) end)
29-
30-
deps = do_get_deps_paths(dep.deps)
31-
32-
deps ++ [{dep.app, paths}] ++ list
27+
elixirscript_config = Mix.Project.in_project dep.app, dep.opts[:dest], fn mixfile -> Mix.Project.config()[:elixirscript] end
28+
29+
paths = case elixirscript_config do
30+
nil ->
31+
list
32+
33+
config ->
34+
paths = Keyword.get(config, :input, "") |> List.wrap
35+
paths = Enum.map(paths, fn path -> Path.join([dep.opts[:dest], path]) end)
36+
deps = do_get_deps_paths(dep.deps)
37+
deps ++ [{dep.app, paths}] ++ list
38+
end
3339
end)
3440
|> Enum.uniq
3541
end

lib/elixir_script/passes/load_modules.ex

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,19 @@ defmodule ElixirScript.Passes.LoadModules do
55
ex_files = Enum.map(compiler_data.data, fn { module, %{path: path} } -> path end)
66
|> Enum.filter(fn path -> Path.extname(path) == ".ex" || Path.extname(path) == ".exs" end)
77

8-
loaded_modules = try do
9-
Kernel.ParallelRequire.files(ex_files)
10-
rescue
11-
_ ->
12-
[]
13-
end
8+
loaded_modules = case ex_files do
9+
[] ->
10+
[]
11+
files ->
12+
try do
13+
Kernel.ParallelRequire.files(files)
14+
rescue
15+
_ ->
16+
[]
17+
end
18+
end
1419

15-
Map.put(compiler_data, :loaded_modules, [])
20+
Map.put(compiler_data, :loaded_modules, loaded_modules)
1621
end
1722

1823
end

0 commit comments

Comments
 (0)