| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
- changed field names and a couple accessors to consistently use full words ("statement" instead of "stmt")
- applied several local analyzers (from IntelliJ) to remove redundant modifiers, unnecessary explicit types (yay Java 8), etc.
RELNOTES: None
PiperOrigin-RevId: 161551096
|
|
|
|
|
|
|
|
| |
Don't call the `toString` method on unknown objects as it potentially
breaks hermeticity and determinism. Use a generic string like
"<unknown object package.ClassName>" instead.
PiperOrigin-RevId: 161544828
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bazel was creating an dummy external repository for @main-repo, which
doesn't work with package paths and will cause conflicts once
@main-repo//foo and //foo refer to the same path.
This adds a "soft pull" option to WorkspaceNameFunction: it can either
parse the entire WORKSPACE file to find the name or just the first section.
That way PackageLookupFunction can find the repository name without causing
a circular dependency.
This should have no change of behavior and is already tested in
https://github.com/bazelbuild/bazel/blob/master/src/test/shell/bazel/workspace_test.sh#L176.
PiperOrigin-RevId: 161536466
|
|
|
|
|
|
|
|
| |
This value can be passed in Skylark to java_common.compile#java_toolchain in
order to avoid incompatibility issues when the value of --java_toolchain uses a
different Java version.
PiperOrigin-RevId: 161528114
|
|
|
|
|
|
|
|
|
| |
to use.
Part of #2219.
Change-Id: Id6dfe6ec102f609bb19461242a098bf977be29ae
PiperOrigin-RevId: 161527986
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 161527470
|
|
|
|
| |
PiperOrigin-RevId: 161521237
|
|
|
|
|
|
|
|
| |
The test now uses a fake clock and replaces calls to Thread.sleep() by manual
changes to the clock.
RELNOTES:none
PiperOrigin-RevId: 161520781
|
|
|
|
|
|
|
|
|
|
|
| |
can depend on the C++ toolchain/Java runtime being used.
The naive way to do this would be via @bazel_tools//, except that that does not take configuration transitions into account and e.g. will be the same in the host and the target configurations even if different toolchains are used.
Eventually, this will be supplanted by the toolchain selection mechanism. However, that is not live yet and the migration cost this will incur is not a lot; just replacing the one single instance of these undocumented rules with the reference to the toolchain type.
RELNOTES: None.
PiperOrigin-RevId: 161519229
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
From a BEP point of view, the only interface of a configuration we care
about is its BuildEvent structure. Represent it as such, so that we
can move this class to the rest of the buildeventstream module. This
is a prerequisite for ActionOwners refering to configurations in the
BEP.
Change-Id: I6d1c1bf2951aac91607e83cad664553cd6620df8
PiperOrigin-RevId: 161510049
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Running locally, I noticed that the multipleBlobsUploadShouldWork() test
is flaky (~1% of all runs).
The flakiness exists due to Future.get() being notified about completion
before the future's listeners are executed. We make use of future
listeners to remove an upload digest from an internal hashmap, after the
upload completed. Thus, checking for this map to be empty immediately
after uploadBlob (aka Future.get()) returned, could sometimes fail due
to the listeners not having executed yet.
The fix is to periodically poll the hashmap until all listeners have
executed.
RELNOTES: None.
PiperOrigin-RevId: 161507486
|
|
|
|
|
|
|
| |
dependency.
RELNOTES: None.
PiperOrigin-RevId: 161504700
|
|
|
|
|
|
|
|
|
|
| |
Make sure that ZipEntry paths always use forward
slashes, even on Windows. Also add a test.
See https://github.com/bazelbuild/bazel/issues/3264
Change-Id: I4508e46dde49cd44c8e3792017d0d280a51dc565
PiperOrigin-RevId: 161500049
|
|
|
|
|
|
|
| |
That's the only way to provide sane behavior both in Skylark and in Java.
RELNOTES: None.
PiperOrigin-RevId: 161496153
|
|
|
|
|
|
|
|
|
|
| |
Simplify the code by providing the default implementation of
`SkylarkValue$isImmutable` that always returns false. All objects are
considered mutable unless their `isImmutable` method is overridden.
This change doesn't affect the current behavior.
PiperOrigin-RevId: 161422029
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 161395570
|
|
|
|
|
|
|
|
|
| |
It's never used and was broken anyway (see #getLabel()).
The functionality has been laying there unused since the initial checkin in unknown commit.
RELNOTES: None.
PiperOrigin-RevId: 161378717
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce the JunctionCreator classes that the
Android BusyBox can use to work around path length
limitations on Windows.
See https://github.com/bazelbuild/bazel/issues/3264
Change-Id: Ia5ee39f0635dcc2690ffb1755dc56d21e7bc7536
PiperOrigin-RevId: 161378422
|
|
|
|
|
|
|
|
|
|
|
| |
Set an additional flag in the last BEP message to indicate the end
of the proto sequence. While the last event is implicit from the
child-relation (the sequence of protos is finished, if at least one
event is seen and all announced events have occurred in the stream),
an explicit marking of the last event simplifies processing.
Change-Id: I6554476f975dc9e52fdb27fb3221bd27f6097ed9
PiperOrigin-RevId: 161377092
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 161375413
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now all tests under
//src/test/j/c/g/devtools/build/android/...:*
pass on Windows, yay!
Also adjust test sizes as advised by Bazel (using
--test_verbose_timeout_warnings).
See https://github.com/bazelbuild/bazel/issues/3264
Change-Id: I3f1f4978306bdedaf805149295daa413d2248fbb
PiperOrigin-RevId: 161373699
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current ByteStream upload implementation has no support for application-level
flow control, which resulted in excessive buffering and OOM errors.
The new implementation respects gRPCs flow control.
Additionally, this code adds support for multiple uploads of the same
digest. That is, if a digest (i.e. file) is uploaded several times
concurrently, only one upload will be performed.
RELNOTES: None.
PiperOrigin-RevId: 161287337
|
|
|
|
|
|
|
| |
This flag was experimental but is now always-on.
RELNOTES: None.
PiperOrigin-RevId: 161234569
|
|
|
|
|
|
|
|
| |
Skydoc can use these arguments to obtain documentation instead of (or in
addition to) Python-style docstrings.
RELNOTES: None.
PiperOrigin-RevId: 161233014
|
|
|
|
|
|
|
|
|
| |
If --incompatible_descriptive_string_representations is passed, artifacts
are converted to strings using `str`, `repr` and `print` functions
differently (more descriptive, without leaking information that shouldn't
be accessible).
PiperOrigin-RevId: 161230209
|
|
|
|
|
|
|
| |
Part of #2219.
Change-Id: Ia0effac6e6c362c04c6501b21dde89e9e5b154a4
PiperOrigin-RevId: 161216492
|
|
|
|
|
|
|
|
|
| |
If --incompatible_descriptive_string_representations is passed, configured
targets are converted to strings using `str`, `repr` and `print` functions
differently (more descriptive, without leaking information that shouldn't
be accessible).
PiperOrigin-RevId: 161212989
|
|
|
|
|
|
|
|
| |
NODEP_LABEL attributes are not allowed to set file types, but
populateLabelAttributes assumes that every label attribute has a file type set.
Fix this by adding in better checks.
PiperOrigin-RevId: 161212141
|
|
|
|
|
|
|
|
|
| |
If --incompatible_descriptive_string_representations is passed, rule and aspect
contexts are converted to strings using `str`, `repr` and `print` functions
differently (more descriptive, e.g. "<rule context for //pkg:rule>" instead of
just "//pkg:rule").
PiperOrigin-RevId: 161205430
|
|
|
|
|
|
| |
Platform rule.
PiperOrigin-RevId: 161203491
|
|
|
|
|
|
|
| |
This is so that we can eventually route the information it now contains through JavaRuntimeProvider.
RELNOTES: None.
PiperOrigin-RevId: 161196809
|
|
|
|
|
|
|
|
|
| |
If --incompatible_descriptive_string_representations is passed, providers and
their instances are converted to strings using `str`, `repr` and `print` functions
differently (without leaking the provider's name which isn't supposed to be
visible).
PiperOrigin-RevId: 161196343
|
|
|
|
|
|
|
| |
Show meaningful message instead.
RELNOTES: None.
PiperOrigin-RevId: 161196096
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Make the RemoteSpawnRunner match RemoteSpawnStrategy functionality, including
local fallback, remote caching, and execution. This is done so we can
actually finish the migration to the SpawnRunner API, for which I've had a
pending change for several months now.
- Never throw StatusRuntimeException from the GrpcRemoteCache or the
GrpcExecutor. We almost never do, since the Retrier catches them implcitly,
so a number of catch blocks were already unreachable. Carefully document
the cases where we still need to handle it.
- RemoteSpawnStrategy / RemoteSpawnRunner no longer catch gRPC-specific
exceptions; they should be able to handle any reasonable remote caching /
execution implementation (except we don't have a common interface for
GrpcRemoteExecutor yet), with no dependency on gRPC as such. Note that the
RemoteSpawnStrategy class will actually go away after the SpawnRunner
migration (eventually).
- However, ensure that we _are_ actually throwing CacheNotFoundException;
the retrier implicitly catches that also, so we need to manually unwrap
from RetryException.
- Don't call into the EventHandler from RemoteSpawnStrategy; instead, throw
an exception with the message, and let the higher levels handle the
reporting (we only allow this for exception + local fallback, for which
there's no good reporting API right now).
PiperOrigin-RevId: 161195666
|
|
|
|
|
|
|
|
|
| |
This change is a part of global string representations cleanup using the
--incompatible_descriptive_string_representations flag, however the change to
attr and attr.* is not affected by the flag because string representations of
these objects used to contain nondeterministic information (memory addresses).
PiperOrigin-RevId: 161192934
|
|
|
|
|
|
|
| |
Error message is simpler and doesn't show the type of all arguments.
RELNOTES: None.
PiperOrigin-RevId: 161187134
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
JavaRuntimeProvider instead of Jvm if a java_runtime rule is used.
There are a few things standing in the way of removing package loading from JvmConfigurationLoader:
- The JAVABASE/JAVA Make variables, which are a function of the contents of the package with the JVM. The plan is to make JavaRuntime a MakeVariableProvider and add an attribute to rules that do Make variable evaluation to tell which Make variables they need
- The path to the Java binary is exported to Skylark through the configuration fragment. We'll need to export an attribute to Skylark that can be used to depend on the JVM, then do the three-step dance to use that instead of the configuration and figure out what to do if --javabase is not a label.
- Jvm#getJavaExecutable() has a bunch of call sites. They need to be adjusted individually.
RELNOTES: None.
PiperOrigin-RevId: 161176462
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Fixed handling of pch, so this should work again
*** Original change description ***
Automated rollback of commit 29ec1b89989db411d2038e2df8657b6435f80403.
*** Reason for rollback ***
Breaks the classroom_ios TAP project [1] in the presence of --experimental_objc_crosstool=all, which was added to the global .blazerc last week.
[1] []
*** Original change description ***
Change ProtobufSupport to use CrosstoolCompilationSupport if experimental_objc_crosstool=all
PiperOrigin-RevId: 161159846
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a legacy dependency on the configuration transition table, which is
only needed for static configurations. Dynamic configurations didn't actually
use anything in that table: this was just a convenience interface that could
have equally been defined somewhere else. So this cl defines it somewhere else.
There's still one last dependency: Transitions.configurationHook. We'll tackle
that in a followup cl.
PiperOrigin-RevId: 161141650
|
|
|
|
|
|
|
|
| |
If --incompatible_descriptive_string_representations is passed, select values
are converted to strings using `str`, `repr` and `print` functions differently:
"select(...)" instead of "selector(...)".
PiperOrigin-RevId: 161129809
|
|
|
|
|
|
|
|
| |
If --incompatible_descriptive_string_representations is passed, aspects are
converted to strings using `str`, `repr` and `print` functions differently
(more descriptive, without leaking information that shouldn't be accessible).
PiperOrigin-RevId: 161116840
|
|
|
|
|
|
|
|
|
| |
If --incompatible_descriptive_string_representations is passed, functions and rule
classes are converted to strings using `str`, `repr` and `print` functions
differently (more descriptive, without leaking information that shouldn't
be accessible).
PiperOrigin-RevId: 161087777
|
|
|
|
|
| |
RELNOTES: Remove apple_watch2_extension build rule. Users should be using the skylark watchos_application and watchos_extension rules. https://github.com/bazelbuild/rules_apple has details.
PiperOrigin-RevId: 161079942
|
|
|
|
|
|
|
|
| |
This is an incompatible change, but it's an obvious bug.
RELNOTES[INC]: Fixed a bug whereby multiple load() statements could appear on the same line
PiperOrigin-RevId: 161070399
|
|
|
|
|
|
|
|
|
|
|
|
| |
Prepare tests for an upcoming change where some
Android actions will use a parameter file, because
they expect command line flags with lists of files
and the list separators don't work on Windows.
See https://github.com/bazelbuild/bazel/issues/3264
RELNOTES: none
PiperOrigin-RevId: 161064058
|
|
|
|
|
|
|
|
|
| |
Add a single getMetadata method (matching MetadataHandler), and rewrite
everything in those terms.
This is in preparation for merging ActionInputFileCache and MetadataHandler.
PiperOrigin-RevId: 161053535
|
|
|
|
| |
PiperOrigin-RevId: 161010594
|
|
|
|
|
|
|
|
|
| |
Label or a ToolchainInfo provider.
Part of #2219.
Change-Id: Ia09070717f54eea10e1ab0303253714b58768548
PiperOrigin-RevId: 160995546
|
|
|
|
|
|
|
| |
Part of #2219.
Change-Id: Ie235d0a75fc50746331b20a7f2060e6d49ae48cb
PiperOrigin-RevId: 160982987
|