| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
See https://github.com/bazelbuild/bazel/issues/2107
--
Change-Id: I27a97881e3e19cbb7913e1248a24e9e631bc4f40
Reviewed-on: https://cr.bazel.build/8951
PiperOrigin-RevId: 147719277
MOS_MIGRATED_REVID=147719277
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this change:
* Fix pdie and PrintError to acquire the last
error string as the first thing the method does,
otherwise we may display an error coming from
pdie's/PrintError's own logic
* Auto-close file handles in file_test in order to
avoid leaking them in case an assertion fails
(which means an early return from the function)
--
Change-Id: Ia4392b42cbc93b931dcee76993db0ad264d0c147
Reviewed-on: https://cr.bazel.build/8932
PiperOrigin-RevId: 147610527
MOS_MIGRATED_REVID=147610527
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the JNI library's CreateJuction in
file_windows_test.
See https://github.com/bazelbuild/bazel/issues/2107
--
Change-Id: I4ef1536d43691fe7a2ae3ee457064d4e8f4ac6d7
Reviewed-on: https://cr.bazel.build/8895
PiperOrigin-RevId: 147594365
MOS_MIGRATED_REVID=147594365
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The TearDown method clears up after tests, so
manual cleanup is unnecessary.
See https://github.com/bazelbuild/bazel/issues/2107
--
Change-Id: Idf5d2b2bf012774171f1868d1341a7952015c35f
Reviewed-on: https://cr.bazel.build/8894
PiperOrigin-RevId: 147591032
MOS_MIGRATED_REVID=147591032
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the OpenDirectory helper method into the JNI
library. We'll need it there; a subsequent change
will make use of it there.
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 147448792
MOS_MIGRATED_REVID=147448792
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add test helpers to recursively delete the
TEST_TMPDIR in the TearDown method of tests, to
ensure each test sees a fresh temp directory.
Also add tests for these test helpers.
--
PiperOrigin-RevId: 147135561
MOS_MIGRATED_REVID=147135561
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use CreateFileW in blaze_util_windows.cc when
opening the "jvm.out" file. This allows supporting
long paths.
Also use AsWindowsPathWithUncPrefix instead of
just AsWindowsPath plus manually adding the UNC
prefix.
Also fix a compilation error in
file_windows_test.cc, I'm surprised the CI system
didn't catch this, maybe we aren't running this
test there.
See https://github.com/bazelbuild/bazel/issues/2107
See https://github.com/bazelbuild/bazel/issues/2181
--
PiperOrigin-RevId: 144813245
MOS_MIGRATED_REVID=144813245
|
|
|
|
|
|
|
|
| |
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 144321891
MOS_MIGRATED_REVID=144321891
|
|
|
|
|
|
|
|
|
| |
See https://github.com/bazelbuild/bazel/issues/2107
See https://github.com/bazelbuild/bazel/issues/1744
--
PiperOrigin-RevId: 144313301
MOS_MIGRATED_REVID=144313301
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support passing /dev/null and NUL as flag values
for flags like --bazelrc.
In particular, special-case these paths in
methods like blaze_util::ReadFile,
blaze_util::IsDirectory, etc.
Fixes https://github.com/bazelbuild/bazel/issues/2354
RELNOTES[NEW]: Windows: "/dev/null" is now a supported path, e.g. --bazelrc=/dev/null now works
--
PiperOrigin-RevId: 144195994
MOS_MIGRATED_REVID=144195994
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was committed and rolled back twice, once
because I forgot to update file_posix.cc, and
again because the roll-forward was somehow only
partial.
This is a clean attempt at submitting the same
thing again.
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 144179954
MOS_MIGRATED_REVID=144179954
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Bad rollback, was only partial.
*** Original change description ***
Automated [] rollback of commit 9a13899b1492738f8d1a9118cebc9ef9d90c6b34.
*** Reason for rollback ***
Fixed the problem with the CL.
*** Original change description ***
Bazel client, Windows: implement UnlinkPath
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 144115263
MOS_MIGRATED_REVID=144115263
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Fixed the problem with the CL.
*** Original change description ***
Bazel client, Windows: implement UnlinkPath
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 144087552
MOS_MIGRATED_REVID=144087552
|
|
|
|
|
|
|
|
| |
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 144084379
MOS_MIGRATED_REVID=144084379
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks windows:
bazel-out/local-fastbuild/bin/src/main/cpp/util/libfile.a(file_windows.o):file_windows.cc:(.text+0x11e2): multiple definition of `blaze_util::UnlinkPath(std::string const&)'
bazel-out/local-fastbuild/bin/src/main/cpp/util/libfile.a(file_posix.o):file_posix.cc:(.text+0x3ff): first defined here
*** Original change description ***
Bazel client, Windows: implement UnlinkPath
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 144082937
MOS_MIGRATED_REVID=144082937
|
|
|
|
|
|
|
|
| |
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 144073888
MOS_MIGRATED_REVID=144073888
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because CreateProcessW doesn't support long paths,
not even with the "\\?\" prefix [1], we need to
convert long paths to short ones to spawn
processes. This change implements the
corresponding function and uses it in
blaze_util_windows.
[1] https://github.com/bazelbuild/bazel/issues/2181#issuecomment-270696173
See https://github.com/bazelbuild/bazel/issues/2107
See https://github.com/bazelbuild/bazel/issues/2181
--
PiperOrigin-RevId: 144062404
MOS_MIGRATED_REVID=144062404
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method was only used by the Windows-specific
code so move it there and adapt it to Windows
paths.
Update AsWindowsPath to normalize its output: this
is necessary because AsWindowsPath's output is a
widechar path string which we often prefix with
the UNC prefix, but such paths must be normalized
(the kernel won't do it if the path has an UNC
prefix).
Finally, add an AsWindowsPathWithUncPrefix method
which does what the name suggests: converts the
path to Windows path, makes it absolute, and adds
the UNC prefix if necessary. (This is a very common
operation when calling WinAPI functions and we'll
use it a lot in subsequent changes.)
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 144060297
MOS_MIGRATED_REVID=144060297
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Checking if a path exists is surprisingly hard on
Windows. The most convenient API functions are
PathFileExists and GetFileAttributes but neither
of them follows junctions. To check if a junction
is dangling, we have to resolve it all the way.
This change adds a JunctionResolver class to
file_windows, which can resolve junctions (if they
aren't dangling) and non-junctions (in this case
just checks their existence).
See https://github.com/bazelbuild/bazel/issues/2107
See https://github.com/bazelbuild/bazel/issues/2181
--
PiperOrigin-RevId: 143645274
MOS_MIGRATED_REVID=143645274
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make the MSYS root retrieval case-insensitive.
While there, make the MSYS root resetable so we
can test it.
See https://github.com/bazelbuild/bazel/issues/2323
--
PiperOrigin-RevId: 143377137
MOS_MIGRATED_REVID=143377137
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The file_windows.cc:MsysRoot::Get() function was
incorrectly assuming that bash.exe is usually
under c:\tools\msys64\bin\bash.exe when in reality
it's c:\tools\msys64\usr\bin\bash.exe, so we need
to walk up one more directory.
Unfortunately the test was assuming the same so
the bug wasn't caught.
The new code is a bit more foolproof in that it
looks for an msys-looking final path segment and
assumes that to be the msys root.
Fixes https://github.com/bazelbuild/bazel/issues/2323
--
PiperOrigin-RevId: 143372193
MOS_MIGRATED_REVID=143372193
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method converts MSYS paths to Windows path.
It uses the BAZEL_SH envvar to obtain the MSYS
root directory, to which all Unix paths (except
for mounts) are relative.
We cannot handle mounts because we don't want to
read /etc/mtab every time there's a file operation
so we simply apply a heuristic similar to
https://github.com/bazelbuild/bazel/blob/cd4cc09fa6ef96380a3d0888f825dfd1dbada651/src/main/java/com/google/devtools/build/lib/vfs/WindowsFileSystem.java#L52-L63
Also clean up the #ifdefs surrounding SyncFile.
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 142531986
MOS_MIGRATED_REVID=142531986
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use/implement utility methods to join paths, check
if they are the root directory or are absolute,
etc. Doing so (instead of say checking if a path
starts with "/") allows for correct behavior on
Windows.
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 142446027
MOS_MIGRATED_REVID=142446027
|
|
This allows correct behavior of Dirname and
Basename on Windows.
See https://github.com/bazelbuild/bazel/issues/2107
--
PiperOrigin-RevId: 142441234
MOS_MIGRATED_REVID=142441234
|