Skip to content
  1. Jan 17, 2025
  2. Jan 16, 2025
  3. Jan 15, 2025
    • Matthew Clarkson's avatar
    • Matthew Clarkson's avatar
      test: make `genrule` manual targets · f406e6b1
      Matthew Clarkson authored
      Avoids building during `bazel build ...`
      f406e6b1
    • Matthew Clarkson's avatar
    • Matthew Clarkson's avatar
    • Matthew Clarkson's avatar
      test: executing Python binraries is borked · 7233458a
      Matthew Clarkson authored
      ```
      INFO: Analyzed target //toolchain/runfiles:binary (1 packages loaded, 39 targets configured). INFO: Found 1 target... Target //toolchain/runfiles:binary up-to-date:
        bazel-bin/toolchain/runfiles/binary.zip bazel-bin/toolchain/runfiles/binary.exe
      INFO: Elapsed time: 3.179s, Critical Path: 0.37s INFO: 3 processes: 11 action cache hit, 3 internal. INFO: Build completed successfully, 3 total actions INFO: Running command line:
      bazel-bin/toolchain/runfiles/binary.exe Traceback (most recent call last):
        File "C:\Users\matcla01\_bazel_matcla01\ki4xcn37\execroot\_main\bazel-out\x64_windows-fastbuild\bin\toolchain\runfiles\binary.zip\__main__.py", line 289, in main OSError: [WinError 1314] A required privilege is not held by the client: 'rules_python++python+python_3_11_x86_64-pc-windows-msvc/python.exe' -> 'C:\\Users\\matcla01\\AppData\\Local\\Temp\\Bazel.runfiles_8d64nm_h\\runfiles\\_main/toolchain/runfiles/_binary.venv/bin/python.exe' During handling of the above exception, another exception occurred: Traceback (most recent call last):
        File "<frozen runpy>", line 198, in _run_module_as_main
        File "<frozen runpy>", line 88, in _run_code
        File "C:\Users\matcla01\_bazel_matcla01\ki4xcn37\execroot\_main\bazel-out\x64_windows-fastbuild\bin\toolchain\runfiles\binary.zip\__main__.py", line 323, in <module>
        File "C:\Users\matcla01\_bazel_matcla01\ki4xcn37\execroot\_main\bazel-out\x64_windows-fastbuild\bin\toolchain\runfiles\binary.zip\__main__.py", line 292, in main
      NameError: name 'PYTHON_BINARY_ACTUAL' is not defined. Did you mean: '_PYTHON_BINARY_ACTUAL'?
      ```
      7233458a
    • Matthew Clarkson's avatar
      fix(info): remove `ToolchainInfo#env` · 06e20617
      Matthew Clarkson authored
      BREAKING CHANGE: `toolchain_info` removes `ToochainInfo#env`.
      
      Allowing access to the original `env` attribute of the `toolchain_info` target can result in unexpected errors. `env` is usual subject to Make variable and expand location expansion. The expansion is done in the scope of the original rule. Re-using the environment results in errors with miscalculated paths, etc.
      
      If it is required to capture the environment variables for a binary, it is much better to use a rule that bakes the environment variables into the execution of the binary. This can be done with launcher scripts that write out the environment variables for later use.
      06e20617
    • Matthew Clarkson's avatar
      docs: update `rules_download` module name · 11140696
      Matthew Clarkson authored
      It is renamed to `download_utils`
      11140696
    • Matthew Clarkson's avatar
      fix(info): remove `variables` from `ToolchainInfo` · 21edd348
      Matthew Clarkson authored
      BREAKING CHANGE: `variables` is no longer available on the `ToolchainInfo` generated by `toolchain_info`.
      
      The `TemplateVariableInfo` is created in the scope of the `toolchain_info` rule. Using the provider in downstream rules that access the `ToolchainInfo` will no longer be relevant.
      
      A `ToolchainInfo#variable` attribute is provided to reconstruct a `TemplateVariableInfo` in the scope of a downstream rule.
      21edd348
    • Matthew Clarkson's avatar
      fix(info): correct variable name · 4001e7d4
      Matthew Clarkson authored
      The variable must point to an executable generated from this rule to work
      in `genrule`'
      
      This reverts commit f82eb108.
      4001e7d4
    • Matthew Clarkson's avatar
      fix(resolved): correctly forward on providers · dc423f6b
      Matthew Clarkson authored
      The resolved rule incorrectly rebuilt and forwarded on providers
      in such a way that the variable was not able to be used in a `genrule`
      because runfiles were not correctly found.
      
      This patch resolves this issue by correctly constructing the providers.
      
      BREAKING CHANGE: The `resolved` repository rule has removed the `basename` attribute in favour or symlinking the binary directly.
      
      This change prevents unwanted symlink basename changes which can prevent multi-tool binaries from functioning correctly.
      
      To set the basename of a symlink use the `toolchain_symlink_target` rule.
      dc423f6b
    • Matthew Clarkson's avatar
      feat(info): add `variable` to `ToolchainInfo` · f51317b8
      Matthew Clarkson authored
      Allows redirecting the variable later, if needed.
      f51317b8
    • Matthew Clarkson's avatar
      fix: forward basename through `toolchain_info` · 2b1924ca
      Matthew Clarkson authored
      Previously, we used the `ctx.label.name` to determine the basename
      of the symlink. However, this can mess up usage for multitool binaries.
      
      Use the current executable basename as the symlink basename.
      2b1924ca
    • Matthew Clarkson's avatar
      test: add a symlink `toolchain_symlink_target` test through a toolchain · 29fc7508
      Matthew Clarkson authored
      This is a common use-case when using multi-tool binaries.
      29fc7508
    • Jordan Bonser's avatar
      test: add a runfiles `toolchain_info` test · c73d06b1
      Jordan Bonser authored and Matthew Clarkson's avatar Matthew Clarkson committed
      c73d06b1
  4. Jan 14, 2025
  5. Jan 13, 2025
  6. Jan 10, 2025
  7. Dec 12, 2024
  8. Dec 11, 2024
Loading