| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
instead of the one computed based on xcode_config.
RELNOTES: None.
PiperOrigin-RevId: 172064337
|
|
|
|
| |
PiperOrigin-RevId: 172053593
|
|
|
|
|
|
|
|
|
|
| |
The `set` constructor used to be deprecated, but it was still possible to use
it by providing --incompatible_disallow_set_constructor=false.
RELNOTES[INC]: The flag --incompatible_disallow_set_constructor is no longer
available, the deprecated `set` constructor is not available anymore.
PiperOrigin-RevId: 171962361
|
|
|
|
| |
PiperOrigin-RevId: 171960869
|
|
|
|
|
|
|
|
|
|
|
| |
Removes the special casing of implicit requirements. Accumulating them and parsing them at the end of the parse() function was never enough to actually guarantee that the value not be replaced. I've gone through all options with implicit requirements to make sure that the expectation is checked after options parsing, so this change should be relatively safe.
Implicit requirements is still a broken concept - they don't actually expand based on the value given, so a user that is explicitly NOT setting a flag might unwittingly be setting all the requirements for that unset flag. Removing it fully requires redesigning or removing the flags that set it, though, so for now we are standardizing the behavior so that it behaves like any other expansion options, just one with a value.
Also consolidate the deprecated wrapper option behavior into the expansion work. It will soon be removed entirely, but for now it can get grouped in with the expansion logic, so that its differences are more explicit.
RELNOTES: None.
PiperOrigin-RevId: 171957502
|
|
|
|
|
|
|
| |
The transition period is over, these features have now been rolled out.
RELNOTES: --experimental_use_parallel_android_resource_processing and --experimental_android_use_nocompress_extensions_on_apk are removed. These features are fully rolled out.
PiperOrigin-RevId: 171957383
|
|
|
|
|
|
|
| |
Fixes #3874.
Change-Id: Ibbe3ea27b77426f551e2f70f082478edb2234749
PiperOrigin-RevId: 171957230
|
|
|
|
|
|
|
|
| |
RELNOTES[INC]: The flag --incompatible_descriptive_string_representations is no
longer available, old style string representations of objects are not supported
anymore.
PiperOrigin-RevId: 171952621
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I noticed a problem where if you have a workspace with basename
"server", clean will rudely delete the server's pid file and cause it
to commit suicide. This is because clean deletes the deep and non-deep
execroot, presumably temporarily as part of the deep execroot
migration. --deep_execroot has been enabled for more than a year now,
so hopefully we can safely remove this aggressive deleting. --expunge
can take care of old execroots if needed.
Change-Id: I445b0d7cedf2fb9a6a365eacc85b75428a981640
PiperOrigin-RevId: 171948100
|
|
|
|
|
|
| |
handle it properly.
PiperOrigin-RevId: 171906091
|
|
|
|
| |
PiperOrigin-RevId: 171906076
|
|
|
|
| |
PiperOrigin-RevId: 171905267
|
|
|
|
|
|
| |
informative if the number of summaries and the number of test targets don't agree. My guess is somehow we have duplicate configured targets?
PiperOrigin-RevId: 171904831
|
|
|
|
|
|
| |
the tool setup we do in tests doesn't necessarily have to be copied if we copy a workspace over.
PiperOrigin-RevId: 171864170
|
|
|
|
|
|
|
|
| |
Minor change, but the Rules AppEngine now supports Python with Google App Engine, so it's more than just Java.
Closes #3837.
PiperOrigin-RevId: 171843168
|
|
|
|
|
|
| |
CcToolchainProvider#getToolPathFragment.
PiperOrigin-RevId: 171837541
|
|
|
|
|
|
|
| |
The semantics of implicit requirements will soon change to adding the requirements in-place in the command line, so they will be slightly more likely to get overwritten. Explicitely check that the requirement is set, and warn appropriately if the user is sending mixed signals.
RELNOTES: None.
PiperOrigin-RevId: 171824297
|
|
|
|
|
|
| |
CppConfiguration#getLdExecutable to CcToolchainProvider.
PiperOrigin-RevId: 171818406
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an absolute javabase is desired, the following set of rules can be used:
java_runtime_suite(name="suite", default=":runtime")
java_runtime(name="runtime", java_home=<path to the JDK>)
Then --javabase can be pointed to the java_runtime_suite() rule.
Alternatively, the java_runtime rule can reference a Make variable:
java_runtime(name="runtime", java_home="$(ABSOLUTE_JAVABASE)")
Then the Javabase can be specified on the command line like this:
--javabase=<your package>:suite --define=ABSOLUTE_JAVABASE=<path to the JDK>
RELNOTES[INC]: --javabase=<absolute path> and --host_javabase=<absolute path>
are not supported anymore. If you need this functionality java_runtime_suite(name="suite", default=":runtime") java_runtime(name="runtime", java_home=<path to the JDK>) is an alternative.
PiperOrigin-RevId: 171798416
|
|
|
|
|
|
|
|
| |
Addresses #3661
Closes #3770.
PiperOrigin-RevId: 171797773
|
|
|
|
|
|
|
| |
Configurable"
RELNOTES: None.
PiperOrigin-RevId: 171751391
|
|
|
|
|
|
|
|
|
| |
This requires moving the convenience constructor using RuleConfiguredTarget to be owned by RuleConfiguredTarget.
This refactoring is required by later work to allow SplitTransitionProvider to use configurable attributes. This would require packages/Attribute.java -> analysis/ConfiguredAttributeMapper.java, where in general, the 'analysis' package depends on the 'packages' package. This is the easiest way to prevent a circular dependency.
RELNOTES: None.
PiperOrigin-RevId: 171741620
|
|
|
|
|
|
| |
implementations.
PiperOrigin-RevId: 171730718
|
|
|
|
|
|
|
|
|
| |
MANDATORY_LINK_TARGET_TYPES has not been in use since d83d9bf1 was
released.
Closes #3869.
PiperOrigin-RevId: 171688095
|
|
|
|
| |
PiperOrigin-RevId: 171684595
|
|
|
|
|
|
|
| |
Previously the java rules returned some providers twice: once as regular providers and once wrapped in JavaInfo (e.g. JavaCompilationArgsProvider). This is unnecessary, inefficient and error prone. JavaInfo should be the only way of returning these providers.
RELNOTES: None.
PiperOrigin-RevId: 171663550
|
|
|
|
|
|
| |
OptionDescription is basically a hack to get the expansion data for options from outside the options parser, but it was being used at various points of invocation policy enforcement. In order to correctly track option origin, we only want to get this information once. Do it during the invocation policy expansion stage, not at enforcement, so that we track the information of the option's origin in the original invocation policy passed to the enforcer, not the expanded one.
PiperOrigin-RevId: 171661669
|
|
|
|
|
|
|
|
| |
Progress towards #3424.
RELNOTES[INC]: ctx.fragments.apple.sdk_version_for_platform is not supported anymore. The same information is accessible through the target @bazel_tools//tools/osx:current_xcode_config: point an implicit attribute to it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_config")) then use ctx.attr._xcode_config[apple_common].XcodeVersionConfig].sdk_version_for_platform .
PiperOrigin-RevId: 171652446
|
|
|
|
|
|
|
| |
Progress towards #3424.
RELNOTES: None.
PiperOrigin-RevId: 171648540
|
|
|
|
|
|
|
| |
Rename it to TemplateExpander and start rewriting the documentation to refer
to template variables.
PiperOrigin-RevId: 171648255
|
|
|
|
|
|
|
|
| |
Progress towards #3424.
RELNOTES[INC]: ctx.fragments.apple.minimum_os_for_platform_type is not supported anymore. The same information is accessible through the target @bazel_tools//tools/osx:current_xcode_config: point an implicit attribute to it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_config")) then use ctx.attr._xcode_config[apple_common].XcodeVersionConfig].minimum_os_for_platform_type .
PiperOrigin-RevId: 171648040
|
|
|
|
|
|
|
|
|
|
|
| |
rules only add the minimum version of the OS to the output directory name if the configuration is behind an AppleBinaryTransition, or if a minimum_os flag (such as --ios_minimum_os) is specified on the command line.
This is necessary so that the only time the minimum OS version affects the output directory name is when it's explicitly specified and therefore is accessible without looking at the xcode_config rule.
Progress towards #3424.
RELNOTES: None.
PiperOrigin-RevId: 171641295
|
|
|
|
|
|
| |
cache if we're doing input discovery: input discovery may find new artifacts we don't yet know about. Similarly, in SingleBuildFileCache, use the Artifact's path if it's available, rather than the poor man's route of the execRoot.
PiperOrigin-RevId: 171635892
|
|
|
|
|
|
|
|
|
| |
This is part of the effort outlined in https://bazel.build/designs/2017/07/13/improved-command-line-reporting.html. The refactoring of the options parser is not yet complete, so we still do not have complete & correct information about the canonical command line. Where the information is blatantly incorrect, a best approximation was made, with comments and tests documenting the deficiencies.
Change the names of the initial CommandLine fields in the BEP to be explicitly identified as unstructured.
RELNOTES: None.
PiperOrigin-RevId: 171625377
|
|
|
|
|
|
| |
rename method to better reflect what it is primarily doing.
PiperOrigin-RevId: 171621356
|
|
|
|
|
|
| |
or no edges. Also add option to disable checks in MemoizingEvaluatorTest that don't make sense for implementations that don't keep track of dirty nodes. Also extract RecordingDifferencer to an interface. And add a test for the situation that a node changes during a build that it's not requested, and which fails, necessitating cleanup.
PiperOrigin-RevId: 171616817
|
|
|
|
|
|
|
| |
Since go targets set up custom links and don't use CppLinkAction, handle ThinLTO builds by creating simple LTO backend actions to compile each IR file down to native code (without any whole program optimization).
RELNOTES: None
PiperOrigin-RevId: 171548766
|
|
|
|
|
|
|
|
| |
information derived from the toolchain that is not also derived from build options.
This will facilitate migration of toolchain information from CppConfiguration to CppToolchainProvider. CppConfiguration's usage of CppToolchainInfo can now be removed piece by piece as usage of toolchain information in the c++ rules is pointed at CppToolchainProvider instead of CppConfiguration.
PiperOrigin-RevId: 171547509
|
|
|
|
|
|
|
| |
Previously, the closing parenthesis was not included in the location.
RELNOTES: none
PiperOrigin-RevId: 171527078
|
|
|
|
|
|
|
|
|
|
| |
These are now accessible using ctx.attr._xcode_config[apple_common.XcodeVersionConfig].
Progress towards #3424.
RELNOTES[INC]: ctx.fragments.apple.{xcode_version,ios_minimum_os} is not supported anymore. The same information is accessible through the target @bazel_tools//tools/osx:current_xcode_config: point an implicit attribute to it (i.e. attr.label(default=Label("@bazel_tools//tools/osx:current_xcode_config")) then use ctx.attr._xcode_config[apple_common].XcodeVersionConfig].
PiperOrigin-RevId: 171517550
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this commit:
* buildenv.sh: restore its state to that as of
commit 511c35b46cead500d4e76706e0a709e50995ceba
* CommonCommandOptions.java: remove a deprecated
no-op flag
* WindowsPathFragment.java: implement an
ASCII-only isLetter function, use that instead
of Character.isLetter, because the latter
returns true for some Unicode characters too
* bazel_bootstrap_distfile_test: remove logging
that we no longer need, since the bugfix for
issue #3618 will be pushed to GitHub later today
Change-Id: Ibda70219e974f0c47bc82addc647d8951f4bd701
PiperOrigin-RevId: 171498977
|
|
|
|
|
|
|
|
| |
Opens the door to swapping in different implementations without needing to
touch a ton of code.
RELNOTES: None
PiperOrigin-RevId: 171412555
|
|
|
|
|
|
|
|
|
|
| |
Building with --experimental_discard_orphaned_artifacts will cause the .imports
file produced by the LTO indexing action to not be preserved, unless it is marked
as an input to the LTOBackendAction. It is only used in the input discovery phase,
not as an input to the actual action, so it was not initially listed as an input.
RELNOTES: None
PiperOrigin-RevId: 171387388
|
|
|
|
|
|
|
|
| |
catastrophes. Our stricter behavior in the face of errors means that it is no longer possible for a done node to depend on a not-done node in this build.
This opens up the possibility to discard graph edges on all --batch builds, or at least those with --discard_analysis_cache.
PiperOrigin-RevId: 171375405
|
|
|
|
|
|
|
|
|
| |
ActionContexts, etc., so that SpawnResult metadata is returned upwards.
Note that the TODOs mostly refer to changes that will appear in a subsequent CL (a CL to return SpawnResults, contained in ActionResults, from Actions/AbstractActions). I split off the remaining SpawnResult-related changes into this CL and kept the ActionResult-related changes separate.
RELNOTES: None.
PiperOrigin-RevId: 171355611
|
|
|
|
|
|
|
|
| |
Micro-optimize a few hot code paths which have a habit of iterating over short O(1)-access
lists.
RELNOTES: None
PiperOrigin-RevId: 171347524
|
|
|
|
|
|
|
|
|
| |
SkylarkSemanticsCodec
Note that the syntax package and its test package still depend indirectly on the options parser via other Bazel-specific packages.
RELNOTES: None
PiperOrigin-RevId: 171342823
|
|
|
|
|
|
|
| |
Fixes #3846.
Change-Id: Ic510c539dfe321aa9a679cee7143fee77a17acc5
PiperOrigin-RevId: 171332064
|
|
|
|
|
|
|
| |
load.
RELNOTES: None
PiperOrigin-RevId: 171298089
|
|
|
|
|
|
|
| |
Also remove the use of the @UsesOnlyCoreTypes annotation on SkylarkSemanticsOptions. It was only there to help mark that the options class was safe to put in Skyframe.
RELNOTES: None
PiperOrigin-RevId: 171248504
|