chore: Set up documentation linting with doctor.

This commit is contained in:
James Harton 2023-11-24 15:38:36 +13:00
parent a9b1c35fab
commit 84d5b0adf9
Signed by: james
GPG key ID: 90E82DAA13F624F4
6 changed files with 23 additions and 0 deletions

15
.doctor.exs Normal file
View file

@ -0,0 +1,15 @@
%Doctor.Config{
ignore_modules: [Wafer.Registers],
ignore_paths: [],
min_module_doc_coverage: 40,
min_module_spec_coverage: 0,
min_overall_doc_coverage: 50,
min_overall_moduledoc_coverage: 100,
min_overall_spec_coverage: 0,
exception_moduledoc_required: true,
raise: false,
reporter: Doctor.Reporters.Full,
struct_type_spec_required: true,
umbrella: false,
failed: false
}

View file

@ -5,6 +5,7 @@ defmodule Wafer.Application do
use Application
@doc false
def start(_type, _args) do
children = [
{Registry, [keys: :duplicate, name: Wafer.InterruptRegistry]},

View file

@ -14,6 +14,9 @@ defmodule Wafer.Driver.Fake do
protocols.
"""
@type t :: %__MODULE__{opts: any}
@doc false
@impl Wafer.Conn
def acquire(opts) do
if emit_warning(),

View file

@ -15,6 +15,7 @@ defmodule Wafer.Registers do
@type access_mode :: :ro | :rw | :wo
@type bytes :: non_neg_integer
@doc false
defmacro __using__(_opts) do
quote do
import Wafer.Registers

View file

@ -57,6 +57,7 @@ defmodule Wafer.MixProject do
# Dev/test
{:credo, "~> 1.6", devtest},
{:dialyxir, "~> 1.4", devtest},
{:doctor, "~> 0.21", devtest},
{:earmark, "~> 1.4", devtest},
{:ex_check, "~> 0.15", devtest},
{:ex_doc, ">= 0.0.0", devtest},

View file

@ -4,7 +4,9 @@
"circuits_i2c": {:hex, :circuits_i2c, "2.0.1", "e9ab22f078b403cafd2c5006fff448f9a790f73c04e9135b7ac22f45f2e63c5c", [:make, :mix], [{:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "a1567004389b49637fe34d9dd8bdf36c26a53c269e654753860b5c09532bc3c4"},
"circuits_spi": {:hex, :circuits_spi, "1.3.0", "d66d4c8818739416958cea1d846d66896ab7c28fa42695f1cae3c2c7a3e9e9ca", [:make, :mix], [{:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "56e49b346fdd43185832a03d3de3751c2ce9928ee3ce4a31a364f6548fe2b74c"},
"credo": {:hex, :credo, "1.7.1", "6e26bbcc9e22eefbff7e43188e69924e78818e2fe6282487d0703652bc20fd62", [:mix], [{:bunt, "~> 0.2.1", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2.8", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "e9871c6095a4c0381c89b6aa98bc6260a8ba6addccf7f6a53da8849c748a58a2"},
"decimal": {:hex, :decimal, "2.1.1", "5611dca5d4b2c3dd497dec8f68751f1f1a54755e8ed2a966c2633cf885973ad6", [:mix], [], "hexpm", "53cfe5f497ed0e7771ae1a475575603d77425099ba5faef9394932b35020ffcc"},
"dialyxir": {:hex, :dialyxir, "1.4.2", "764a6e8e7a354f0ba95d58418178d486065ead1f69ad89782817c296d0d746a5", [:mix], [{:erlex, ">= 0.2.6", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "516603d8067b2fd585319e4b13d3674ad4f314a5902ba8130cd97dc902ce6bbd"},
"doctor": {:hex, :doctor, "0.21.0", "20ef89355c67778e206225fe74913e96141c4d001cb04efdeba1a2a9704f1ab5", [:mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}], "hexpm", "a227831daa79784eb24cdeedfa403c46a4cb7d0eab0e31232ec654314447e4e0"},
"earmark": {:hex, :earmark, "1.4.19", "3854a17305c880cc46305af15fb1630568d23a709aba21aaa996ced082fc29d7", [:mix], [{:earmark_parser, ">= 1.4.18", [hex: :earmark_parser, repo: "hexpm", optional: false]}], "hexpm", "d5a8c9f9e37159a8fdd3ea8437fb4e229eaf56d5129b9a011dc4780a4872079d"},
"earmark_parser": {:hex, :earmark_parser, "1.4.19", "de0d033d5ff9fc396a24eadc2fcf2afa3d120841eb3f1004d138cbf9273210e8", [:mix], [], "hexpm", "527ab6630b5c75c3a3960b75844c314ec305c76d9899bb30f71cb85952a9dc45"},
"elixir_ale": {:hex, :elixir_ale, "1.2.1", "07ac2f17a0191b8bd3b0df6b526c7f699a3a4d690c9def573fcb5824eef24d98", [:make, :mix], [{:elixir_make, "~> 0.4", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "bfb099137500a3b8c4a1750cf07f2d704897ef9feac3412064bf9edc7d74193c"},