| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
remove all "precomputed values for analysis" from SkyframeExecutor. We use SkyframeExecutor#injectExtraPrecomputedValues these days.
This simplifies logic around when to inject precomputed values, and makes the graph more consistent.
PiperOrigin-RevId: 169733304
|
|
|
|
|
|
|
| |
nested.
RELNOTES: None
PiperOrigin-RevId: 169723791
|
|
|
|
| |
PiperOrigin-RevId: 169723724
|
|
|
|
|
|
|
|
|
| |
The test was not incorrect before, however it was unfortunate that we were both
expecting an AssertionError and also throwing an AssertionError to signal that
no AssertionError was thrown.
RELNOTES: None
PiperOrigin-RevId: 169721076
|
|
|
|
|
|
|
|
|
| |
and apple_static_library in objc unit tests.
These attributes are deprecated and being removed.
RELNOTES: None.
PiperOrigin-RevId: 169720318
|
|
|
|
|
|
|
|
| |
injected directly, which makes sense, because it's immutable over the lifetime of the server.
Step 3.
PiperOrigin-RevId: 169717587
|
|
|
|
|
|
|
|
| |
of depending on a precomputed value. BlazeDirectories don't change over the lifetime of the Blaze server, and certainly not over the lifetime of a SkyframeExecutor instance, which already had a reference to them.
Step 2.
PiperOrigin-RevId: 169711443
|
|
|
|
|
|
|
|
| |
depending on a precomputed value. BlazeDirectories don't change over the lifetime of the Blaze server, and certainly not over the lifetime of a SkyframeExecutor instance, which already had a reference to them.
The goal is getting rid of the precomputed value entirely, but since this change necessitated a fair number of testing changes, I'm mailing this out as a first step.
PiperOrigin-RevId: 169705474
|
|
|
|
|
|
|
|
|
|
| |
"AndroidManifest.xml".
aapt requires the manifest to be named "AndroidManifest.xml" (unknown commit)
This allows users to provide manifests with custom names.
RELNOTES: Android rules no longer restrict the manifest file to be named "AndroidManifest.xml".
PiperOrigin-RevId: 169695062
|
|
|
|
|
|
|
|
|
| |
Before, linkstamping compile actions were hardcoded in bazel and assumed
gcc/clang and bash. This cl removes gcc/clang assumptions by using feature
configuration.
RELNOTES: None.
PiperOrigin-RevId: 169685949
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 169676866
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Rolled back commit enforces stricter parameter checks. Will fix and roll forward
This creates several failures on the nightly build of Bazel:
ERROR: /home/ci/workspace/Global/rules_closure-node=linux-x86_64/closure/protobuf/test/BUILD:23:1: no such package '@com_google_protobuf_protoc//': Cannot convert parameter 'url' to type string or sequence of strings, in method download_and_extract(List, string, string, string, string) of 'repository_ctx' and referenced by '//closure/protobuf/test:example_proto_gen'.
ERROR: Analysis of target '//closure/protobuf/test:example_lib' failed; build aborted: no such package '@com_google_protobuf_protoc//': Cannot convert parameter 'url' to type string or sequence of strings, in method download_and_extract(List, string, string, string, string) of 'repository_ctx'.
*** Original change description ***
Check parameter types for methods when multiple types are allowed.
Fixes #3714
RELNOTES: None.
PiperOrigin-RevId: 169669802
|
|
|
|
|
|
|
| |
build.lib.actions.SpawnActionContext can import SpawnResult without creating a cyclic dependency.
RELNOTES: None.
PiperOrigin-RevId: 169642267
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 169624979
|
|
|
|
|
|
|
| |
Introduces the ResourcesZip class to more easily handle processing merged resources.
RELNOTES: None
PiperOrigin-RevId: 169622715
|
|
|
|
|
|
| |
multiple constraint_values from the same constraint_setting (re: #350)
PiperOrigin-RevId: 169577576
|
|
|
|
|
|
|
|
|
|
| |
The tests have become large so that the default 5 minutes timeout is no longer
enough for them. At the same point it doesn't look that the test requires more
resources, just a longer timeout.
Fixes #3774
PiperOrigin-RevId: 169532333
|
|
|
|
|
|
|
|
|
| |
A single instance of an option has a single origin, but the final value only has a single origin if it has a single value. For multi-valued options, it is wrong to expect that the final value of an option will have a single parent. Track the option parents (which option expanded to the current instance, if any) in the right place, with the ParsedOptionDescription.
Also fix some inconsistent spelling of 'dependent,' in favor of the American English standard.
RELNOTES: None.
PiperOrigin-RevId: 169487515
|
|
|
|
|
|
|
| |
In order to discourage new uses (there shouldn't be any, but just in case), make it illegal to set wrapperOption=true for non deprecated options.
RELNOTES: None.
PiperOrigin-RevId: 169477990
|
|
|
|
|
|
|
|
|
| |
Options that expand to other options are expansion options and the options they expand to have values that were expansions. This can be a bit confusing. Removes the isExpansion() call that is somewhat ambiguous, and forces option users to explicitly check the option definition for this information.
Also provide a parallel boolean function for implicit requirements, so that we stop querying for the length of the implicit requirement all over the place.
RELNOTES: None.
PiperOrigin-RevId: 169461566
|
|
|
|
|
|
| |
This is on the way to making select() work with constraint_values re: #305.
PiperOrigin-RevId: 169454982
|
|
|
|
|
|
|
| |
formats specified in ParameterFile.ParameterFileType. Also maintain the currently used parsing style of whitespace split arguments that allows single and double quoting and whitespace and quote escaping. This style of parsing is for a format not currently generated and will be removed once all consuming actions have been converted to using a supported format explicitly.
RELNOTES: None.
PiperOrigin-RevId: 169437362
|
|
|
|
|
|
|
|
|
|
| |
For the time being, all C++ links will provide ObjC core libraries on the command line,
via having the link actions imply 'contains_objc_sources', which is a built-in feature
that is in the process of being enabled automatically when objective-C/C++ sources
are involved in the build. Once that happens, the 'imply' directives will be removed.
RELNOTES: Stop using --undefined dynamic_lookup in Apple links. Enables unresolved symbol errors.
PiperOrigin-RevId: 169437020
|
|
|
|
| |
PiperOrigin-RevId: 169428146
|
|
|
|
| |
PiperOrigin-RevId: 169418286
|
|
|
|
| |
PiperOrigin-RevId: 169414076
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, every Android-related top-level target will use the feature
flag whitelist, regardless of whether it has any feature flags.
This change makes it so that these targets only load the whitelist if
they need it.
In the process, it moves the value of the whitelist from the attribute
definition method to outside of it. Because it's a builder, this is only
a minor change to each callsite.
RELNOTES: None.
PiperOrigin-RevId: 169405621
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
TESTED=unit tests
RELNOTES: none
PiperOrigin-RevId: 169395919
|
|
|
|
| |
PiperOrigin-RevId: 169386655
|
|
|
|
|
|
| |
Fixes #3714
RELNOTES: None.
PiperOrigin-RevId: 169382686
|
|
|
|
|
|
|
|
| |
Static libraries: cc_archive -> archive
Dynamic libraries: cc_dynamic_library -> dynamic_library
RELNOTES: None
PiperOrigin-RevId: 169374373
|
|
|
|
|
|
|
|
|
|
|
| |
When copy_dynamic_libraries_to_binary is enabled, we copy the shared
libraries required by the binary to the binary's directory.
Bazel will throw errors if there are confilct actions generating the
same artifacts.
Change-Id: I09a5a599ca0ec7a67efd49d5aa89481450fa4e90
PiperOrigin-RevId: 169364498
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 169334039
|
|
|
|
|
|
|
|
| |
Also clarify the interfaces *TransitionResolver* - which determines what
transition to apply to an input configuration and *ConfigurationResolver*
- which determines the output configuration from that transition.
PiperOrigin-RevId: 169311986
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It turns out that the code to filter in analysis, based on android_ide_common,
isn't as strict as aapt is.
In particular, given a language filter (like 'en'), aapt rejects language and
region resources (like 'en-rUS') but android_ide_common does not.
We could try to just patch this behavior, but it's probably indicative of
larger inconsistancies between android_ide_common and aapt. As a result, always
pass resource filters to aapt. In most cases, if we already filtered in
analysis, few if any resources will be filtered out by aapt, so we'll still
keep most of the performance gains we expected from filtering in analysis.
RELNOTES: none
PiperOrigin-RevId: 169254335
|
|
|
|
|
|
| |
causes the cc_toolchain dependency of cc targets to be selected using the platforms/toolchains constraint solving system.
PiperOrigin-RevId: 169250621
|
|
|
|
|
|
|
|
|
|
| |
In general, R classes for Android libraries are used for compilation of those
libraries and then thrown away. They are replaced by the R classes from the
binary. Removing the unused android_library R classes will make binaries
smaller.
RELNOTES: none
PiperOrigin-RevId: 169244068
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add recursive test_suite rules for all tests that
ci.bazel.io runs for Windows, and set the
top-level test_suite as the CI test target.
Doing so shortens the command line and works
around https://github.com/bazelbuild/bazel/issues/3742
I verified that the old set of tests are the same
as the new set.
Change-Id: Id8d5da3f0c03c9b8969a9f8e1e9a3096888365aa
PiperOrigin-RevId: 169242858
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There is a vexingly large world of possible option types, each with its own quirks of how it interfaces with new inputs as they come in: values can be
- overridden (default)
- concatenated (allowMultiple)
- flattened (allowMultiple that accepts list inputs)
- disappear into additional flag inputs (expansion flags)
Or some combination of the above, in the case of flags with implicit dependencies and wrapper options.
Begin removing the error-prone treatment of all option types with conditional branches. This model of the different options will make it much easier to isolate the option-type specific logic with the command-line parsing logic. Flags that affect other flags (implicit requirements, expansions, and wrappers) will be migrated in a later change.
This CL does not change flag parsing semantics, just migrates the current parsing logic to the new class structure.
RELNOTES: None.
PiperOrigin-RevId: 169239182
|
|
|
|
| |
PiperOrigin-RevId: 169234249
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
Those files are not linked anywhere and where removed by the
export process either by accident or for better support from IntelliJ.
According to ij.bazel.build a non linked target will not be analyzed
so it should be safe.
PiperOrigin-RevId: 169229654
|
|
|
|
|
|
|
|
|
|
|
| |
There are several use cases for using full compile time jars instead of ijars (scala macros cannot use ijar, kotlin dependencies, etc). This change allows creating a provider with or without creating interface jars for compile time, exposing the right full/interface jars on target[JavaInfo].compile_jars and target[JavaInfo].full_compile_jars.
For more details see https://github.com/bazelbuild/bazel/issues/3528.
Fixes #3528
RELNOTES: java_common.create_provider is now supported with creating ijars by default. This introduces incompatibilities for existing users. Please set use_ijar=False if you don't want to use ijars.
PiperOrigin-RevId: 169222793
|
|
|
|
|
|
| |
This is a trivial change with a large file footprint.
PiperOrigin-RevId: 169169864
|
|
|
|
| |
PiperOrigin-RevId: 169163737
|
|
|
|
|
|
|
|
|
| |
tests fails, we still want to be able to download the logs and other outputs from CAS.
This fixes a bug introduced by https://github.com/bazelbuild/bazel/commit/562fcf9f5dfd14daea718f77da95b43b1400689b. To reproduce: run a failing test vs a BES service, the test log would not be uploaded.
TESTED=unit tests
PiperOrigin-RevId: 169143428
|
|
|
|
| |
PiperOrigin-RevId: 169116918
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, they assumed android-25 but Bazel CI does not have android-25
installed. In practice, these tests do not care which version is used so we
should use //tools/android:defaults_jar which selects the jar based on the
configuration. However, that target does not produce the jar as a runfile, it
is only useful currently for neverlink compilation.
RELNOTES: None
PiperOrigin-RevId: 169104539
|