B000.Trash
Delete file hierarchies.
Deleting file hierarchies may be slow. This clears a given path by moving it to a trash directory which can be deleted at the end of the build asynchronously.
val create : B00_std.Fpath.t -> t
create dir
is a trash using directory dir
for data storage. dir
may not exist.
val dir : t -> B00_std.Fpath.t
dir t
is the trash's directory (may not exist)
val trash : t -> B00_std.Fpath.t -> (unit, string) result
trash t p
trashes path p
in dir t
. If p
does not exist this has no effect. Note that p
needs to be on the same device as dir t
and that the latter is created if needed.
delete ~block t
deletes t
's trash directory and its content. If block
is true
the operation is synchronous and blocks until the trash is effectively deleted; if false
the operation is spawn as a separate process.
Note. On Windows block:false
relies on cmd.exe
being available.