| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 177708823
|
|
|
|
| |
PiperOrigin-RevId: 175832159
|
|
|
|
|
|
|
|
| |
Blaze had its own class to avoid GC from varargs array creation for the precondition happy path. Guava now (mostly) implements these, making it unnecessary to maintain our own.
This change was almost entirely automated by search-and-replace. A few BUILD files needed fixing up since I removed an export of preconditions from lib:util, which was all done by add_deps. There was one incorrect usage of Preconditions that was caught by error prone (which checks Guava's version of Preconditions) that I had to change manually.
PiperOrigin-RevId: 175033526
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Roll forward again without the changes to expand_location, but with the trimming fix from https://github.com/bazelbuild/bazel/commit/19617360121635a77ffec99b84d825e7d9b260b1.
*** Original change description ***
Automated rollback of commit ca77f608e486bf7aa762565d25bf7b9e30f2268c.
This also rolls back unknown commit.
*** Reason for rollback ***
Affected expand_location Skylark API semantics - it no longer accepts ${abc} or plain dollar signs, but complains.
*** Original change description ***
Extend TemplateExpander to handle $(func param) expansion
Rewrite the Expander to use the new functionality; also rewrite the Skylark
expand_location function to use it.
PiperOrigin-RevId: 174384095
|
|
|
|
|
|
|
| |
Make variables provider.
RELNOTES: None.
PiperOrigin-RevId: 173527191
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also rolls back unknown commit.
*** Reason for rollback ***
Affected expand_location Skylark API semantics - it no longer accepts ${abc} or plain dollar signs, but complains.
*** Original change description ***
Extend TemplateExpander to handle $(func param) expansion
Rewrite the Expander to use the new functionality; also rewrite the Skylark
expand_location function to use it.
PiperOrigin-RevId: 173508888
|
|
|
|
|
|
|
| |
Rewrite the Expander to use the new functionality; also rewrite the Skylark
expand_location function to use it.
PiperOrigin-RevId: 173280839
|
|
|
|
|
|
|
| |
in RuleErrorConsumers
RELNOTES: None.
PiperOrigin-RevId: 172387755
|
|
|
|
|
|
|
| |
This will make it easier to pass only error-handling functionality into support classes.
RELNOTES: None.
PiperOrigin-RevId: 172148072
|
|
|
|
|
|
|
| |
Configurable"
RELNOTES: None.
PiperOrigin-RevId: 171751391
|
|
|
|
|
|
|
|
|
| |
This requires moving the convenience constructor using RuleConfiguredTarget to be owned by RuleConfiguredTarget.
This refactoring is required by later work to allow SplitTransitionProvider to use configurable attributes. This would require packages/Attribute.java -> analysis/ConfiguredAttributeMapper.java, where in general, the 'analysis' package depends on the 'packages' package. This is the easiest way to prevent a circular dependency.
RELNOTES: None.
PiperOrigin-RevId: 171741620
|
|
|
|
|
|
| |
Progress on #2475.
PiperOrigin-RevId: 170473111
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This isn't ideal - RuleContext should not have state, but this ended up
happening between adding a cache and refactoring how make variables are
discovered.
I have carefully traced back all callers that provide custom make variable
suppliers and added an init call to their rule initialization. Note that the
ConfigurationMakeVariableContext is _cached_, so callers that call in without
any make variable suppliers and then call again with them would get the context
from the previous call.
We now enforce that the ConfigurationMakeVariableContext is only initialized
once, and that this happens before any usage, which is slightly better than the
previous state, where initialization was silently ignored on any subsequent
call.
Progress on #2475.
PiperOrigin-RevId: 170312285
|
|
|
|
|
|
| |
Progress on #2475.
PiperOrigin-RevId: 170197341
|
|
|
|
|
|
|
|
|
| |
Use ConfigurationMakeVariableContext instead of passing in lists of
MakeVariableSuppliers.
Progress on #2475.
PiperOrigin-RevId: 170182945
|
|
|
|
|
|
| |
causes the cc_toolchain dependency of cc targets to be selected using the platforms/toolchains constraint solving system.
PiperOrigin-RevId: 169250621
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rollforward with a fix
*** Original change description ***
Automated rollback of commit 0ee3aa622fc13b8a5072ebddf5cd65823413b4ff.
*** Reason for rollback ***
Likely causing artifact conflicts for middleman artifacts in some cases due to accidental change of getMiddlemanDir() to getBinDir() in RunfilesSupport.createManifestMiddleman.
*** Original change description ***
Cleanup ActionConstructionContext.
Do not expose the underlying Rule.
RELNOTES: None.
PiperOrigin-RevId: 169241011
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Likely causing artifact conflicts for middleman artifacts in some cases due to accidental change of getMiddlemanDir() to getBinDir() in RunfilesSupport.createManifestMiddleman.
*** Original change description ***
Cleanup ActionConstructionContext.
Do not expose the underlying Rule.
RELNOTES: None.
PiperOrigin-RevId: 169230095
|
|
|
|
|
|
| |
This is a trivial change with a large file footprint.
PiperOrigin-RevId: 169169864
|
|
|
|
|
|
|
| |
Do not expose the underlying Rule.
RELNOTES: None.
PiperOrigin-RevId: 169109552
|
|
|
|
|
|
|
|
| |
With dynamic configurations we no longer need a special
class to apply transitions: a simple patch transition
bound to an attribute works just as well.
PiperOrigin-RevId: 168442602
|
|
|
|
| |
PiperOrigin-RevId: 167154793
|
|
|
|
|
|
| |
that is accessible to the c++ rules.
PiperOrigin-RevId: 166934390
|
|
|
|
|
|
|
|
| |
foo_test.runfiles_manifest files. These are the largest local outputs
in many builds, and unnecessary for remote test execution.
RELNOTES: New --build_runfile_manifests flag controls production of runfiles manifests.
PiperOrigin-RevId: 166001477
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 165910455
|
|
|
|
|
|
|
|
|
| |
of the configuration in genrules.
This is necessary because if one uses a java_runtime rule that has java_home="$(VAR") and VAR is set to an absolute path, BuildConfiguration won't be able to resolve VAR (since it's a Make variable and thus can't affect other Make variables), Blaze won't be able to tell that it's an absolute value and thus will prepend the package name of the java_runtime rule to it, e.g. resulting in a//foo/bar instead of /foo/bar if the java_runtime rule is in package a.
RELNOTES: None.
PiperOrigin-RevId: 165555251
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
host configuration.
I think the comment I'm deleting is misleading. PAR file construction
already has special handling of the input manifest, and host tools do
get their runfiles when executed remotely. They don't get them for
local execution, but users who care about that don't need to pass the
non-default --nobuild_runfile_links option.
RELNOTES: None.
PiperOrigin-RevId: 165535870
|
|
|
|
|
|
|
| |
This is part of splitting up the build-base library into separate libraries for
analysis, exec, and rules.
PiperOrigin-RevId: 164701931
|
|
|
|
|
|
|
| |
This is part of splitting up the build-base library into separate libraries for
analysis, exec, and rules.
PiperOrigin-RevId: 164456961
|
|
|
|
|
|
|
| |
This is part of splitting up the build-base library into separate libraries for
analysis, exec, and rules.
PiperOrigin-RevId: 164446955
|
|
|
|
|
|
|
| |
This is part of splitting up the build-base library into separate libraries
for analysis, exec, and rules.
PiperOrigin-RevId: 164438390
|
|
|
|
|
|
|
|
|
| |
We now use a unified way to check provider requirements everywhere.
Reland of https://github.com/bazelbuild/bazel/commit/c32e1b1efcd703b3780de47fba62974123593d71.
RELNOTES: None.
PiperOrigin-RevId: 164038621
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks depot b/64250728
*** Original change description ***
Use RequiredProviders to validate rule prerequisites in RuleContext.
We now use a unified way to check provider requirements everywhere.
RELNOTES: None.
PiperOrigin-RevId: 163862067
|
|
|
|
|
|
|
|
| |
Follows
https://docs.google.com/document/d/1aAIVWvHPERDz2cv_PCFGwr8dvh5FcAkENFoRsNS4clk/.
RELNOTES: None.
PiperOrigin-RevId: 163728291
|
|
|
|
|
|
|
| |
We now use a unified way to check provider requirements everywhere.
RELNOTES: None.
PiperOrigin-RevId: 163710961
|
|
|
|
|
|
|
|
|
|
| |
1) Update the javadocs.
2) Clarify that allowedRuleClases and allowedRuleClassesWithWarning
must be disjoint sets.
3) Enforce 2).
4) Fix error messaging when only "with warnings" is set.
PiperOrigin-RevId: 163379567
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163343931
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Broke bazel_apple_rules
*** Original change description ***
Make all WithLegacySkylarkName providers declared providers.
RELNOTES: None
PiperOrigin-RevId: 163054821
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 163042362
|
|
|
|
|
|
|
|
|
|
| |
Whenever we report an action in the build event protocol that has
a configuration associated with it, report the configuration as
well in the protocol (and not only the checksum, if the configuration
is not that of one of the top-level configured targets).
Change-Id: I9b085d5381b3c3509b4f3b99c8a77bc8fba6abfe
PiperOrigin-RevId: 161789745
|
|
|
|
|
|
|
|
|
| |
rules to declare which Make variables they need.
The idea is that they would depend on the future java_runtime_alias / cc_toolchain_alias and similar rules and thus Bazel will know which Make variables they actually need instead of pulling in the whole BuildConfiguration and also making it possible to compute these Make variables during analysis instead of configuration creation.
RELNOTES: None.
PiperOrigin-RevId: 161785868
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Almost) all native declared providers are accessed as such and not as
native non-declared providers (inheritors of TransitiveInfoCollaction).
There are still three providers that use
TransitiveInfoCollection.WithLegacySkylarkName mechanism, I'll address
them in the follow-up CL.
RELNOTES: None.
PiperOrigin-RevId: 161655315
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 161527470
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 161395570
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 161383469
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
JavaRuntimeProvider instead of Jvm if a java_runtime rule is used.
There are a few things standing in the way of removing package loading from JvmConfigurationLoader:
- The JAVABASE/JAVA Make variables, which are a function of the contents of the package with the JVM. The plan is to make JavaRuntime a MakeVariableProvider and add an attribute to rules that do Make variable evaluation to tell which Make variables they need
- The path to the Java binary is exported to Skylark through the configuration fragment. We'll need to export an attribute to Skylark that can be used to depend on the JVM, then do the three-step dance to use that instead of the configuration and figure out what to do if --javabase is not a label.
- Jvm#getJavaExecutable() has a bunch of call sites. They need to be adjusted individually.
RELNOTES: None.
PiperOrigin-RevId: 161176462
|
|
|
|
|
|
|
|
|
| |
The memory cost of adding Skylark provider is now the same as native.
Skylark providers (declared and legacy) benefit from the same
shape-sharing optimization as native providers.
RELNOTES: None.
PiperOrigin-RevId: 160944263
|
|
|
|
| |
PiperOrigin-RevId: 160191135
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Rely on existing infrastructure to verify that attributes only contain a single artifact and that mandatory attributes are specified
- Add single artifact modifiers to attributes that need them
- Remove "final" modifiers from method variables (we don't use them in Blaze)
- Replace deprecated #add() with #addProvider()
Since this relies on existing infrastructure, I thought adding tests is redundant. I did test it manually, though, to be extra safe by testing what happens if these attributes contain an empty filegroup or a filegroup with multiple artifacts in it.
RELNOTES: None.
PiperOrigin-RevId: 158975017
|
|
|
|
|
|
|
|
| |
On finding a visibility error, report it directly for that target, instead of
relying on the implict "abort" message for targets that have not been built.
Change-Id: I5e45722a1117afca3bc8eeebd05179425b995172
PiperOrigin-RevId: 157592518
|