| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
This will improve android_binary build times and allow Bazel to remove a
dependency on our forked version of the deprecated ApkBuilderMain.
RELNOTES: None
PiperOrigin-RevId: 151749709
|
|
|
|
|
|
|
|
|
|
| |
information is useful, the critical path computer retains references to objects that could otherwise be cleared to save memory.
This change is probably not worth submitting on its own -- the benefit it provides is too slight. But my follow-up change unknown commit needs this option to be effective -- the critical path currently hangs on to references to every action in the graph, so we can't drop references to actions if it's enabled.
The critical path could probably be reworked in the future to not hang onto those references.
PiperOrigin-RevId: 151747605
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This rule allows users to define flags as part of the Bazel configuration.
These flags will be select-able through a new attribute on config_setting,
and settable through transitions within certain special rules.
This rule is currently not supported by any other rules, not even
config_setting, and its values cannot be set; accordingly, it's not very
useful yet.
RELNOTES: None.
PiperOrigin-RevId: 151746523
|
|
|
|
|
|
| |
RELNOTES: none
PiperOrigin-RevId: 151746179
|
|
|
|
|
|
|
|
| |
in Skylark.
RELNOTES: None.
PiperOrigin-RevId: 151744710
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks inclusion of C++ system headers.
*** Original change description ***
Extract --sysroot flag from blaze and move it into crosstool
RELNOTES: None.
PiperOrigin-RevId: 151742077
|
|
|
|
|
|
|
|
|
|
|
|
| |
That means the prefetching execution is more similar to the real execution,
it will fetch more globs and throw less exceptions.
In the code path, one exception was thrown for almost each statement. With
this change, many BUILD files can be evaluated without an exception.
RELNOTES: None.
PiperOrigin-RevId: 151740684
|
|
|
|
|
|
|
|
| |
new_foo_repository rules.
Change-Id: Iadcc24bb2a207126cec9aa31faba6d76ee80da41
PiperOrigin-RevId: 151739968
|
|
|
|
|
|
|
| |
This isn't used anymore, it's the same as STRING_DICT, deleting so no one tries
to use it.
PiperOrigin-RevId: 151738915
|
|
|
|
|
|
|
|
|
| |
Prevent OptionsBases with conflicting names due to --no boolean flag aliases to
successfully combine into parser.
Also remove the comment about --no_ not being documented, since it has been documented since Bazel was open-sourced.
PiperOrigin-RevId: 151738453
|
|
|
|
|
|
|
|
|
| |
Once the ResourceFilter object is in AndroidConfiguration, we can start
tweaking it using dynamic configuration (next review).
RELNOTES: none
PiperOrigin-RevId: 151737284
|
|
|
|
|
|
|
|
| |
This change is one step towards removing --nouse_singlejar_apkbuilder.
RELNOTES: None
PiperOrigin-RevId: 151730390
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note 1) Explanation of the flags:
--explicit_java_test_deps: This is a flag independent of the others, and forces users to specify the JUnit deps. We should try to make this flag default to true in a future release, irrespective of the work around persistent java tests.
--experimental_testrunner: Bazel-only flag affecting switching from the BazelTestRunner to the ExperimentalTestRunner which will run the tests in a separate classloader. --explicit_java_test_deps is desired for this to ensure once we split the classpaths of the TestRunner and the TestTarget, the TestTarget does not hit a ClassNotFoundException, due to missing JUnit deps.
--test_strategy=experimental_worker: This is the existing flag, which in turn depends on --experimental_testrunner flag, since only the ExperimentalTestRunner is capable to running java tests persistently.
Note 2) There was no clean way to check for the flags defined in JavaOptions within TestActionBuilder (as I was checking the "tag=experimental_testrunner" before), without making TeasActionBuilder's build rules depend on java rules (yikes!). Hence, I created a new method compatibleWithStrategy() within each fragment, so I could check if WorkerTestStrategy could be compatible with the user specified flags. Thanks to Greg for suggesting this approach!
RELNOTES: None
PiperOrigin-RevId: 151729869
|
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 151729291
|
|
|
|
|
|
|
|
|
| |
Record the starting times of test actions, so that they can be reported
in the build event protocol.
Change-Id: I28e8d7d6ad39d91f4ffdd8a6161a5fc30f9a39b8
PiperOrigin-RevId: 151724760
|
|
|
|
|
|
|
| |
This should be morally equivalent to prefixing, with the benefit that we won't
prematurely expand NestedSets (not cheap) to get the length.
PiperOrigin-RevId: 151721361
|
|
|
|
|
|
|
|
|
|
| |
as argument.
This is needed because which proguard map that gets added as an argument to mainDexListAction depends on whether or not Rex is enabled
RELNOTES: None
PiperOrigin-RevId: 151720305
|
|
|
|
|
|
|
|
| |
For SetValue and UseDefault policies on expansion flags or flags with implicitRequirements, expand the policy into policy for each of its sub-flags. For SetValue, this addresses the issue with policies on expansion flags with overridable=true not actually letting user flags overrride the expansion. For UseDefault, this formalizes the behavior where UseDefault will wipe all user-provided flags that expand from a banned expansion flag, and will allow later work to guarantee that a later policy can override the expansion policy's subflags.
Since expansion flags do not have value, break if the invocation policy uses AllowValue or DisallowValue on an expansion flag.
PiperOrigin-RevId: 151718539
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The RuleContext object is not available when creating dynamic configuration
transitions. Removing it from ResourceFilter's state allows us to work with
ResourceFilter objects while creating those transitions. If we didn't do this,
we'd need to seperate the rest of ResourceFilter's state into a seperate class
so that we could work with it as part of doing dynamic configurations.
In the next reviews, I'll start actually creating dynamic configurations based
on ResourceFilter state.
Also, create a withAttrsFrom method that can be used in dynamic configuration
transitions, and generally migrate methods that work with attributes from
RuleContext to AttributeMap when practical.
To support these changes:
No longer keep the parsed lists of FolderConfiguration and Density objects as
fields of the ResourceFilter, instead, write functions that get them when
needed. We want to have access to a RuleContext when we initialize them to avoid
errors, and we don't have one in the withAttrsFrom method which will be called
as part of transitioning with dynamic configurations.
We no longer have those parsed lists to represent whether the object filters
during execution or analysis, so replace them with a seperate enum field for
filter behavior. Include a FILTER_IN_ANALYSIS_WITH_DYNAMIC_CONFIGURATION
option, even though it won't fully be used until the dynamic configuration
transition is taken advantage of in the next few reviews.
RELNOTES: none
PiperOrigin-RevId: 151715400
|
|
|
|
|
|
|
|
|
|
| |
If the workspace directory is /path/to/my/proj and the name in the WORKSPACE
file is "floop", this will symlink the output directories to
output_base/execroot/floop instead of output_base/execroot/proj.
More prep for #1262, fixes #1681.
PiperOrigin-RevId: 151712384
|
|
|
|
|
|
|
|
| |
for cc_test rules
Change-Id: I0983793edd1a5ca281fbb8f8a100e792381b0ff4
PiperOrigin-RevId: 151708025
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks Java 7 tests:
ERROR: missing input file '@bazel_tools//tools/jdk:JavaBuilder_deploy.jar'
http://ci.bazel.io/job/bazel-tests/BAZEL_VERSION=HEAD-jdk7,PLATFORM_NAME=linux-x86_64/670/console
*** Original change description ***
Make Java tool jars available from @bazel_tools.
Now users can point to default Java tool jars in custmized
java_toolchain rule defined in project's BUILD file.
PiperOrigin-RevId: 151699090
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test fails in the last action, where it tries to run the bazel-bin/hello-world binary with the linux-sandbox while mounting "source" to "target":
philwo@philwo-test:~/test$ $linux_sandbox -D \
> -M ${source} \
> -m ${target} \
> -- bazel-bin/hello-world
src/main/tools/linux-sandbox.cc:169: linux-sandbox-pid1 has PID 28912
[...]
src/main/tools/linux-sandbox-pid1.cc:260: remount ro: /home/philwo/test/mount_targets/x86_64-unknown-linux-gnu/sysroot/lib64/ld-2.19.so
src/main/tools/linux-sandbox-pid1.cc:349: sigaction(32, &sa, NULL) failed
src/main/tools/linux-sandbox-pid1.cc:349: sigaction(33, &sa, NULL) failed
src/main/tools/linux-sandbox-pid1.cc:459: waitpid returned 2
src/main/tools/linux-sandbox-pid1.cc:476: child died due to signal 11
PiperOrigin-RevId: 151693791
|
|
|
|
|
|
|
|
|
|
| |
This causes a hard-fail. I'm attempting to publish a fixed package now, but chocolatey.org is failing with a `502 Bad Gateway`. I'm talking to the chocolatey team in their gitter now.
I'll update here once I've been able to push.
Closes #2758.
PiperOrigin-RevId: 151693032
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bugfixed version of
https://cr.bazel.build/9520 which broke some
Google-internal tests.
This change allows removing duplicate code:
ReadDirectorySymlink was implemented on Windows as
a junction resolver, which is also implemented in
file_windows.cc. Now it uses the JunctionResolver.
RELNOTES: none
PiperOrigin-RevId: 151691895
|
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 151688820
|
|
|
|
|
|
| |
keeping incremental state.
PiperOrigin-RevId: 151639711
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks tests that expected previous id generation order.
RELNOTES: None.
PiperOrigin-RevId: 151638886
|
|
|
|
|
|
| |
doesn't work because the PackageFactory keeps a reference to it.
PiperOrigin-RevId: 151632473
|
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 151630049
|
|
|
|
|
|
|
|
| |
RuleTransitionFactory#buildTransitionFor is @Nullable, but the
SkyframeExecutor expects a non-null Transition. If the factory
returns null, the SkyframeExecutor should be passed NONE, not null.
PiperOrigin-RevId: 151615724
|
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 151602497
|
|
|
|
|
|
|
|
| |
Fixes https://github.com/bazelbuild/bazel/issues/2739.
RELNOTES: None
PiperOrigin-RevId: 151592983
|
|
|
|
|
|
| |
This will ease our planning and give a better target for 1.0
PiperOrigin-RevId: 151586089
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new RemoteExecutionClient class only performs remote execution, and
nothing else; all higher-level functions, local rety, etc. will live outside
of the client.
In order to add unit tests, I had to add another layer of indirection between
the Grpc{RemoteExecutor,ActionCache} and GRPC, since GRPC generates final,
non-mockable classes. While a testing approach that uses a fake server can
also get some test coverage (as in GrpcActionCacheTest), it doesn't allow us
to test the full range of bad things that can happen at the GRPC layer.
The cloned implementation uses a single GRPC channel, as was recommended to
me by Jakob, who worked on GRPC. A single channel should be sufficiently
scalable, it's thread-safe, and it performs chunking internally. On the
server-side, the requests from a single channel can be dispatched to a thread
pool, so this should not be a blocker for server-side parallelism.
I also changed it to throw an exception whenever anything bad happens - this
makes it much more obvious if there's still bug in this code; the old code
silently swallows many errors, falling back to local execution, which papers
over many issues.
Furthermore, we now return a RemoteExecutionResult to indicate whether the
action ran at all (regardless of exit code), as well as the exit code.
All in all, this implementation is closer to the production code we're using
internally, although quite a few things are still missing.
The cloned implementation is not hooked up to RemoteSpawnStrategy yet. It
also does not support combining remote caching with local execution, but note
that RemoteSpawnStrategy regressed in that respect and currently also does
not support that mode.
PiperOrigin-RevId: 151578409
|
|
|
|
|
|
|
|
|
|
|
| |
So far only link actions were initialized in CppLinkActionConfigs. This cl
changes this class to also initialize CppCompile actions. This is needed for
our ongoing work removing hard-coded flags from Bazel and moving them into
Crosstool.
RELNOTES: None.
PiperOrigin-RevId: 151575045
|
|
|
|
| |
PiperOrigin-RevId: 151574562
|
|
|
|
|
|
|
|
|
|
| |
If a rule requires a special provider that's (maybe) not provided explicitly
but nevertheless available from a target, i.e. "files", the mandatory providers
check should pass.
Fixes #1490
PiperOrigin-RevId: 151571187
|
|
|
|
|
|
|
|
|
|
| |
The instructions on how to compile bazel from source are particularly
useful for platforms where no ready-made binaries are provided for.
As such, we should not assume a debian-package--based system. It is
OK to mention what needs to be done on those systems, but only as
an example after stating the goal to achive (have OpenJKD 8 installed).
PiperOrigin-RevId: 151571121
|
|
|
|
|
|
|
|
| |
doc, faq, and contribute topics.
Did not update content which is static: blog posts, release notes, design docs.
PiperOrigin-RevId: 151569872
|
|
|
|
|
|
|
| |
- Ubuntu 15.10 has passed end of life
- Debian stretch is flaky with optimized build (see #2418)
PiperOrigin-RevId: 151567467
|
|
|
|
| |
PiperOrigin-RevId: 151564075
|
|
|
|
|
|
|
|
|
| |
RELNOTES[INC]: Converting artifacts to strings and printing them now return
"File" instead of "Artifact" to be consistent with the type name.
Fixes #2715
PiperOrigin-RevId: 151563252
|
|
|
|
|
|
|
| |
GetVersionEx is discouraged by MSDN, so use the
recommended method to check the Windows version.
PiperOrigin-RevId: 151553827
|
|
|
|
|
|
| |
since it's already returned via JavaProvider.
PiperOrigin-RevId: 151550286
|
|
|
|
| |
PiperOrigin-RevId: 151547892
|
|
|
|
|
|
|
|
| |
ConfiguredTargetValues. Also clear transitive packages for both, even for top-level targets.
This is not expected to save significant memory, but is expected to reduce the number of references to Packages, allowing them to be dropped more easily when discarding analysis cache and running in batch mode.
PiperOrigin-RevId: 151508877
|
|
|
|
|
|
| |
RELNOTES: A downloader bug was fixed that prevented RFC 7233 Range connection resumes from working with certain HTTP servers
PiperOrigin-RevId: 151508000
|
|
|
|
|
|
|
|
| |
Ability to configure this was added to provide an easy correction in case
writing the exit code to a file proved problematic. This feature has been out
for 3 months with no reported issues, no reason to keep the extraneous flag.
PiperOrigin-RevId: 151496431
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's possible for cases to happen where the BlazeCommandDispatcher
fails before starting the WaitForCompletionCommand. In these cases,
the test's command state handoff will never take place because no
command state will be created to be handed off (obviously).
This means that runIn will wait forever.
Instead, if the command completes and the command state has still
not been handed off, set an exception into the command state so
that the test will fail without further troubles.
RELNOTES: None.
PiperOrigin-RevId: 151495494
|