---
header-guards:
  description: >
    "Ensure all headers have an include guards"
  extensions: ['h', 'hpp']
  include: ['.']
  exclude:
    - toolkit/components/startup/StartupTimeline.h
    - build/clang-plugin/tests/NonParameterTestCases.h
    - config/external/nspr/_pl_bld.h
    - config/external/nspr/_pr_bld.h
    - config/gcc_hidden.h
    - config/shlwapi-h-constant.decls.h
    - config/shlwapi-h-unicode.decls.h
    - config/windows-h-constant.decls.h
    - config/windows-h-unicode.decls.h
    - dom/events/EventDispatcher.h
    - editor/txmgr/nsTransactionManagerCID.h
    - gfx/vr/service/oculus/ovr_capi_dynamic.h
    - gfx/src/X11UndefineNone.h
    - js/src/tests/style/HeaderCycleB4-inl.h
    - js/src/tests/style/HeaderCycleB3-inl.h
    - js/src/tests/style/HeaderCycleB2-inl.h
    - js/src/tests/style/HeaderCycleB1-inl.h
    - js/src/tests/style/HeaderCycleA3.h
    - js/src/tests/style/HeaderCycleA2.h
    - js/src/tests/style/HeaderCycleA1.h
    - js/src/tests/style/BadIncludesOrder-inl.h
    - js/src/tests/style/BadIncludes2.h
    - js/src/tests/style/BadIncludes2-inl.h
    - js/src/tests/style/BadIncludes.h
    - modules/libpref/init/StaticPrefListBegin.h
    - modules/libpref/init/StaticPrefListEnd.h
    - parser/html/nsHtml5UTF16BufferHSupplement.h
    - parser/html/nsHtml5UTF16BufferCppSupplement.h
    - parser/html/nsHtml5TreeBuilderHSupplement.h
    - parser/html/nsHtml5TreeBuilderCppSupplement.h
    - parser/html/nsHtml5TokenizerHSupplement.h
    - parser/html/nsHtml5TokenizerCppSupplement.h
    - parser/html/nsHtml5PortabilityHSupplement.h
    - security/manager/ssl/StaticHPKPins.h
    - python/mozbuild/mozbuild/test/backend/data/exports-generated/dom1.h
    - python/mozbuild/mozbuild/test/backend/data/exports-generated/foo.h
    - python/mozbuild/mozbuild/test/backend/data/exports-generated/gfx.h
    - python/mozbuild/mozbuild/test/backend/data/exports-generated/mozilla1.h
    - python/mozbuild/mozbuild/test/backend/data/exports/dom1.h
    - python/mozbuild/mozbuild/test/backend/data/exports/dom2.h
    - python/mozbuild/mozbuild/test/backend/data/exports/foo.h
    - python/mozbuild/mozbuild/test/backend/data/exports/gfx.h
    - python/mozbuild/mozbuild/test/backend/data/exports/mozilla1.h
    - python/mozbuild/mozbuild/test/backend/data/exports/mozilla2.h
    - python/mozbuild/mozbuild/test/backend/data/exports/pprio.h
    - python/mozbuild/mozbuild/test/frontend/data/compile-includes/subdir/header.h
    - python/mozbuild/mozbuild/test/frontend/data/exports-generated/foo.h
    - python/mozbuild/mozbuild/test/frontend/data/exports-generated/mozilla1.h
    - python/mozbuild/mozbuild/test/frontend/data/exports-missing-generated/foo.h
    - python/mozbuild/mozbuild/test/frontend/data/exports-missing/foo.h
    - python/mozbuild/mozbuild/test/frontend/data/exports-missing/mozilla1.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/bar.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/baz.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/dom1.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/dom2.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/dom3.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/foo.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/gfx.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/mem.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/mem2.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/mozilla1.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/mozilla2.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/pprio.h
    - python/mozbuild/mozbuild/test/frontend/data/exports/pprthred.h
    - python/mozbuild/mozbuild/test/frontend/data/local_includes-filename/foo.h
    - toolkit/components/maintenanceservice/resource.h
    - tools/clang-tidy/test/structures.h
  type: external
  payload: header_guards:lint
  support-files: ['tools/lint/header_guards/**']
