| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Common methods for creating artifacts
- Convenience method for registering action
Also, create a new getUniqueDirectoryArtifact method that doesn't require a
root directory to be passed in - every call I've seen to
getUniqueDirectoryArtifact always uses RuleContext#getBinOrGenfilesDirectory
ffor this value.
RELNOTES: none
PiperOrigin-RevId: 196993195
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a cleanup to clarify the code.
1. The getEnvironment method in the CommandAction interface does not have
access to the clientEnv, so it's return value is necessarily incomplete.
Rename to getIncompleteEnvironmentForTesting.
2. Add a final getEnvironment method to AbstractAction, which returns the
ActionEnvironment, which is intended to be a complete description of the
intended final environment of the action (technically, of any spawn running
within the action). This is not currently used, but is provided to prevent
action subclasses to add such a method (it may be used in the future).
PiperOrigin-RevId: 196991091
|
|
|
|
|
|
|
|
|
|
| |
These were previously ignoring the inhertied environment, i.e.,
--action_env=PATH did _not_ result in the PATH variable being forwarded from
the client environment.
Fixes #5142.
PiperOrigin-RevId: 196966822
|
|
|
|
|
|
|
|
| |
be filtered by spawn inputs downstream.
Documents why the manifest is passed to the RunfilesSupplierImpl constructor.
PiperOrigin-RevId: 196858753
|
|
|
|
|
|
|
| |
This enables users of config_feature_flags to specify the flags used by the transitive closure of a particular target in the transitive_configs attribute of all targets. It also adds a flag - --enforce_transitive_configs_for_config_feature_flag - which enforces this specification and uses it to trim the set of flags available to that target.
RELNOTES: None.
PiperOrigin-RevId: 196846092
|
|
|
|
|
|
|
|
|
|
|
| |
...by using the ShellEscaper rather than the ad-hoc "escaping"
in LocationExpander.
Fixes #5190. At least to the extend that a context-independent
quoting can work.
Change-Id: I858662861a2504139c19d773690aef2befc23948
PiperOrigin-RevId: 196832574
|
|
|
|
|
|
|
|
| |
This change makes the field match the semantics of the legacy mechanism that
is not open source. This is intended for migration only and the field should
not be used otherwise (that is why the field is deprecated).
PiperOrigin-RevId: 196817282
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 196722413
|
|
|
|
|
|
|
| |
This is in preparation for fixing env handling as well as cache key (to use
env) computations in subclasses of SpawnAction.
PiperOrigin-RevId: 196626495
|
|
|
|
|
|
|
|
|
| |
Use update() and other methods which properly respect the trimming
transition over those which don't. Avoid using the target configuration
if the configuration actually used by a target is available.
RELNOTES: None.
PiperOrigin-RevId: 196588405
|
|
|
|
|
|
|
|
| |
BuildOptions$DiffForReconstruction serializations are reached in this way, so we get better efficiency. Also, it was already a custom codec, so less new handrolling.
Also use serialization framework for FragmentClassSet, instead of doing serialization directly. Default FragmentClassSet should be a constant, so it will serialize down to a byte or three. Future changes can make all the classes constants as well, if we're getting misses on them.
PiperOrigin-RevId: 196546279
|
|
|
|
|
|
| |
BuildOptions$OptionsDiffForReconstruction. The fingerprint uniquely identifies the "baseline" BuildOptions object and the checksum uniquely identifies the "overlay", so we don't need to incorporate the rest of the data.
PiperOrigin-RevId: 196532013
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 196527806
|
|
|
|
|
|
|
|
| |
For flaky tests, Bazel may have cached information about multiple test attempts. In that case, we might want to post all of them on a subsequent cache hit, rather than posting only the passing attempt.
We currently subclass TestResult inside Google, which overrides the new getCachedTestAttempts method.
PiperOrigin-RevId: 196491575
|
|
|
|
|
|
| |
and continue to use the embedded JDK as the default host_javabase.
PiperOrigin-RevId: 196471714
|
|
|
|
| |
PiperOrigin-RevId: 196310244
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 196287081
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 196232710
|
|
|
|
|
|
|
| |
There are still a few global @SkylarkSignature-annotated top-level objects that need to be migrated in SkylarkRuleClassFunctions, but this migrates everything else.
RELNOTES: None.
PiperOrigin-RevId: 195652038
|
|
|
|
|
|
|
| |
Since configuration fragments will extend from build API classes, @SkylarkConfigurationField no longer needs to annotate a method defined on a @SkylarkModule class. Ideally, we would ensure that a configuration fragment with a @SkylarkConfigurationField method implements an interface with @SkylarkModule, but this seems impossible to perform at the level of an annotation processor.
RELNOTES: None.
PiperOrigin-RevId: 195651344
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 195422399
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 195264146
|
|
|
|
|
|
|
| |
instead of the manifest files.
RELNOTES: None
PiperOrigin-RevId: 195149880
|
|
|
|
|
|
|
|
|
| |
Remove all unnecessesary accesses to ConfigurationEnvironment and
deprecate the accesses that actually need ConfigurationEnvironment.
For review, check out ConfigurationFragmentFactory first.
PiperOrigin-RevId: 195099768
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 195072243
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 195055827
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 195011200
|
|
|
|
| |
PiperOrigin-RevId: 194985259
|
|
|
|
| |
PiperOrigin-RevId: 194985157
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194979843
|
|
|
|
|
|
|
|
|
| |
This helps the Skylark interpreter to not depend on Bazel concepts, though it adds a temporary dependency of Skylint on packages/. The fix for that will be to create a Build API interface for BazelLibrary (e.g., "BazelLibraryAPI").
Refactored some GlobalFrame construction logic to be more uniform. Instead of constructing a whole Environment just to get a frame, we build the frame directly, using ImmutableMap.Builder to accumulate bindings. This convention may further change once we convert MethodLibrary and the like to @SkylarkGlobalLibrary, but for now it's more readable.
RELNOTES: None
PiperOrigin-RevId: 194960824
|
|
|
|
|
|
|
|
| |
This deprecates the old NativeProvider pattern.
The new pattern is demonstrated using AppleStaticLibraryInfo.
RELNOTES: None.
PiperOrigin-RevId: 194956883
|
|
|
|
|
|
|
| |
This isolates the API from the implementation.
RELNOTES: None.
PiperOrigin-RevId: 194850527
|
|
|
|
|
|
|
| |
This is necessary for subsequent changes to the apply method for diamond splitting, which will require apply() to take more than one argument. But it seems like the only reason LocationFunction ever extended Function was for tests and so this is an improvement on its own.
RELNOTES: None
PiperOrigin-RevId: 194796136
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When trying to find a runfile on Windows:
1. First look for the runfiles MANIFEST and find runfile locations using this if it exists (current behavior).
2. If no MANIFEST file exists, look for runfiles in the runfiles directory (new behavior).
As part of this, remove setting RUNFILES_MANIFEST_ONLY for the benefit of test-setup.sh. Instead of telling it what to do, it decides what to do based on the observed state of the world. Launchers still set RUNFILES_MANIFEST_ONLY for the benefit of launched programs, since some may depend on this.
Fixes https://github.com/bazelbuild/bazel/issues/4962.
RELNOTES: Remote execution works for Windows binaries with launchers.
PiperOrigin-RevId: 194785440
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 194607978
|
|
|
|
|
|
|
|
|
|
| |
This brings BuildView's test configured target methods in closer
to the real thing, and makes tests behave better.
In particular, it enables trimming transitions to work.
RELNOTES: None.
PiperOrigin-RevId: 194586030
|
|
|
|
|
|
|
|
|
|
|
| |
rule must propagate
This allows native aspects which specifically require advertised providers to be applied to skylark rules.
Implementation to allow aspects to explicitly declare provider requirements will come later.
RELNOTES: Skylark rule definitions may advertise providers that targets of the rule must propagate.
PiperOrigin-RevId: 194581466
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194540141
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194536202
|
|
|
|
|
|
|
|
| |
late bound option defaults
BuildConfiguration.Fragment#lateBoundOptionDefaults() is going away soon, this flag is added to decouple its removal with the release process.
PiperOrigin-RevId: 194527657
|
|
|
|
| |
PiperOrigin-RevId: 194512971
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194459347
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 194433721
|
|
|
|
|
|
|
|
|
| |
Rule authors frequently wants to make assertions on the parameter files their rule implementations have created. However, if they do not explicitly create parameter file write actions, or if indeed _there aren't_ any parameter file write actions inserted into the action graph, the tests will fail.
This CL adds necessary methods for the migration.
RELNOTES: None
PiperOrigin-RevId: 194379748
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Design doc: https://docs.google.com/document/d/1JXqwwVHYosZOgmjN8xrfTalyhiUYJ99Qe2D0qBcqZ1c
The behaviour is gated on --defer_param_files (default off) and is controlled by --min_param_file_size.
This CL adds support for VirtualActionInputs to LocalSpawnRunner, and all remote runners already supports them. The sandboxed runners are not yet supported, but that can be added in a future CL.
This CL does not add support for spawn runner using different param file limits. This will require refactoring of the spawn strategies and runners to be viable.
RELNOTES: None
PiperOrigin-RevId: 194265291
|
|
|
|
| |
PiperOrigin-RevId: 194236287
|
|
|
|
|
|
|
| |
This is needed for constructors that want to be able to use SkylarkSemantics.
RELNOTES: None
PiperOrigin-RevId: 194180124
|
|
|
|
|
|
| |
TemplateVariableInfo.
PiperOrigin-RevId: 194088329
|
|
|
|
|
|
| |
RELNOTES[NEW]: TemplateVariableInfo can now be constructed from Skylark.
PiperOrigin-RevId: 194072452
|