application.ex (666B)
1 defmodule Credo.Application do 2 @moduledoc false 3 4 use Application 5 6 @worker_modules [ 7 Credo.CLI.Output.Shell, 8 Credo.Service.SourceFileAST, 9 Credo.Service.SourceFileLines, 10 Credo.Service.SourceFileScopes, 11 Credo.Service.SourceFileSource 12 ] 13 14 if Version.match?(System.version(), ">= 1.10.0-rc") do 15 def children do 16 Enum.map(@worker_modules, &{&1, []}) 17 end 18 else 19 def children do 20 import Supervisor.Spec, warn: false 21 Enum.map(@worker_modules, &worker(&1, [])) 22 end 23 end 24 25 def start(_type, _args) do 26 opts = [strategy: :one_for_one, name: Credo.Supervisor] 27 Supervisor.start_link(children(), opts) 28 end 29 end