| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
ImmutableSortedSet wherever possible, and use a known explicit ImmutableSortedSet in the case of two sets being equal. This is mainly a cosmetic cleanup for the sequel changes.
Also rename test-only methods in SkyframeExecutor to indicate that, and do a drive-by clean-up of a test that reported hard crashes confusingly because it wrapped RuntimeExceptions.
PiperOrigin-RevId: 182984572
|
|
|
|
|
|
| |
have already been changed to ConfiguredTargetAndTarget so there's fewer classes than I thought there would be.
PiperOrigin-RevId: 182839243
|
|
|
|
|
|
|
| |
Fixes #4170.
Change-Id: I308ee17eb769dcc6a94b90b1dd6cc2ccbe14e968
PiperOrigin-RevId: 182807196
|
|
|
|
|
|
|
| |
The idea is that rule sets should record what builtin providers (types, not instances) they use, as opposed to having a static registry the way we do for @SkylarkSignature builtins. (It'd be nice for the latter to not be static one day.)
RELNOTES: None
PiperOrigin-RevId: 182802492
|
|
|
|
|
|
|
|
| |
constructor of a LanguageDependentFragment to use an ImmutableSet instead of a
HashSet.
RELNOTES: None.
PiperOrigin-RevId: 182555522
|
|
|
|
|
|
|
| |
Part of #4442.
Change-Id: Ie263be75b85635717aa5670cf059891e644dfaee
PiperOrigin-RevId: 182537464
|
|
|
|
|
|
|
|
| |
BaseRuleClasses.DYNAMIC_TRANSITION_MAP.
This leaves DATA as the last remaining legacy transition.
PiperOrigin-RevId: 182422552
|
|
|
|
| |
PiperOrigin-RevId: 182396321
|
|
|
|
|
|
|
|
|
|
|
|
| |
container, ConfiguredTargetAndTarget, that can be used to access Targets, and deprecate ConfiguredTarget#getTarget. ConfiguredAndTargetObjects are intended to be limited in scope, not being persisted to Skyframe.
The eventual plan is to remove the target field from ConfiguredTarget.
This CL is mostly straightforward, except for dealing with AliasConfiguredTargets, which cause some complications.
A significant cleanup is still needed before #getTarget can be removed, but I don't see any impossible blockers. We will may still need to store a Target-like object in ConfiguredTarget (that has the RuleClass, or at least a string representation of it, for instance), but that will let us avoid storing a full Target together with its associated Package.
PiperOrigin-RevId: 182371566
|
|
|
|
|
|
|
|
|
|
|
| |
This class represents a root (such as a package path or an output root) used for file lookups and artifacts. It is meant to be as opaque as possible in order to hide the user's environment from sky keys and sky functions.
Roots are used by RootedPaths and ArtifactRoots.
This CL attempts to make the minimum number of modifications necessary to change RootedPath and ArtifactRoot to use these fields. Deprecated methods and invasive accessors are permitted to minimise the risk of any observable changes.
RELNOTES: None
PiperOrigin-RevId: 182271759
|
|
|
|
| |
PiperOrigin-RevId: 182099803
|
|
|
|
|
|
| |
This is slightly more descriptive, and we will potentially want to use the name Root for a broader concept shared between ArtifactRoot and RootedPath.
PiperOrigin-RevId: 182082367
|
|
|
|
|
|
|
|
|
|
| |
Work towards #3676.
The behavior is still incorrect (we should in fact disallow this), but
at least there is no hard crash.
Change-Id: I5181dba73ad725d20b2ea82b2f19e86664b9dbff
PiperOrigin-RevId: 181954820
|
|
|
|
|
|
| |
This is no longer used.
PiperOrigin-RevId: 181754475
|
|
|
|
|
|
| |
This is a first-class artifact concept. No need to go the long way to get this path.
PiperOrigin-RevId: 181717016
|
|
|
|
|
|
| |
We don't need to construct roots to relativize a path.
PiperOrigin-RevId: 181661592
|
|
|
|
|
|
| |
removing the layer of indirection of getting SkyKey out of ActionLookupKey, which uses more memory for no reason.
PiperOrigin-RevId: 181658615
|
|
|
|
|
|
| |
It was put there to support "/" as the workspace. Checking for a null parent will do the same thing.
PiperOrigin-RevId: 181638375
|
|
|
|
|
|
|
|
|
| |
- Info now has one protected constructor. (Would've preferred the builder pattern, but inheritance makes it much more verbose.)
- Direct SkylarkInfo subclass access is replaced by factory methods and an isCompact() accessor.
- Added/simplified tests
RELNOTES: None
PiperOrigin-RevId: 181616757
|
|
|
|
|
|
|
|
|
|
|
| |
to get the remote execution properties.
Fixes #4128.
This reverts commit 3ce42ef3074ee6d3ac7d9968381c8c0a51d9d38d.
Change-Id: I8b9ad5099f6334c2488a22baf05d0b273e10f776
PiperOrigin-RevId: 181550828
|
|
|
|
| |
PiperOrigin-RevId: 181545835
|
|
|
|
|
|
|
|
| |
This is a rollforward -- the previous attempt was rolled back due to incorrectly adding test sources.
In addition, the newly checked in tests do not work on Windows, and are thus disabled on the Windows platform. I suspect this is due to a bug in the compile-testing library.
RELNOTES: None.
PiperOrigin-RevId: 181482589
|
|
|
|
|
|
|
|
|
| |
- Reorder Info methods for consistency with ClassObject
- "StructConstructor" -> "StructProvider"
- Added javadoc
RELNOTES: None
PiperOrigin-RevId: 181469643
|
|
|
|
|
|
| |
Fixed a broken link, also applied a couple of minor changes.
PiperOrigin-RevId: 180913699
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 180849649
|
|
|
|
|
|
|
| |
HostTransition can't be migrated yet because it depends on
BuildConfiguration.
PiperOrigin-RevId: 180842784
|
|
|
|
|
|
|
|
|
| |
more cases.
Part of #4128.
Change-Id: Ife5e4581f91ac07931d193ed5eaa256aab3ad047
PiperOrigin-RevId: 180826445
|
|
|
|
|
|
|
|
|
| |
Also remove experimental tag from platform and toolchain flags in docs.
Fixes #4372.
Change-Id: I4e8f29273b52fbaabf9c97d1a7563f817601653f
PiperOrigin-RevId: 180678722
|
|
|
|
|
|
| |
conveniently also makes it unnecessary to pass the entire LoadingResult when doing configured queries post analysis.
PiperOrigin-RevId: 180676481
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When --nobuild_runfile_manifests is passed, don't create runfiles
input or output manifests at all. This seems better than creating fake
manifest artifacts that are actually a middleman. Fail fast for local
tests and the run command when --nobuild_runfiles_manifests is
passed. (These cases were failing with obscure errors before under
--nobuild_runfile_manifests-I just improved the messaging. See
https://github.com/bazelbuild/bazel/issues/4177.)
Change-Id: I351d26f746ecbe47016b58e4662768a5b6a72ff2
PiperOrigin-RevId: 180659571
|
|
|
|
|
|
|
|
| |
This is fast (profiles indicate a 9% penalty vs getters) and does not require getters.
* Also adds a Marshaller for java.util.regex.Pattern.
* Minor fixes for codecs that were broken by this change.
PiperOrigin-RevId: 180619680
|
|
|
|
|
|
|
| |
that most Google builds have it set to true.
RELNOTES: None
PiperOrigin-RevId: 180578926
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
causes github #4375 and #4373
*** Original change description ***
Use an annotation preprocessor to validate SkylarkConfigurationField.
RELNOTES: None.
PiperOrigin-RevId: 180535458
|
|
|
|
| |
PiperOrigin-RevId: 180291093
|
|
|
|
|
|
|
|
|
|
| |
we don't create too many of them, but it'll be nice to have this interning for future work in which there are many more of them.
When comparing BuildConfiguration instances, compare their full BuildOptions fields, which can compare quickly due to fingerprint caching, as opposed to their raw options, which is slow.
Also intern the map of Fragments that we create as part of a BuildConfiguration. There aren't too many of them either, but it means that equal Fragment sets can be compared using reference equality downstream.
PiperOrigin-RevId: 180289334
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
config.transitions.ConfigurationTransitionProxy.
The "proxy" part is to dissuade people from writing:
void myfunc(ConfigurationTransition transition)
signatures casually.
Maybe that's actually a better name than "Transition". But I'd rather
rename Transition to ConfigurationTransition in its own change if we
want to do that.
PiperOrigin-RevId: 180285321
|
|
|
|
|
|
|
| |
The terminology "field" is preferred over "key" for the components of a struct or struct-like object.
RELNOTES: None
PiperOrigin-RevId: 180269374
|
|
|
|
| |
PiperOrigin-RevId: 180211710
|
|
|
|
|
|
|
| |
This simplifies the location field (now non-nullable), removes a couple redundant loc args, and clarifies the type's description and some javadoc.
RELNOTES: None
PiperOrigin-RevId: 180210943
|
|
|
|
| |
PiperOrigin-RevId: 180202221
|
|
|
|
|
|
| |
is so slow that if we have to compare many of them, the build can basically never finish. This is needed for a follow-up in which BuildOptions are part of many SkyKeys.
PiperOrigin-RevId: 180056834
|
|
|
|
| |
PiperOrigin-RevId: 179948322
|
|
|
|
| |
PiperOrigin-RevId: 179936355
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change breaks without https://github.com/bazelbuild/bazel/commit/a0ea569f7df19b8284846a52854e73747f7ec005; if that change is rolled back, this
change has to be rolled back as well.
It was previously in ExecutionProgressReceiver, and directly hooked into
Skyframe. Now that we have a way to post event bus events directly from
Sky functions, we should just do that.
Also, this allows us to access artifact metdata, since the completion function
has all the necessary artifacts as dependencies, which in turn can be used to
improve the build event protocol implementation, where we want to post URLs to
the CAS, which requires knowing the checksum.
PiperOrigin-RevId: 179903333
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Change FileType to no longer assume it operates on just the base name (it can now be given a full path).
* Move the responsibility to specific classes (Artifact, Path, PathFragment) to decide how they want to offer up a string that includes the file name.
* Flip the order in which users are expected to check Artifact type, from FileType#matches(Artifact) to Artifact#isFileType(FileType). This looks natural and should encourage developers to use efficient file type checking methods.
* Change CppCompileAction to use the new API.
RELNOTES: None
PiperOrigin-RevId: 179903239
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cleans up a legacy API from Bazel's "static configuration" days,
when transition definitions involved deep and complex logic in the
analysis code. That was too much cruft to embed into lib.packages.
But the modern definitions are way simpler and thus easier to embed.
This change only *copies* the existing definitions. Because a lot of
references will have to be updated, we'll migrate the move over a few
changes.
PiperOrigin-RevId: 179859293
|
|
|
|
|
|
| |
Use HostTransition.INSTANCE instead.
PiperOrigin-RevId: 179851769
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks some remote execution clients.
*** Original change description ***
Have the RemoteSpawnRunner use the execution platform present in the Spawn to get the remote execution properties.
Fixes #4128.
Change-Id: I7e71caef2465204d2dd8225448d54e52366807e6
PiperOrigin-RevId: 179847553
|
|
|
|
|
|
|
| |
Also lean interfaces from Attribute.ConfigurationTransition
to Attribute.Transition.
PiperOrigin-RevId: 179846158
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 179845261
|