zig/lib/std/os
Andrew Kelley 66e76a0209
zig build system: correctly handle multiple output artifacts
Previously the zig build system incorrectly assumed that the only build
artifact was a binary. Now, when you enable the cache, only the output
dir is printed to stdout, and the zig build system iterates over the
files in that directory, copying them to the output directory.

To support this change:

 * Add `std.os.renameat`, `std.os.renameatZ`, and `std.os.renameatW`.
 * Fix `std.os.linux.renameat` not compiling due to typos.
 * Deprecate `std.fs.updateFile` and `std.fs.updateFileMode`.
 * Add `std.fs.Dir.updateFile`, which supports using open directory
   handles for both the source and destination paths, as well as an
   options parameter which allows overriding the mode.
 * Update `std.fs.AtomicFile` to support operating based on an open
   directory handle. Instead of `std.fs.AtomicFile.init`, use
   `std.fs.Dir.atomicFile`.
 * `std.fs.AtomicFile` deinit() better handles the situation when the
    rename fails but the temporary file still exists, by still
    attempting to remove the temporary file.
 * `std.fs.Dir.openFileWindows` is moved to `std.os.windows.OpenFileW`.
 * `std.os.RenameError` gains the error codes `NoDevice`,
   `SharingViolation`, and `PipeBusy` which have been observed from
   Windows.

Closes #4733
2020-03-13 21:22:08 -04:00
..
bits std: Fix detection of Linux kernel version 2020-03-10 12:55:35 -04:00
linux Added comment justifying wrapping operations 2020-03-03 12:41:11 +02:00
uefi std/os/uefi: file protocol improvements 2020-03-12 23:23:21 +01:00
windows zig build system: correctly handle multiple output artifacts 2020-03-13 21:22:08 -04:00
bits.zig introduce operating system version ranges as part of the target 2020-02-28 14:51:53 -05:00
darwin.zig get rid of std.os.foo.is_the_target 2019-10-24 01:14:52 -04:00
dragonfly.zig DragonFlyBSD support 2019-10-30 21:21:58 -04:00
freebsd.zig get rid of std.os.foo.is_the_target 2019-10-24 01:14:52 -04:00
linux.zig zig build system: correctly handle multiple output artifacts 2020-03-13 21:22:08 -04:00
netbsd.zig get rid of std.os.foo.is_the_target 2019-10-24 01:14:52 -04:00
test.zig fix footguns in File readAll functions 2020-03-11 13:06:30 -04:00
uefi.zig Merge branch 'format-stream' of https://github.com/fengb/zig into fengb-format-stream 2020-03-13 11:31:11 -04:00
wasi.zig Removes proc_raise from WASI implementation 2020-01-06 14:04:55 -05:00
windows.zig zig build system: correctly handle multiple output artifacts 2020-03-13 21:22:08 -04:00