| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only non-deprecated way to declare new files in Skylark is using ctx.actions
(https://docs.bazel.build/versions/master/skylark/lib/actions.html). And these
files are created in binfiles (there is one way to generate a file in Skylark in
genfiles: a rule can be tagget with 'output_to_genfiles = True'
attribute, but that forces all files of all actions in the rule to be generated
in genfiles. And this attribtue is deprecated).
Similarly, https://github.com/bazelbuild/bazel/commit/6c2f499b21e36c59d7da5e8b2e6c9b1804a36c64 added binfiles for <> includes when using
cc_library.includes attribute.
RELNOTES: None.
PiperOrigin-RevId: 201504199
|
|
|
|
|
|
|
|
|
| |
CrosstoolInfo carries the necessary information from the CROSSTOOL text proto. Later on, instead from the CROSSTOOL file and the corresponding CToolchain, CrosstoolInfo will be derived from a skylark_crosstool rule implemented in Skylark. Therefore CToolchain involvement in CppConfiguration and CcToolchain creation needs to be eliminated.
Work towards issue #5380
RELNOTES: None.
PiperOrigin-RevId: 201491207
|
|
|
|
|
|
| |
RELNOTES[NEW]: Allow @ in package names.
PiperOrigin-RevId: 201487916
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks Javascript compilation.
There's currently no way to iterate over a depset of Artifacts and deduplicate by identical paths in Skylark. This means that actions that want to do something once per Artifact in a depset (add a flag to the command line with the path of the Artifact for instance) will have duplicate entries if there are multiple Artifacts with the same path.
This is not a true automated rollback, since I tried to make this as minimal as possible, to avoid merge conflicts and keep some of the benefits of the rolled back CL. In particular, the tests that were changed in the original CL to give artifacts their correct owners did not need to be changed back, since the owners are still correct.
Moreover, this effectively contains rollbacks of unknown commit and https://github.com/bazelbuild/bazel/commit/39d6f89644107a8f7c080c4f4aec8527c1a73954, but keeps test coverage from those CLs as well. Comments added to CL thread where not a clean rollback (there are plenty of files not changed at all: ActionArtifactCycleReporter is the main wart, since it can still handle SkyKeys with Artifact as the argument, but Artifact is no longer the argument to any SkyKey).
RELNOTES: None
*** Original change description ***
Make Artifact#equals take the owner into account for derived artifacts.
Derived artifacts' owners are important because they are used to determine the artifact's generating action. Source artifacts' owners are not used in this way, so I left them alone.
This allows us to get rid of most uses of ArtifactSkyKey. We may be able to delete it entirely in a follow-up.
PiperOrigin-RevId: 201464780
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This corresponds to the os version in the clang target triple, though clang
does have corresponding os_version_min flags for Apple platforms.
Currently, Bazel has --XX_minimum_os flags for XX values corresponding to Apple
platforms.
This flag is the generic version of that (and can and will be set after the
Apple split transition, and will eventually be set in the Android split as
well) to support various Android API level improvements for native code.
PiperOrigin-RevId: 201453961
|
|
|
|
|
|
|
|
|
|
| |
Label.parseAbsoluteUnchecked. Label already interns all labels, so the additional interning being done in every ConfiguredRuleClass.Builder was pointless memory and CPU.
Keeping the RuleDefinitionEnvironment around makes things harder to serialize.
Done using IntelliJ structural replace and then a super-painful adding of imports to every file that didn't compile (have to learn a better way to do this).
PiperOrigin-RevId: 201427027
|
|
|
|
|
|
|
|
|
|
|
|
| |
The corresponding flags have been flipped and there should be no code in the depot that violates these rules.
* Make it completely illegal for proto_library to appear in any Java/Android rule
* Delete code that uses the old migration flags.
* Delete tests that check that Java/Android rules *can* depend on proto_library rules when certain flags are off.
* Update tests (the error messages are now slightly different)
RELNOTES: None
PiperOrigin-RevId: 201384236
|
|
|
|
|
|
|
|
|
|
| |
useEnvironment
Unfortunately this doesn't work for all callers, namely NativeInfo objects, as they may have structField callables invoked from contexts that have no environment available.
RELNOTES[INC]: Skylark structs (using struct()) may no longer have to_json and to_proto overridden.
PiperOrigin-RevId: 201376969
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 201367075
|
|
|
|
|
| |
RELNOTES=None
PiperOrigin-RevId: 201365986
|
|
|
|
|
|
| |
The general handling should be fine for this.
PiperOrigin-RevId: 201352916
|
|
|
|
|
|
|
|
| |
Based on work of Sun Zhiyi <zhiyisun@gmail.com>.
Closes #5360.
PiperOrigin-RevId: 201339882
|
|
|
|
|
|
|
|
|
|
| |
This gives us more coverage for command startup, especially wrt. modules. We
have some modules that are known to be slow, and this immediately shows any
such issues. I've already tracked down two issues with this change, and it
would also have shown a recently fixed regression.
RELNOTES: None.
PiperOrigin-RevId: 201337059
|
|
|
|
|
|
|
| |
I will put cc_import.bzl in Bazel in a follow up CL.
RELNOTES:none
PiperOrigin-RevId: 201332133
|
|
|
|
|
|
| |
RELNOTES[INC]: The $(JAVA_TRANSLATIONS) Make variable is not supported anymore.
PiperOrigin-RevId: 201278971
|
|
|
|
|
|
|
| |
To start we add just a single metric, the number of actions constructed in the current build.
RELNOTES: None
PiperOrigin-RevId: 201248490
|
|
|
|
|
|
| |
Reviewed at: https://github.com/bazelbuild/bazel/pull/5425
PiperOrigin-RevId: 201241451
|
|
|
|
|
|
|
| |
ExecutionPlatformConstraintsAllowed set to PER_TARGET and also have an
alread-existing exec_compatible_with attribute.
PiperOrigin-RevId: 201238805
|
|
|
|
|
|
|
|
| |
LinkedHashMultimap as well. Let ImmutableSetRuntimeCodec handle some other sets. We squash these extra types into the same codec because we want them to become immutable anyway, and they can be dealt with easily by the existing codecs.
Add some more non-Bazel classes that should be DynamicCodec'ed. Also, when a disallowed value is serialized, throw a SerializationException instead of crashing. This makes it easier to recover in tests.
PiperOrigin-RevId: 201237631
|
|
|
|
| |
PiperOrigin-RevId: 201228699
|
|
|
|
|
|
|
|
|
| |
When set, any action parameter files are written locally upon action execution, even when the action is executed remotely. This is mainly useful for debugging.
This option is effectively implied by --subcommands and --verbose_failures, as it is likely that the user is debugging actions when using these flags.
RELNOTES: Add --materialize_param_files flag to write parameter files even when actions are executed remotely.
PiperOrigin-RevId: 201225566
|
|
|
|
|
|
| |
but the "exec_compatible_with" attribute is present.
PiperOrigin-RevId: 201219412
|
|
|
|
|
|
| |
default.
PiperOrigin-RevId: 201218341
|
|
|
|
|
|
|
|
|
|
| |
Turns out the event handler (BlazeCommandEventHandler) prints almost all
event types, and I don't believe there's a way to tune it.
We certainly don't want these messages printed to the console unless
we're debugging the debugger, so turn them off by default.
PiperOrigin-RevId: 201211355
|
|
|
|
|
|
| |
and have DynamicCodec add to it. It's very useful to have this trail available when debugging or whitelisting.
PiperOrigin-RevId: 201205884
|
|
|
|
| |
PiperOrigin-RevId: 201205388
|
|
|
|
| |
PiperOrigin-RevId: 201203706
|
|
|
|
|
|
| |
Get rid of a useless tag, because the Function being tagged is a concrete class, so won't be serializable. Will deal with it in a follow-up. Implement equality for BazelInfo.
PiperOrigin-RevId: 201199255
|
|
|
|
|
|
|
| |
checked for restricted_to and compatible_with constraints, because they are part
of the execution, not providing new dependencies.
PiperOrigin-RevId: 201196891
|
|
|
|
|
|
| |
lambdas as Serializable.
PiperOrigin-RevId: 201191461
|
|
|
|
|
|
| |
expect equality, not because there's no implementation.
PiperOrigin-RevId: 201191262
|
|
|
|
|
|
|
|
|
| |
Rolls forward https://github.com/bazelbuild/bazel/commit/c720152ec1936a537c9519d522d3cb41d19cff77.
This CL includes testing to make sure that linker parameters coming from every possible provider in Python rules is propagated.
RELNOTES:none
PiperOrigin-RevId: 201160720
|
|
|
|
|
|
|
|
|
|
|
| |
CcToolchainFeatures.ActionConfig that are needed for FeatureConfiguration creation
In the future CcToolchainFeatures will not be created from a CToolchain but from a CrosstoolInfo provider that will encapsule all relevant information from the CROSSTOOL. Feature and ActionConfig classes need to carry all the information that is currently obtained from CToolchain.
Work towards issue #5380
RELNOTES: None.
PiperOrigin-RevId: 201147336
|
|
|
|
|
|
|
|
| |
as this isn't supported by `((... == 0))` below.
See bazelbuild/bazel#5413
PiperOrigin-RevId: 201135798
|
|
|
|
|
|
|
|
| |
ActionConflictException. We can construct the exception message eagerly, since it is going to be thrown with very high likelihood in any case.
The complex objects inside it made it hard to serialize.
PiperOrigin-RevId: 201130522
|
|
|
|
|
|
|
| |
The memory savings from this flag are not worth the complexity, and it interferes with action restarting.
RELNOTES: Remove support for --discard_actions_after_execution.
PiperOrigin-RevId: 201077905
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
See linked bug.
*** Original change description ***
C++: Refactors PyWrapCc to make it easier to migrate to Skylark
Rolling forward https://github.com/bazelbuild/bazel/commit/6c87715b8ac6b32e636ba307440e2b7362b10a48. When I first tried to roll forward this CL I missed one place where PyCcLinkParamsProvider.TO_LINK_PARAMS should have been called.
The target //production/midas/config:client_config_pb builds fine now.
RELNOTES:none
PiperOrigin-RevId: 201070354
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ConfiguredRuleClassProvider can specify a predicate which accepts an
OptionsDiff and the new BuildOptions in order to make a decision on whether
the given diff requires the analysis cache to be dropped.
This predicate is only called if all of the following hold:
* there was an old configuration collection (if not, the cache is not
dropped because there wasn't one yet)
* the old configuration collection is not exactly equal to the new
configuration collection (if it is, the cache is not dropped because
it definitely hasn't changed)
* the old configuration collection has the same number of configurations
as the new collection (if not, the cache is always dropped because
experimental_multi_cpu has changed, definitely not a flag which should
cause old analysis cache to stick around!)
If all of these hold, the old target configurations are paired up with
the new target configurations by index in the configuration collection,
and each pair is diffed. The predicate is called with each diff and the
corresponding new configuration's build options. If any of these
invocations returns true, the cache is dropped. Otherwise, the cache is
kept for the next build.
No implementation of this predicate is actually supplied for this
change, so the old behavior (always drop the cache if the configuration
changes at all) holds.
RELNOTES: None.
PiperOrigin-RevId: 201050049
|
|
|
|
|
|
|
|
|
| |
Change-Id: I3655868d34dd98f5cde084a61995dfae8e4b94c0
Closes #5374.
Change-Id: I3655868d34dd98f5cde084a61995dfae8e4b94c0
PiperOrigin-RevId: 201032126
|
|
|
|
|
|
|
|
|
|
|
|
| |
This functionality will be useful for node restarting. More than one
parent node may request the restart of a shared child node, and this
should not fail.
Instead, the returned MarkedDirtyResult indicates whether the dirtying
was redundant, and the calling code can assert on that.
RELNOTES: None.
PiperOrigin-RevId: 201005663
|
|
|
|
|
|
| |
of ConfiguredTarget implements equality, it's very much not comparable.
PiperOrigin-RevId: 201004116
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Runfiles.getEmptyFilenames() only considered the unconditional and
pruning manifest artifacts for empty-file insertion. Actual manifest
creation asks the empty files supplier for empty files over symlinks
(but not root symlinks!), too.
Change-Id: Ice69bbaa9e6169bff7ec5833ee7ef1b73049a4a7
Closes #5334.
Change-Id: Ice69bbaa9e6169bff7ec5833ee7ef1b73049a4a7
PiperOrigin-RevId: 201002604
|
|
|
|
|
|
| |
Moves more Action-oriented from skyframe package, which has become very unwieldy, to action package. This is needed to avoid circular dependencies caused when build-base is needed for skyframe.
PiperOrigin-RevId: 200996982
|
|
|
|
|
|
| |
This would allow pulling these from the toolchain in kotlin rules.
PiperOrigin-RevId: 200996334
|
|
|
|
|
| |
RELNOTES:none:
PiperOrigin-RevId: 200988244
|
|
|
|
|
|
|
|
|
|
| |
Not all bazel external repositories are generated by a rule (e.g., they might
be unbound names with the expectation that on override binds them). Still,
even those external repositories depend on changes to the repository override.
Register this dependency.
Change-Id: I900c94f969d08dec82c5776eff28337878379b5e
PiperOrigin-RevId: 200974283
|
|
|
|
|
|
| |
multiple futures for the same fingerprint and add a test showing that racing serializations can result in duplicate writes.
PiperOrigin-RevId: 200860099
|
|
|
|
| |
PiperOrigin-RevId: 200801973
|
|
|
|
|
| |
RELNOTES=None
PiperOrigin-RevId: 200800112
|
|
|
|
|
|
|
| |
metadata operations.
RELNOTES: None
PiperOrigin-RevId: 200765925
|