| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 200246780
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Environment$Continuation#caller is most definitely nullable in practice.
I suspect it's a bug in skylark itself, but for now, just properly mark
it nullable and handle it in the debugger.
Stack trace from NPE:
Caused by: java.lang.NullPointerException
at com.google.devtools.build.lib.syntax.Environment.listFrames(Environment.java:1197)
at com.google.devtools.build.lib.syntax.Environment.listFrames(Environment.java:81)
at com.google.devtools.build.lib.skylarkdebug.server.ThreadHandler.listFrames(ThreadHandler.java:236)
at com.google.devtools.build.lib.skylarkdebug.server.ThreadHandler.getThreadProto(ThreadHandler.java:345)
at com.google.devtools.build.lib.skylarkdebug.server.ThreadHandler.pauseCurrentThread(ThreadHandler.java:289)
at com.google.devtools.build.lib.skylarkdebug.server.ThreadHandler.pauseIfNecessary(ThreadHandler.java:203)
at com.google.devtools.build.lib.skylarkdebug.server.SkylarkDebugServer.pauseIfNecessary(SkylarkDebugServer.java:158)
at com.google.devtools.build.lib.skylarkdebug.server.SkylarkDebugServer$DebugAwareEval.exec(SkylarkDebugServer.java:262)
at com.google.devtools.build.lib.syntax.UserDefinedFunction.call(UserDefinedFunction.java:91)
at com.google.devtools.build.lib.syntax.BaseFunction.callWithArgArray(BaseFunction.java:462)
at com.google.devtools.build.lib.syntax.BaseFunction.call(BaseFunction.java:440)
at com.google.devtools.build.lib.analysis.skylark.SkylarkRuleConfiguredTargetUtil.lambda$buildRule$1(SkylarkRuleConfiguredTargetUtil.java:105)
at com.google.devtools.build.lib.skylarkdebug.server.SkylarkDebugServer.runWithDebugging(SkylarkDebugServer.java:142)
at com.google.devtools.build.lib.syntax.DebugServerUtils.runWithDebuggingIfEnabled(DebugServerUtils.java:70)
at com.google.devtools.build.lib.analysis.skylark.SkylarkRuleConfiguredTargetUtil.buildRule(SkylarkRuleConfiguredTargetUtil.java:100)
PiperOrigin-RevId: 200229036
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
repository name is remapped.
For example if main/WORKSPACE contains:
local_repository(
name = "a",
path = "../a",
repo_mapping = {"@x" : "@y"},
)
a/BUILD
load("@x//:sample.bzl", "sample")
Then the load in a/BUILD will be resolved as "@y//:sample.bzl"
RELNOTES: None
PiperOrigin-RevId: 200227431
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 200213204
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- move the save method to an inner class
- don't use a timer, use a blocking queue instead
- add a format enum (in anticipation of adding a json output format)
- update the test to use an in memory buffer, and avoid FoundationTestCase
Compared to the original https://github.com/bazelbuild/bazel/commit/15b8c259db111012b4642287172cb4d1d82151f3, it contains these changes:
- Make it so we don't create a queue if we are not going to write any
data! The queue is now owned by the writer, and if there is no writer, there
is no queue.
This was causing a memory regression because slowest task profiling is
enabled by default, in which case the profiler is started with no output
file. In that case, there's no thread that is emptying the queue, but the
queue was still created by default.
- add additional tests for slowest task and histogram handling; these also
provide coverage for the case where the profiler is started without an output
stream
- move all the writer thread handling into the inner class
- make writer access thread-safe
- add a bunch of documentation
PiperOrigin-RevId: 200212978
|
|
|
|
|
|
|
| |
in order to properly choose the execution platform from the available execution platforms.
Change-Id: I05dc84403e0db765865e9b91c4222894fa867cd9
PiperOrigin-RevId: 200211635
|
|
|
|
| |
PiperOrigin-RevId: 200210007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- the TargetPatternPreloader is still used for query in all its forms
- the remaining TargetPatternEvaluator part is no longer used except in tests
- also make both implementations stateless and pass the offset to the methods
instead; note that they both modify the underlying skyframe graph, so there
are side effects to the calls even if there's no direct state anymore
The intent is to migrate the relevant tests to LoadingPhaseRunnerTest (which
could also now be renamed since it's not doing a loading phase), and then
delete the TargetPatternEvaluator interface.
This depends on the previous commit that removed the last direct use of TPE
from an internal command.
PiperOrigin-RevId: 200198067
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pulls out a ThreadPausedState message, containing the previously
separate 'isPaused' and 'locationIfPaused' information, as well as
the stack frames and the reason for pausing, which is useful for
debugging clients (e.g. IDEs might change focus when a breakpoint is
hit, but not when all threads are paused).
TAG_CHANGE_OK=This proto has never yet been used
TYPE_CHANGE_OK=This proto has never yet been used
PiperOrigin-RevId: 200109927
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
Breaks internal performance tests.
PiperOrigin-RevId: 200103033
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 200100871
|
|
|
|
|
|
|
| |
is set. Repository rules should throw an attribute not found error if repo_mapping is used but the flag isn't set, otherwise it silently fails.
RELNOTES: None
PiperOrigin-RevId: 200097695
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 200096226
|
|
|
|
|
|
|
| |
The on-disk execRoot/blaze-out is now off limits to ActionFS.
RELNOTES: None
PiperOrigin-RevId: 200080287
|
|
|
|
|
|
|
| |
Also remove the old ConfiguredRuleClassProvider.addSkylarkModule() method, as it, after this change, has no callers.
RELNOTES: None.
PiperOrigin-RevId: 200078816
|
|
|
|
|
|
| |
Mostly 'debug' level logs that won't appear by default.
PiperOrigin-RevId: 200072597
|
|
|
|
|
|
|
| |
AbstractFileSystemWithCustomStat.
RELNOTES: None
PiperOrigin-RevId: 200071031
|
|
|
|
|
|
|
|
|
| |
- move the save method to an inner class
- don't use a timer, use a blocking queue instead
- add a format enum (in anticipation of adding a json output format)
- update the test to use an in memory buffer, and avoid FoundationTestCase
PiperOrigin-RevId: 200065404
|
|
|
|
|
|
|
|
| |
Switch statements were poorly formatted. Fixing it in a separate commit so
that it doesn't clutter the diff.
RELNOTES: None.
PiperOrigin-RevId: 200062930
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
LcovMerger is a tool that merges all the intermediate lcov tracefiles (with .dat extension) found under a coverage directory and prints the merged tracefile to a given output file.
A custom implementation for merging lcov tracefiles is needed because the merging functionality of lcov itself is very slow.
LcovMerger is required to get a single coverage report (lcov tracefile) from a bazel coverage command that executes multiple tests.
ATM LcovMerger is only invoked by tools/test/collect_coverage.sh that collects and merges the tracefiles from a single test invocation. It will also be used from a CoverageReportAction.
Progress on #5246.
PiperOrigin-RevId: 200054506
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also gets rid of some boilerplate. The ExecutionTool.addActionContext
method has been around for a while, but is underused.
There are still a few ActionContextProvider implementations left, which are
implementing other functionality besides adding action contexts.
As a side effect, this change reduces null build time with a hot server on
linux by about a quarter. We were running the linux sandbox twice on every
build, which takes about 70ms each (on my machine), with the total null build
time around 300ms.
PiperOrigin-RevId: 200045145
|
|
|
|
|
|
| |
- migrate all startTask/completeTask pairs to the new API
PiperOrigin-RevId: 200038703
|
|
|
|
|
|
|
|
|
| |
Rolling forward https://github.com/bazelbuild/bazel/commit/6c87715b8ac6b32e636ba307440e2b7362b10a48. When I first tried to roll forward this CL I missed one place where PyCcLinkParamsProvider.TO_LINK_PARAMS should have been called.
The target //production/midas/config:client_config_pb builds fine now.
RELNOTES:none
PiperOrigin-RevId: 200032805
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 200031466
|
|
|
|
|
|
|
| |
This is the first step on the way to a proper action graph query command.
RELNOTES: None
PiperOrigin-RevId: 200026440
|
|
|
|
|
|
|
|
| |
Instead, add some simple APIs to ExecutorBuilder and inline all the previous
subclasses into their corresponding modules. This removes a bunch of
boilerplate.
PiperOrigin-RevId: 200017162
|
|
|
|
|
|
|
|
|
| |
- use an internal event wrapper to unify handling
- rewrite the test to be more explicit about event names and ordering
This a part split out of unknown commit.
PiperOrigin-RevId: 200015904
|
|
|
|
| |
PiperOrigin-RevId: 199965139
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 199880252
|
|
|
|
|
|
|
|
|
|
|
|
| |
The high level summary of the changes:
- use `Identifier` instead of `name` in `Keyword` and `Parameter`.
- construct `Identifier` through a factory method in case future interning is desired.
These changes are in preparation for using `Identifier` instead of `name` for environment lookups.
Closes #5304.
PiperOrigin-RevId: 199869171
|
|
|
|
|
|
|
| |
This is almost always desirable -- if a thread is paused, the IDE expects
to know the context.
PiperOrigin-RevId: 199865078
|
|
|
|
| |
PiperOrigin-RevId: 199864175
|
|
|
|
|
|
|
|
|
|
| |
Ensure debugging is turned off (and the server socket closed) when
the command finishes, even if the blaze server is shut down.
Finally, unpause all threads as part of shutting down the debug server,
and also shut down the server if the client connection is lost.
PiperOrigin-RevId: 199863623
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Closes: #308, #4798.
7a7c41d7d342cd427e74f091b55690eed13e280d was incomplete addition of
sources classifier. API wasn't extended to support source SHA1. This
has two implications:
1. Sources sha1 artifact cannot be checked once downloaded.
2. Repository cache integration: when enabled, the source artifact
cannot be retrieved from the cache, because its sha1 is not known.
Rectify the problem by adding src_sha1 attribute to native maven_jar
rule.
Test Plan:
$ bazel test src/test/shell/bazel:bazel_repository_cache_test
PiperOrigin-RevId: 198561462
Change-Id: I9c620cdc3876673195483f9e75bb58108acc87be
PiperOrigin-RevId: 199855818
|
|
|
|
|
| |
RELNOTES: None
PiperOrigin-RevId: 199852932
|
|
|
|
| |
PiperOrigin-RevId: 199850381
|
|
|
|
| |
PiperOrigin-RevId: 199849102
|
|
|
|
|
|
| |
set in ThreadPausedEvents.
PiperOrigin-RevId: 199847385
|
|
|
|
|
|
|
|
| |
Both for the build event stream proto, which contains the TestResult event,
and to the test status proto which is used for caching. The new field may be
populated in the future.
PiperOrigin-RevId: 199846232
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 199840978
|
|
|
|
|
|
|
|
| |
Derived artifacts' owners are important because they are used to determine the artifact's generating action. Source artifacts' owners are not used in this way, so I left them alone.
This allows us to get rid of most uses of ArtifactSkyKey. We may be able to delete it entirely in a follow-up.
PiperOrigin-RevId: 199836436
|
|
|
|
| |
PiperOrigin-RevId: 199820207
|
|
|
|
|
|
|
|
|
| |
When a LATIN-1 parameter file is requested, we can take advantage of the fact that JDK9 strings are (usually) stored as LATIN-1.
For UTF-8, we can still optimize for the common case where a LATIN-1 string contains only ASCII characters, as these are bit-identical between UTF-8 and LATIN-1. This would still be expected to be the vast majority of parameter file contents.
RELNOTES: None
PiperOrigin-RevId: 199816430
|
|
|
|
|
|
|
|
|
| |
ActionFS now allows output files to be created that do not correspond to known Artifacts.
Note that tests exercise a greater gamut of filesystem functionality (deleting files, deleting directory trees, moving files, etc.)
RELNOTES: None
PiperOrigin-RevId: 199809069
|
|
|
|
|
|
|
|
|
|
| |
try)
This is a roll forward of https://github.com/bazelbuild/bazel/commit/3ab52e63079f1e43cb2c973425f615836a334082. The issue caused the objc rule breakage was fixed by https://github.com/bazelbuild/bazel/commit/5176300577b53a15128b3cb6a17d7883c5b7090e.
RELNOTES:
Flip default value of --experimental_shortened_obj_file_path to true, Bazel now generates short object file path by default.
PiperOrigin-RevId: 199806300
|
|
|
|
|
|
|
|
| |
UTF-8 is the only supported encoding for Java sources.
See #2926.
PiperOrigin-RevId: 199803902
|
|
|
|
|
|
| |
Small misc cleanups.
PiperOrigin-RevId: 199797948
|
|
|
|
| |
PiperOrigin-RevId: 199795284
|
|
|
|
|
|
|
|
|
|
|
| |
This cl enabled skylark rules to create build variables used for C++ link
actions (in a limited form, e.g. build variables for thinlto are not exposed
etc).
Working towards #4571.
RELNOTES: None
PiperOrigin-RevId: 199792130
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a command that ensures that all skylark workspace rules get called.
In follow-up changes the semantics of the sync command will be extended
to call all those rules unconditionally. This, together with recoding
of the return values of the repository rules, as currently provided by
--experimental_repository_resolved_file provides the framework for
resolving underspecified rules, e.g., rules following head of an external
repository.
Change-Id: I11061ec138a9ba7a7b61a431eeb1b8667dfabb95
PiperOrigin-RevId: 199792026
|