load_and_validate_source_files.ex (679B)
1 defmodule Credo.CLI.Task.LoadAndValidateSourceFiles do 2 @moduledoc false 3 4 use Credo.Execution.Task 5 6 alias Credo.CLI.Output 7 alias Credo.Sources 8 9 def call(exec, _opts \\ []) do 10 {time_load, source_files} = 11 :timer.tc(fn -> 12 exec 13 |> Sources.find() 14 |> Enum.group_by(& &1.status) 15 end) 16 17 Output.complain_about_invalid_source_files(Map.get(source_files, :invalid, [])) 18 Output.complain_about_timed_out_source_files(Map.get(source_files, :timed_out, [])) 19 20 valid_source_files = Map.get(source_files, :valid, []) 21 22 exec 23 |> put_source_files(valid_source_files) 24 |> put_assign("credo.time.source_files", time_load) 25 end 26 end