module Build_path_prefix_map:sig
..end
Rewrite paths for reproducible builds
Warning: this module is unstable and part of compiler-libs.
typepath =
string
typepath_prefix =
string
typeerror_message =
string
val encode_prefix : path_prefix -> string
val decode_prefix : string ->
(path_prefix, error_message)
result
type
pair = {
|
target : |
|
source : |
}
val encode_pair : pair -> string
val decode_pair : string ->
(pair, error_message)
result
typemap =
pair option list
val encode_map : map -> string
val decode_map : string ->
(map, error_message)
result
val rewrite_first : map ->
path -> path option
rewrite_first map path
tries to find a source in map
that is a prefix of the input path
. If it succeeds,
it replaces this prefix with the corresponding target.
If it fails, it just returns None
.
val rewrite_all : map ->
path -> path list
rewrite_all map path
finds all sources in map
that are a prefix of the input path
. For each matching
source, in priority order, it replaces this prefix with
the corresponding target and adds the result to
the returned list.
If there are no matches, it just returns []
.
val rewrite : map ->
path -> path
rewrite path
uses rewrite_first
to try to find a
mapping for path. If found, it returns that, otherwise
it just returns path
.