Parcourir la source

Only lint app files when compiling

This allows to reduce the number of noise to only checking deps' app
files when they're built, rather than on every run.

Since main apps and checkouts are still compiled every time, the linting
takes place there and then with a higher frequency.
pull/2100/head
Fred Hebert il y a 6 ans
Parent
révision
5c89f25d10
3 fichiers modifiés avec 7 ajouts et 2 suppressions
  1. +6
    -1
      src/rebar_app_utils.erl
  2. +1
    -0
      src/rebar_prv_compile.erl
  3. +0
    -1
      test/rebar_compile_SUITE.erl

+ 6
- 1
src/rebar_app_utils.erl Voir le fichier

@ -37,6 +37,7 @@
parse_dep/6,
expand_deps_sources/2,
dep_to_app/7,
lint_app_info/1,
format_error/1]).
-include("rebar.hrl").
@ -101,7 +102,6 @@ validate_application_info(AppInfo, AppDetail) ->
undefined ->
false;
AppFile ->
lint_detail(AppDetail, AppFile),
case proplists:get_value(modules, AppDetail) of
undefined ->
?PRV_ERROR({module_list, AppFile});
@ -110,6 +110,11 @@ validate_application_info(AppInfo, AppDetail) ->
end
end.
lint_app_info(AppInfo) ->
AppDetails = rebar_app_info:app_details(AppInfo),
AppFile = rebar_app_info:app_file(AppInfo),
lint_detail(AppDetails, AppFile).
-spec lint_detail(list(), file:filename_all()) -> ok.
lint_detail(AppDetail, AppFile) ->
lint_description(AppDetail, AppFile),

+ 1
- 0
src/rebar_prv_compile.erl Voir le fichier

@ -247,6 +247,7 @@ has_all_artifacts(AppInfo1) ->
{false, File} ->
throw(?PRV_ERROR({missing_artifact, File}));
true ->
rebar_app_utils:lint_app_info(AppInfo1),
true
end.

+ 0
- 1
test/rebar_compile_SUITE.erl Voir le fichier

@ -41,7 +41,6 @@ all() ->
dont_recompile_when_erl_compiler_options_env_does_not_change,
recompile_when_erl_compiler_options_env_changes,
rebar_config_os_var,
app_file_linting].
groups() ->

Chargement…
Annuler
Enregistrer