erlang-language-platform/test_projects/include_lib_dependency_test/extra_app
Alan Zimmerman c46e6934af Use buck dependencies when resolving include_lib
Summary:
It is time to explicitly check that the application referred to in an `include_lib` directive is part of the (transitive) dependencies of the originating file application (== buck target).

This processing is currently only applied to buck projects, so the `basedb::include` processing is updated to distinguish between the case where there is a mapping, and where there is not. Prior to this it tried the include mapping and fell back to more lax processing. This is no longer valid, as we may explicitly decide that an `include_lib` should **not** be resolved, in which case there should be no fallback processing.

We also need to clearly distinguish between a local lookup and an `include_lib` lookup in the `IncludeMapping`.  We do so by encoding the key into the hashmap of include strings to paths with an `L:` or 'R:` for the two cases.

An alternative would be to store a tuple of `(IncludeMappingScope, <lookup_path>)`.

Reviewed By: TheGeorge

Differential Revision: D77937818

fbshipit-source-id: bb3827b0ead94103025f784c4ff713991418f944
2025-07-21 04:58:39 -07:00
..
include Use buck dependencies when resolving include_lib 2025-07-21 04:58:39 -07:00
src Use buck dependencies when resolving include_lib 2025-07-21 04:58:39 -07:00