Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/bazelbuild/bazel.git. Pull mirroring updated .
  1. Nov 06, 2024
    • Xùdōng Yáng's avatar
      docs for REPO.bazel · f53c30a0
      Xùdōng Yáng authored
      f53c30a0
    • Googler's avatar
      Add a link to the BazelCon 2024 talk on how we handle globs. · 27082e3a
      Googler authored
      PiperOrigin-RevId: 693503398
      Change-Id: I78c267e223ae64ab7fba81cdebc72a87bdba3782
      27082e3a
    • Fabian Meumertzheim's avatar
      Force the JVM to use UTF-8 on Windows · 7bb8d2b6
      Fabian Meumertzheim authored
      This change patches the app manifest of the `java.exe` launcher in the embedded JDK to always use the UTF-8 codepage on Windows 1903 and later.
      
      This is necessary because the launcher sets sun.jnu.encoding to the system code page, which by default is a legacy code page such as Cp1252 on Windows. This causes the JVM to be unable to interact with files whose paths contain Unicode characters not representable in the system code page, as well as command-line arguments and environment variables containing such characters.
      
      The Windows VMs in CI are not running Windows 1903 or later yet, so this change can currently only be tested locally by running `bazel info character-encoding` and verifying that it prints `sun.jnu.encoding = UTF-8`.
      
      Work towards https://github.com/bazelbuild/bazel/issues/374
      Work towards https://github.com/bazelbuild/bazel/issues/18293
      Work towards https://github.com/bazelbuild/bazel/issues/23859
      
      Closes #24172.
      
      PiperOrigin-RevId: 693466466
      Change-Id: I4914c21e846493a8880ac8c6f5e1afa9fae87366
      7bb8d2b6
    • Googler's avatar
      Fix flag name referenced in `build_event_stream.proto`. · 47e5502b
      Googler authored
      The BEP may now be configured to report files inline in the `TargetComplete`
      event on a per-output group basis, if the flag
      `--experimental_build_event_output_group_mode` is set appropriately.  The
      `.proto` file references the correct flag name now.
      
      h/t to @sluongng for pointing out this discrepancy.
      
      RELNOTES: n/a
      PiperOrigin-RevId: 693463641
      Change-Id: Ie0fec48a94ce665aeeaf0c46cf2bed88fd3fd6ba
      47e5502b
    • Fabian Meumertzheim's avatar
      Include apparent names of deps in `bazel mod` JSON output · 1003d2c3
      Fabian Meumertzheim authored
      This allows IDEs to query for the direct dependencies of the root module as well as how they can refer to them from the point of view of the root module.
      
      Also always emit `name` and `version` so that consumers don't have to know how to parse module keys.
      
      Work towards #22691
      
      Closes #23787.
      
      PiperOrigin-RevId: 693453084
      Change-Id: Ie3fd5e89301d8e83d0eaa686188634923853f01a
      1003d2c3
    • Googler's avatar
      Update documentation of `//tools/cpp:current_cc_toolchain` to instead refer to · c79bc212
      Googler authored
      `//tools/cpp:toolchain_type`.
      
      PiperOrigin-RevId: 693392965
      Change-Id: Ic6a3d3bad51574aeb4e15c6ab4f7d4416543c470
      c79bc212
    • Googler's avatar
      Handle action-less RemoteConfiguredTargetValues in CriticalPathComputer. · 2ebc759a
      Googler authored
      The critical path computation was recently reworked to query skyframe for the
      owning analysis node of an action that produced an input artifact to another
      action in some cases, but in analysis caching builds, the analysis node may be
      a deserialized analysis node and doesn't contain actions. For these cases, skip
      the action for critical path computation.
      
      PiperOrigin-RevId: 693363716
      Change-Id: Iace4e723274807d5e69483b9841ac2f0aa0029b4
      2ebc759a
    • Googler's avatar
      Extract methods to acquire and release a filesystem lock. · 576a6ca2
      Googler authored
      They are currently only used to acquire a lock on the output base, but a future change will use them to lock the install base as well.
      
      Human-readable output is also amended to refer to the "output base lock" instead of the "client lock", as the latter term becomes ambiguous once multiple locks exist.
      
      Progress on #2109.
      
      PiperOrigin-RevId: 693354279
      Change-Id: I2b39e6f5ddb83bbc2be15a31d7de9655358776c5
      576a6ca2
  2. Nov 05, 2024
    • Googler's avatar
      Stops serializing Actions inside AspectValue. · 129c89dc
      Googler authored
      PiperOrigin-RevId: 693337121
      Change-Id: Ieb601de778bc8359959cce52123c4d2e43973bed
      129c89dc
    • Googler's avatar
      Improve the documentation for client/server synchronization. · 540958d4
      Googler authored
      On Unix we use a fcntl() lock, not flock(), and on Windows we use LockFileEx.
      
      PiperOrigin-RevId: 693314236
      Change-Id: I6facfe2da1c2ece0bf75b6a815f73301e2db64b0
      540958d4
    • Googler's avatar
      Cleanups in the wake of... · 1f0db430
      Googler authored
      Cleanups in the wake of https://github.com/bazelbuild/bazel/commit/9c6d24f3f7595fc293415c8f60b05360a4ed8f85.
      
      RELNOTES: None.
      PiperOrigin-RevId: 693291109
      Change-Id: Ia02b8d7495883e16fc3f021807fbca0015b3ad40
      1f0db430
    • Googler's avatar
      Update rules_java v8.3.0 · 8ce16617
      Googler authored
      Closes #24143.
      
      PiperOrigin-RevId: 693275804
      Change-Id: I052d7472beebafb1ca6c021ac4aafceb6b2aa6b7
      8ce16617
    • Fabian Meumertzheim's avatar
      Improve support for spaces in output base · de9debba
      Fabian Meumertzheim authored
      Closes #24016.
      
      PiperOrigin-RevId: 693253221
      Change-Id: I3c51ed1900bd3fa47a3448239389e57cb5505fa6
      de9debba
    • Lukacs T. Berki's avatar
      Implement ignoring directories based on wildcards. · 9c6d24f3
      Lukacs T. Berki authored
      This is accomplished by a new directive in REPO.bazel, "ignore_directories()". It takes a single argument, a list of directories to ignore and it allows the same wildcards as glob().
      
      This is done separately from .bazelignore to provide a migration path off of that weird single-purpose configuration file.
      
      Implementing this requires splitting RepoFileFunction into two: a part that parses the repository file and one that creates a PackageArgs instance. This was necessary to avoid a Skyframe dependency cycle: when a WORKSPACE file is present and it loads a .bzl file from a repository with a REPO.bazel file, the repo mapping for the main repository depends on the WORKSPACE file, which depends on the .bzl file, which depends on the IgnoredPackagePrefixesValue of its repository, which then depends on the repo mapping of the main repository and the one the .bzl file is in, which then depend on the WORKSPACE file.
      
      Fixes #7093.
      
      RELNOTES[NEW]: REPO.bazel now allows another directive, "ignore_directories()". It takes a list of directories to ignore just like .bazelignore does, but with glob semantics.
      
      Closes #24032.
      
      PiperOrigin-RevId: 693227896
      Change-Id: Ia3e02a2bfe9caf999fc641f75261b528b19c1d03
      9c6d24f3
    • Fabian Meumertzheim's avatar
      Export Unix `cc_toolchain_config` for backwards compatibility · e14d524c
      Fabian Meumertzheim authored
      This unbreaks `toolchains_llvm`, which depends on this symbol. In the future, the new modular C++ toolchain API should make the symbol obsolete.
      
      Closes #24154.
      
      PiperOrigin-RevId: 693084632
      Change-Id: Ica26f547c548fe3d25b3d57bdf2d432fd8f239ad
      e14d524c
    • Googler's avatar
      Fix links to externally generated docs · dcf80a0d
      Googler authored
      Matching the version with what Bazel is currently using and generating docs from.
      
      PiperOrigin-RevId: 692984290
      Change-Id: I07cd096abd461be5374fe53e3ccf8d6b28e0181d
      dcf80a0d
    • Googler's avatar
      Make the Windows implementation of AcquireLock compatible with JVM locks. · ae84eb88
      Googler authored
      Currently, we rely on CreateFile to effectively obtain an exclusive (write) lock on the entire file, which makes the later call to LockFileEx redundant. This CL makes it so that we open the file in shared mode, and actually use LockFileEx to lock it.
      
      This makes a client-side lock compatible with a server-side one obtained through the JVM (which defaults to opening files in shared mode and uses LockFileEx for locking). Even though this doesn't matter for the output base lock, which is only ever obtained from the client side (the server side doesn't use filesystem-based locks), it will be necessary to implement install base locking (as part of fixing #2109).
      
      Note that this means an older Bazel might immediately exit instead of blocking for the lock, if the latter was previously acquired by a newer Bazel (since the older Bazel will always CreateFile successfully, but treat the subsequent LockFileEx failure as an unrecoverable error). However, this only matters during the very small window during which the client-side lock is held (it's taken over by the server-side lock in very short order), so I believe this is a very small price to pay to avoid adding more complexity.
      
      RELNOTES[INC]: On Windows, a change to the output base locking protocol might cause an older Bazel invoked immediately after a newer Bazel (on the same output base) to error out instead of blocking for the lock, even if --block_for_lock is enabled.
      
      PiperOrigin-RevId: 692973056
      Change-Id: Iaf1ccecfb4c138333ec9d7a694b10caf96b2917b
      ae84eb88
  3. Nov 04, 2024
  4. Nov 02, 2024
  5. Nov 01, 2024