diff options
-rw-r--r-- | src/rebar_compiler_erl.erl | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/rebar_compiler_erl.erl b/src/rebar_compiler_erl.erl index 1ad16d8..6266743 100644 --- a/src/rebar_compiler_erl.erl +++ b/src/rebar_compiler_erl.erl @@ -74,11 +74,15 @@ needed_files(Graph, FoundFiles, _, AppInfo) -> {OtherErls, ErlOpts ++ AdditionalOpts}}. dependencies(Source, SourceDir, Dirs) -> - {ok, Fd} = file:open(Source, [read]), - Incls = parse_attrs(Fd, [], SourceDir), - AbsIncls = expand_file_names(Incls, Dirs), - ok = file:close(Fd), - AbsIncls. + case file:open(Source, [read]) of + {ok, Fd} -> + Incls = parse_attrs(Fd, [], SourceDir), + AbsIncls = expand_file_names(Incls, Dirs), + ok = file:close(Fd), + AbsIncls; + {error, Reason} -> + throw({cannot_read_file, Source, file:format_error(Reason)}) + end. compile(Source, [{_, OutDir}], Config, ErlOpts) -> case compile:file(Source, [{outdir, OutDir} | ErlOpts]) of |