From cbe84c7a7448413d8f72c8b6e4a5b5b759a493b0 Mon Sep 17 00:00:00 2001 From: Daniel Gorin Date: Sun, 28 Sep 2025 15:22:12 +0100 Subject: [PATCH] Use -include_lib() instead of -include("../include/...") Usage of `-include("../include/foo.hrl").` force code-analysis tools to handle relative paths that escape the root, which adds unnecessary complexity. We can instead be consistent and use only `-include_lib()` --- lib/edoc/src/Makefile | 3 ++- lib/edoc/src/edoc_doclet.erl | 2 +- lib/edoc/src/edoc_doclet_chunks.erl | 2 +- lib/edoc/src/edoc_doclet_markdown.erl | 2 +- lib/et/src/et_collector.erl | 2 +- lib/et/src/et_selector.erl | 2 +- lib/et/src/et_viewer.erl | 2 +- lib/et/src/et_wx_contents_viewer.erl | 2 +- lib/et/src/et_wx_viewer.erl | 2 +- lib/kernel/src/auth.erl | 2 +- lib/stdlib/src/erl_bits.erl | 2 +- lib/wx/api_gen/wx_extra/wxEvtHandler.erl | 2 +- lib/wx/src/gen/wxEvtHandler.erl | 2 +- lib/wx/src/wx.erl | 2 +- lib/wx/src/wx_object.erl | 2 +- lib/wx/src/wxe_server.erl | 2 +- 16 files changed, 17 insertions(+), 16 deletions(-) diff --git a/lib/edoc/src/Makefile b/lib/edoc/src/Makefile index e62462996a93..aba27ab3d5e1 100644 --- a/lib/edoc/src/Makefile +++ b/lib/edoc/src/Makefile @@ -48,7 +48,8 @@ RELSYSDIR = $(RELEASE_PATH)/lib/edoc-$(VSN) EBIN = ../ebin XMERL = ../../xmerl -ERL_COMPILE_FLAGS += -pa $(XMERL) -I../include -I$(XMERL)/include +warn_unused_vars +warn_unused_import +warn_deprecated_guard +no_docs +nowarn_missing_spec_documented +warn_deprecated_catch -Werror +ERL_COMPILE_FLAGS += -pa $(XMERL) -I../include -I$(XMERL)/include -I${ERL_TOP}/lib +ERL_COMPILE_FLAGS += +warn_unused_vars +warn_unused_import +warn_deprecated_guard +no_docs +nowarn_missing_spec_documented +warn_deprecated_catch -Werror include files.mk diff --git a/lib/edoc/src/edoc_doclet.erl b/lib/edoc/src/edoc_doclet.erl index d87650b02a3f..1929d55f5565 100644 --- a/lib/edoc/src/edoc_doclet.erl +++ b/lib/edoc/src/edoc_doclet.erl @@ -53,7 +53,7 @@ -import(edoc_report, [report/2, warning/2]). %% @headerfile "../include/edoc_doclet.hrl" --include("../include/edoc_doclet.hrl"). +-include_lib("edoc/include/edoc_doclet.hrl"). -define(EDOC_APP, edoc). -define(DEFAULT_FILE_SUFFIX, ".html"). diff --git a/lib/edoc/src/edoc_doclet_chunks.erl b/lib/edoc/src/edoc_doclet_chunks.erl index c10c721eeab5..d553b03fbe9e 100644 --- a/lib/edoc/src/edoc_doclet_chunks.erl +++ b/lib/edoc/src/edoc_doclet_chunks.erl @@ -53,7 +53,7 @@ -import(edoc_report, [report/2]). %% @headerfile "../include/edoc_doclet.hrl" --include("../include/edoc_doclet.hrl"). +-include_lib("edoc/include/edoc_doclet.hrl"). -define(DEFAULT_FILE_SUFFIX, ".chunk"). -define(CHUNKS_DIR, "chunks"). diff --git a/lib/edoc/src/edoc_doclet_markdown.erl b/lib/edoc/src/edoc_doclet_markdown.erl index 577c754af45c..fbd58399fbf9 100644 --- a/lib/edoc/src/edoc_doclet_markdown.erl +++ b/lib/edoc/src/edoc_doclet_markdown.erl @@ -58,7 +58,7 @@ -export([run/2]). %% @headerfile "../include/edoc_doclet.hrl" --include("../include/edoc_doclet.hrl"). +-include_lib("edoc/include/edoc_doclet.hrl"). -include_lib("xmerl/include/xmerl.hrl"). -include_lib("kernel/include/eep48.hrl"). diff --git a/lib/et/src/et_collector.erl b/lib/et/src/et_collector.erl index 5f8d6f093e1e..8549ba9a7c7d 100644 --- a/lib/et/src/et_collector.erl +++ b/lib/et/src/et_collector.erl @@ -71,7 +71,7 @@ Interface module for the Event Trace (ET) application -compile([{nowarn_deprecated_function,[{erlang,now,0}]}]). -include("et_internal.hrl"). --include("../include/et.hrl"). +-include_lib("et/include/et.hrl"). -record(state, {parent_pid, auto_shutdown, % Optionally shutdown when the last subscriber dies diff --git a/lib/et/src/et_selector.erl b/lib/et/src/et_selector.erl index a9e9cd1b5380..28b4298f812f 100644 --- a/lib/et/src/et_selector.erl +++ b/lib/et/src/et_selector.erl @@ -32,7 +32,7 @@ -compile([{nowarn_deprecated_function,[{erlang,now,0}]}]). --include("../include/et.hrl"). +-include_lib("et/include/et.hrl"). -type event() :: #event{}. diff --git a/lib/et/src/et_viewer.erl b/lib/et/src/et_viewer.erl index 1b61273fce18..c1f8d0466522 100644 --- a/lib/et/src/et_viewer.erl +++ b/lib/et/src/et_viewer.erl @@ -38,7 +38,7 @@ stop/1, get_collector_pid/1]). --include("../include/et.hrl"). +-include_lib("et/include/et.hrl"). -include("et_internal.hrl"). -define(unknown, "UNKNOWN"). diff --git a/lib/et/src/et_wx_contents_viewer.erl b/lib/et/src/et_wx_contents_viewer.erl index dbd78a494b83..c0a016e1f68c 100644 --- a/lib/et/src/et_wx_contents_viewer.erl +++ b/lib/et/src/et_wx_contents_viewer.erl @@ -37,7 +37,7 @@ handle_call/3, handle_cast/2, handle_info/2, handle_event/2]). --include("../include/et.hrl"). +-include_lib("et/include/et.hrl"). -include("et_internal.hrl"). -include_lib("wx/include/wx.hrl"). diff --git a/lib/et/src/et_wx_viewer.erl b/lib/et/src/et_wx_viewer.erl index 774285fb6f37..e73be68d0f1e 100644 --- a/lib/et/src/et_wx_viewer.erl +++ b/lib/et/src/et_wx_viewer.erl @@ -35,7 +35,7 @@ -export([init/1, terminate/2, code_change/3, handle_call/3, handle_cast/2, handle_info/2]). --include("../include/et.hrl"). +-include_lib("et/include/et.hrl"). -include("et_internal.hrl"). -include_lib("wx/include/wx.hrl"). diff --git a/lib/kernel/src/auth.erl b/lib/kernel/src/auth.erl index 7b5bb774e0c8..a0a81f09a1db 100644 --- a/lib/kernel/src/auth.erl +++ b/lib/kernel/src/auth.erl @@ -61,7 +61,7 @@ Manual. }). -type state() :: #state{}. --include("../include/file.hrl"). +-include_lib("kernel/include/file.hrl"). %%---------------------------------------------------------------------- %% Exported functions diff --git a/lib/stdlib/src/erl_bits.erl b/lib/stdlib/src/erl_bits.erl index 883fa08b55c0..a3f6df18eede 100644 --- a/lib/stdlib/src/erl_bits.erl +++ b/lib/stdlib/src/erl_bits.erl @@ -28,7 +28,7 @@ set_bit_type/2, as_list/1]). --include("../include/erl_bits.hrl"). +-include_lib("stdlib/include/erl_bits.hrl"). %% Dummies. diff --git a/lib/wx/api_gen/wx_extra/wxEvtHandler.erl b/lib/wx/api_gen/wx_extra/wxEvtHandler.erl index 9f6026c414c8..1861d1795faa 100644 --- a/lib/wx/api_gen/wx_extra/wxEvtHandler.erl +++ b/lib/wx/api_gen/wx_extra/wxEvtHandler.erl @@ -28,7 +28,7 @@ wxWidgets docs: [wxEvtHandler](https://docs.wxwidgets.org/3.2/classwx_evt_handler.html) """. -include("wxe.hrl"). --include("../include/wx.hrl"). +-include_lib("wx/include/wx.hrl"). %% API -export([connect/2, connect/3, disconnect/1, disconnect/2, disconnect/3]). diff --git a/lib/wx/src/gen/wxEvtHandler.erl b/lib/wx/src/gen/wxEvtHandler.erl index 36c7b15cb8cf..2eb5bf8ec5e6 100644 --- a/lib/wx/src/gen/wxEvtHandler.erl +++ b/lib/wx/src/gen/wxEvtHandler.erl @@ -85,7 +85,7 @@ wxWidgets docs: [wxEvtHandler](https://docs.wxwidgets.org/3.2/classwx_evt_handler.html) """. -include("wxe.hrl"). --include("../include/wx.hrl"). +-include_lib("wx/include/wx.hrl"). %% API -export([connect/2, connect/3, disconnect/1, disconnect/2, disconnect/3]). diff --git a/lib/wx/src/wx.erl b/lib/wx/src/wx.erl index 0dfa97803e00..fdd0d490acae 100644 --- a/lib/wx/src/wx.erl +++ b/lib/wx/src/wx.erl @@ -195,7 +195,7 @@ Global (classless) functions are located in the wx_misc module. wx_enum/0, wx_wxMouseState/0, wx_wxHtmlLinkInfo/0]). -include("wxe.hrl"). --include("../include/wx.hrl"). +-include_lib("wx/include/wx.hrl"). -type wx_object() :: #wx_ref{}. %% Opaque object reference -type wx_env() :: #wx_env{}. %% Opaque process environment diff --git a/lib/wx/src/wx_object.erl b/lib/wx/src/wx_object.erl index d1b2565e9808..63044e113b43 100644 --- a/lib/wx/src/wx_object.erl +++ b/lib/wx/src/wx_object.erl @@ -198,7 +198,7 @@ Example: [wx:wx_object()](`m:wx#type-wx_object`) | atom() | pid()** """. -include("wxe.hrl"). --include("../include/wx.hrl"). +-include_lib("wx/include/wx.hrl"). %% API -export([start/3, start/4, diff --git a/lib/wx/src/wxe_server.erl b/lib/wx/src/wxe_server.erl index c7111751017c..b22cb01e5def 100644 --- a/lib/wx/src/wxe_server.erl +++ b/lib/wx/src/wxe_server.erl @@ -47,7 +47,7 @@ -define(log(S,A), log(?MODULE_STRING,?LINE,S,A)). -include("wxe.hrl"). --include("../include/wx.hrl"). +-include_lib("wx/include/wx.hrl"). %%==================================================================== %% API