| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
PathFragments are not well supported in Skylark, quite the opposite, the Skylark
team tries hard to not use path fragments if possible. All existing users I
looked into had to convert the PathFragment to string using str() anyway.
Because of that this cl should not break anybody.
RELNOTES: None.
PiperOrigin-RevId: 200372447
|
|
|
|
|
| |
RELNOTES:none
PiperOrigin-RevId: 200366616
|
|
|
|
| |
PiperOrigin-RevId: 200363345
|
|
|
|
|
|
|
|
|
| |
This helps avoid name conflicts when users want to generate DEF files by themselves. For example, when using a genrule to do that, people naturally name the def file as <target name>.def.
Fixed https://github.com/bazelbuild/bazel/issues/5357
RELNOTES: None
PiperOrigin-RevId: 200354303
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 200351084
|
|
|
|
|
|
|
|
|
| |
On Windows, extracting file symlink in an archive would be performed as copy. To ensure the copy will be successful, we defer all symlink creation after all regular files are extracted.
Fix https://github.com/bazelbuild/bazel/issues/5367
RELNOTES: None.
PiperOrigin-RevId: 200345463
|
|
|
|
|
|
|
|
|
| |
unit test coverage for this.
Note that ActionFS is not generic enough to make use of FileSystemTest.
RELNOTES: None
PiperOrigin-RevId: 200304871
|
|
|
|
|
|
|
|
| |
--experimental_android_local_test_binary_resources to true.
RELNOTES[NEW]: android_local_test now takes advantage of Robolectric's binary resource processing which allows for faster tests.
PiperOrigin-RevId: 200296572
|
|
|
|
|
|
| |
and thread it through to graph traversal functions. Some other light refactorings as well.
PiperOrigin-RevId: 200292556
|
|
|
|
|
|
|
|
|
| |
If this exception is thrown, performance no longer matters - we're detonating
the place and riding the explosion out to stderr. So we might as well just
dump everything we know.
RELNOTES: None.
PiperOrigin-RevId: 200290439
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When this flag is turned on, and the user's working directory is beneath the
workspace (but is not the workspace itself), the workspace's absolute path is
printed as a prefix to the convenience symlink.
With this flag off, the displayed convenience symlink path is always relative
to the user's workspace, even if that isn't the current working directory.
(This is the current behavior.)
The new (flag-on) behavior will become default soon, and then this flag will
be removed.
RELNOTES: None.
PiperOrigin-RevId: 200278355
|
|
|
|
|
|
|
|
| |
invalidate the BUILD_INFO_KEY node on --workspace_status_command and related flag changes. Instead, the action has a supplier that allows it to retrieve the correct values at execution time.
This does not sacrifice correctness because the action executes unconditionally on every build, so it will never have stale data.
PiperOrigin-RevId: 200265375
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 200260766
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When bazel calls wrapped_clang, it single-quotes all arguments. However
it passes flags with arguments quoted as a whole. That is, wrapped_clang
will be called with arguments like these:
wrapped_clang '-isysroot /a/path/with spaces' '/a/file with spaces.m'
Before this commit, wrapped_clang was blindly splitting on space and
calling clang with invalid arguments. Now it only splits on the _first_
space, and only if the argument starts with '-'.
Closes #5147.
PiperOrigin-RevId: 200259496
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a --experimental_generate_json_trace_profile option that puts a file into
the output base (or uses --profile if set).
There are still a lot of problems with this.
- unexplained holes
- way too many threads
- nonsensical event titles
- too many detail events, too little overview
- it may also cause unnecessary load
- it silently overwrites the existing file on subsequent invocations
The format is documented here: goo.gl/oMZPLh
PiperOrigin-RevId: 200259431
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** Reason for rollback ***
PY3 does not support Python proto1.
*** Original change description ***
Automated rollback of commit 4c72a82ada742bd369185cd07c57f96c497ce440.
*** Reason for rollback ***
Breaks, at least, //ads/aswan/tools:format_mr_results.
*** Original change description ***
Remove python3/ prefix to generated .pyc files.
That makes:
(a) merging PY2 and PY3 .runfiles impossible (which is incorrect anyway) and
(b) generated .py source files incompatible with 2to3 (src_version=PY2) - that's OK as we deprecate 2to3.
RELNOTES: n/a
PiperOrigin-RevId: 200256210
|
|
|
|
| |
PiperOrigin-RevId: 200247872
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Temporary workaround for #5328.
PiperOrigin-RevId: 200224317
|
|
|
|
|
|
|
|
|
|
|
|
| |
[Documentation fix]
In recent versions of xdot, piping the output of `bazel query` no
longer displays the visualization due to an unrelated change in xdot.
So, use redirection instead of pipe.
Closes #5316.
PiperOrigin-RevId: 200220180
|
|
|
|
| |
PiperOrigin-RevId: 200218884
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://github.com/bazelbuild/bazel/commit/bbf3e421ed8b2b431a72cd3ab4ba591dc8833634.
For languages that use launchers, there are some requirements about files other than the main executable being co-located with the executable:
1. For Python, the .zip file must be alongside the executable.
2. For Shell, the shell file must be alongside the exe.
In addition, a .exe suffix is needed for launchers.
Tested that cc_test (non-launcher), java_test, py_test, sh_test (all launchers) work remotely when using the TEST_SHORT_EXEC_PATH env var.
RELNOTES: N/A
PiperOrigin-RevId: 200216308
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Even for tests we should not download random files from the internet
without ensuring that we get what we expect.
Change-Id: I4b9ef3f89c1ea12a4b883d833fb598196f9a7db3
PiperOrigin-RevId: 200201636
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes https://github.com/bazelbuild/bazel/issues/5362
Change-Id: I41d7b78e8d31d4a08ba0aba35c81723cbb315c40
Closes #5364.
Change-Id: I41d7b78e8d31d4a08ba0aba35c81723cbb315c40
PiperOrigin-RevId: 200182384
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes https://github.com/bazelbuild/bazel/issues/5358
Change-Id: I0c9eca59349069a41e3613600df25ed2b678b34c
Closes #5363.
Change-Id: I0c9eca59349069a41e3613600df25ed2b678b34c
PiperOrigin-RevId: 200182247
|
|
|
|
|
| |
RELNOTES: None.
PiperOrigin-RevId: 200144845
|
|
|
|
|
|
|
| |
This enables, e.g., TEST rules to be created.
RELNOTES: None.
PiperOrigin-RevId: 200138491
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 200060887
|
|
|
|
|
|
|
|
|
|
|
| |
- Updates the embedded JDK to Azul Zulu 9.0.7
- All integration tests use Bazel with the embedded JDK
Also updated: http://storage.googleapis.com/bazel-mirror/openjdk/index.html
Closes #5312, #5314, #5315
PiperOrigin-RevId: 200055008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
using a symlink.
This is enabled with --test_env=TEST_SHORT_EXEC_PATH=true.
Passing CI run: https://buildkite.com/bazel/google-bazel-presubmit/builds/3576
RELNOTES: N/A
PiperOrigin-RevId: 200050318
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|