| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 169428146
|
|
|
|
|
|
|
| |
This change misses the corner case of builds which are entirely 32-bit (as opposed to mixed 32&64 bit) due to no legitimate place to report the error of such a build; execution will fail for such builds at the action level.
RELNOTES: None.
PiperOrigin-RevId: 169397354
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, there is no way to enforce that LateBoundDefaults only access
the fragments that they declare. This means that LateBoundDefaults can
fail to declare fragments at all, or declare the wrong ones, and still
have no troubles.
But when trimming, these fragments must be declared, because otherwise
they will not necessarily be available.
This change refactors LateBoundDefault to declare a single fragment type,
not a set. All existing LateBoundDefaults use sets with a single element
or no elements at all for their set of fragment classes, so this does not
limit anything being done currently.
To account for LateBoundDefaults which do not use configuration at all,
typically those which only want to access the configured attribute map,
it is possible for Void to be the fragment class which is requested.
To account for LateBoundDefaults which need to access methods of the
BuildConfiguration instance itself, it is possible for BuildConfiguration
to be the fragment class which is requested; however, this is unsafe, so
it is only a temporary state until a way to do this without also giving
access to all of the fragments can be added.
Drive-by refactoring: LateBoundDefaults' values are now typed. All actual
production LateBoundDefaults were Label or List<Label> typed, through the
LateBoundLabel and LateBoundLabelList subclasses. These subclasses have
been removed, and LateBoundDefault has two type parameters, one for the
type of its input, and one for the type of its output.
RELNOTES: None.
PiperOrigin-RevId: 169242278
|
|
|
|
|
|
|
|
|
|
|
| |
Before this cl each linking and compilation action would contain a full copy of
all build variables. However, some build variables can be reused, for the
memory consumption benefit. With this cl, we contruct a Variables instance in
the CcToolchain, and make it a parent of all per-linking and per-compilation
variables.
RELNOTES: None.
PiperOrigin-RevId: 169233756
|
|
|
|
|
|
| |
This is a trivial change with a large file footprint.
PiperOrigin-RevId: 169169864
|
|
|
|
|
|
|
| |
getPotentialSplitTransitions() from FragmentOptions.
RELNOTES: None.
PiperOrigin-RevId: 168218102
|
|
|
|
|
|
|
|
|
| |
Split collect, concurrent, vfs, windows into package-level BUILD files.
Move clock classes out of "util", into their own Java package.
Move CompactHashSet into its own Java package to break a dependency cycle.
Give nestedset and inmemoryfs their own package-level BUILD files.
PiperOrigin-RevId: 167702127
|
|
|
|
|
|
|
|
|
|
| |
- require_defined_versions is deprecated and a no-op. A version must match existing defined versions if any exist
- default label must be present in versions labels if any are defined
- default label may not exist if no versions are defined
- when --xcode_version is specified on the command line, it must match a defined version if any are defined. If none are defined, this flag is a no-op
RELNOTES: None.
PiperOrigin-RevId: 167616628
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 167143657
|
|
|
|
|
|
|
| |
also, AppleConfiguration no longer throws NPE with invalid cpu.
RELNOTES: None.
PiperOrigin-RevId: 167013760
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 166888780
|
|
|
|
|
|
|
|
|
|
|
| |
rule in use and expose data in XcodeConfigProvider to Skylark.
This gives us a way to discover Xcode version information from Skylark in a way other than by AppleConfiguration, which in turn makes it possible to remove said data (and thus dependencies on BUILD files) from AppleConfiguration.
Work towards https://github.com/bazelbuild/bazel/issues/3424 .
RELNOTES: None.
PiperOrigin-RevId: 166311454
|
|
|
|
|
|
|
|
| |
Prerequisite to implementing shape-declaration and shape-sharing
for declared providers, and cleaning up NativeInfo interface.
RELNOTES: None.
PiperOrigin-RevId: 166057070
|
|
|
|
| |
PiperOrigin-RevId: 165622047
|
|
|
|
|
|
| |
as a pilot. Currently not hooked up to anything, but will be shortly.
PiperOrigin-RevId: 165583517
|
|
|
|
|
|
|
| |
This is part of splitting up the build-base library into separate libraries for
analysis, exec, and rules.
PiperOrigin-RevId: 164446955
|
|
|
|
|
|
|
|
| |
Follows
https://docs.google.com/document/d/1aAIVWvHPERDz2cv_PCFGwr8dvh5FcAkENFoRsNS4clk/.
RELNOTES: None.
PiperOrigin-RevId: 163728291
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 163114020
|
|
|
|
|
|
|
|
| |
Documentation was not being generated for the Apple "platform" module because it collided with a configuration fragment of the same name.
This should be a harmless change because the underlying module name should not be used by anyone; the name isn't exported as a top-level type and would only be seen in debug output and in the string returned by the type() function.
PiperOrigin-RevId: 163079704
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the configuration.
This is part of the crusade to kill package loading in configuration creation.
AppleConfiguration still retains the version information for the following reasons:
- Some Skylark rules access it that way. The plan is to create an xcode_config_alias() rule that can be an implicit dependency of Skylark rules and to export the version information to Skylark from XcodeVersionsProvider.
- The minimum OS version is part of the name of the output directory. The plan for that is simply to remove it. Hopefully we can get away with it.
- They allow us to add assertions to make sure the new mechanism works like the old one.
RELNOTES: None.
PiperOrigin-RevId: 163038724
|
|
|
|
|
|
|
| |
on Apple rules.
RELNOTES: None.
PiperOrigin-RevId: 163035922
|
|
|
|
| |
PiperOrigin-RevId: 162676133
|
|
|
|
|
|
|
| |
The option filters proto dependency can be removed from the OptionsParser. This is in response to option parser users that want to avoid the bazel-internal proto file in their dependencies.
RELNOTES: None.
PiperOrigin-RevId: 162249778
|
|
|
|
|
|
|
|
|
|
|
| |
information from the BUILD files and determining what to do with them is separated.
This is so that we can eventually determine this information not in AppleConfiguration.Loader, but in the implementation of the xcode_config rule so that the former doesn't need to look at BUILD files anymore.
Of course, this requires changing Skylark code that uses ctx.fragments.apple.$WHATEVER, but it's a good first step.
RELNOTES: None.
PiperOrigin-RevId: 161916770
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 161720296
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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: Remove apple_watch1_extension and apple_watch_extension_binary rules. Users should be using the skylark watchos_application and watchos_extension rules. https://github.com/bazelbuild/rules_apple has details.
PiperOrigin-RevId: 161555395
|
|
|
|
|
|
|
|
|
| |
Skylark's Printer.BasePrinter doesn't guarantee it will call `.toString` on
objects of unknown types, and in the future that won't be the case anymore.
In order to keep their current string representations objects should implement
the SkylarkValue interface by providing an explicit implementation of `repr`.
PiperOrigin-RevId: 161526182
|
|
|
|
|
|
|
|
|
|
| |
OptionMetadataTags.
These are similar, no need to have both fields. Removing the "DOCUMENTED" default, the absence of UNDOCUMENTED will be used instead.
Since requiring a documentation category for undocumented options doesn't make sense, list that as one of the OptionDocumentationCategories, but list HIDDEN and INTERNAL as part of OptionMetadata. These options should list UNDOCUMENTED as their category.
PiperOrigin-RevId: 161515674
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 161395570
|
|
|
|
|
|
| |
Platform rule.
PiperOrigin-RevId: 161203491
|
|
|
|
|
|
|
|
| |
These are now dead code - configuration dependencies are loaded by Skyframe
and do not need to be listed ahead of time - and were only ever used in
tests.
PiperOrigin-RevId: 161146721
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 160566592
|
|
|
|
|
|
|
|
| |
Move the default from the annotation to every mention. This makes the incompleteness explicit. Will add the defaults to test targets in a separate change.
Once all dependencies are cleaned up, the Option annotation will no longer allow options without the documentationCategory or effectTag, to prevent new options being added without categories while we migrate to the new option categorization.
PiperOrigin-RevId: 160281252
|
|
|
|
| |
PiperOrigin-RevId: 160143322
|
|
|
|
|
|
|
| |
Deletes last code references to xcodegen tool as well as tool itself.
RELNOTES: None.
PiperOrigin-RevId: 160137807
|
|
|
|
|
|
|
|
|
|
| |
This change impacted build times of builds with libraries that needed to be built both extension-safe and non-extension-safe.
This also caused duplicate symbol issues in such builds.
The extension_safe attribute will now be a no-op, with subsequent removal to follow.
RELNOTES: The extension_safe attribute of apple_binary no longer validates transitive dependencies are compiled against extension_safe APIs.
PiperOrigin-RevId: 159142000
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also add an interface to allow injecting that logic into LocalSpawnRunner; this
is in preparation for rewriting StandaloneSpawnStrategy to use
LocalSpawnRunner.
At the same time, this reduces the dependencies from exec / standalone to
rules.apple, which is a prerequisite for micro-Bazel.
There's a small semantic change hidden here - we now only set the new
XCodeLocalEnvProvider if we're actually running on Darwin, so we no longer
fail execution on non-Darwin platforms if XCODE_VERSION_OVERRIDE or
APPLE_SDK_VERSION_OVERRIDE is set. As a result, I moved the corresponding test
from StandaloneSpawnStrategyTest to the new XCodeLocalEnvProviderTest.
While I'm at it, also open source DottedVersionTest and CacheManagerTest.
PiperOrigin-RevId: 158829077
|
|
|
|
|
|
|
| |
This is consistent with other usage.
RELNOTES: NONE.
PiperOrigin-RevId: 157849696
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 157847930
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rolling forward after fixing issues in http://b/38171368
*** Original change description ***
Automated g4 rollback of commit 006a80425e7dd521634c5735d2730f40e9e82e06.
*** Reason for rollback ***
Need to roll this back as part of http://b/38171368
*** Original change description ***
Make the cc_toolchain libc_top use the target configuration
The removes redundancy from the logic around calculating the sysroot (and was been a TODO since 2014!)
RELNOTES: None
PiperOrigin-RevId: 155787049
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Need to roll this back as part of http://b/38171368
*** Original change description ***
Make the cc_toolchain libc_top use the target configuration
The removes redundancy from the logic around calculating the sysroot (and was been a TODO since 2014!)
RELNOTES: None
PiperOrigin-RevId: 155545887
|
|
|
|
|
|
|
| |
The removes redundancy from the logic around calculating the sysroot (and was been a TODO since 2014!)
RELNOTES: None
PiperOrigin-RevId: 155506682
|
|
|
|
|
|
|
| |
configuration transition on dependencies"
RELNOTES: None.
PiperOrigin-RevId: 154544751
|
|
|
|
| |
PiperOrigin-RevId: 154232604
|
|
|
|
|
|
|
|
|
| |
These are two different concepts. Do not remove category overload compatibility in this CL, to keep this change limited to converting the current uses of category.
With some flyby formatting fixes on affected OptionsBases.
RELNOTES: None.
PiperOrigin-RevId: 153390002
|
|
|
|
|
|
|
| |
message.
RELNOTES: None.
PiperOrigin-RevId: 153372617
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
breaks tests
*** Original change description ***
Extract --sysroot flag from bazel and move it into crosstool
This is an encore of https://github.com/bazelbuild/bazel/commit/6127358c1799d8d83cebbd499edac89f869df41b .
RELNOTES: None.
PiperOrigin-RevId: 153351147
|
|
|
|
|
|
|
| |
This issues a configuration transition on the dependencies of the rule, causing deps to be compiled with the appropriate minimum os version.
RELNOTES: None.
PiperOrigin-RevId: 152952168
|
|
|
|
|
|
|
| |
This is an encore of https://github.com/bazelbuild/bazel/commit/6127358c1799d8d83cebbd499edac89f869df41b .
RELNOTES: None.
PiperOrigin-RevId: 152803621
|