Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Arm64 support as documented here: … #5360

Closed
wants to merge 177 commits into from
Closed

Commits on Jun 10, 2018

  1. Configuration menu
    Copy the full SHA
    cc46dac View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2018

  1. Configuration menu
    Copy the full SHA
    1d4a366 View commit details
    Browse the repository at this point in the history

Commits on Jun 15, 2018

  1. Configuration menu
    Copy the full SHA
    710aa55 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2018

  1. Fix indentation

    ArielleA committed Jun 16, 2018
    Configuration menu
    Copy the full SHA
    878bcf8 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2018

  1. docs,windows: emphasize that BAZEL_VS != BAZEL_VC

    Fixes bazelbuild#5272
    
    Change-Id: Ia49c084f1fe036ff0e5b18fea096f31642cf8b5b
    
    Closes bazelbuild#5280.
    
    Change-Id: Ia49c084f1fe036ff0e5b18fea096f31642cf8b5b
    PiperOrigin-RevId: 200005785
    laszlocsomor authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    469530d View commit details
    Browse the repository at this point in the history
  2. Refactor the build event service transport

    - 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
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4c448de View commit details
    Browse the repository at this point in the history
  3. Remove ActionContextConsumer

    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
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f11165f View commit details
    Browse the repository at this point in the history
  4. Remove usage of COMPILER_MSVC in Bazel and ijar

    Convert most `COMPILER_MSVC` to `_WIN32` (as they apply to Windows platform, not MSVC compiler). Only `src/tools/singlejar/zip_headers.h` and `src/main/cpp/util/md5.h` actually need `_MSC_VER`.
    
    `COMPILER_MSVC` in `third_party/protobuf` are not removed. They can be fixed by updating dependency to newer version.
    
    /cc @meteorcloudy
    
    Closes bazelbuild#5350.
    
    Change-Id: Ibc131abfaf34a0cb2bd338549983ea9d28eaabfe
    PiperOrigin-RevId: 200019793
    rongjiecomputer authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    0714157 View commit details
    Browse the repository at this point in the history
  5. Introduce generic post analysis build tool.

    This is the first step on the way to a proper action graph query command.
    
    RELNOTES: None
    PiperOrigin-RevId: 200026440
    meisterT authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    de4f4b8 View commit details
    Browse the repository at this point in the history
  6. Add documentation to Collection<E> get() method.

    RELNOTES:none
    PiperOrigin-RevId: 200031466
    dbabkin authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2f75e95 View commit details
    Browse the repository at this point in the history
  7. C++: Refactors PyWrapCc to make it easier to migrate to Skylark

    Rolling forward bazelbuild@6c87715. 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
    oquenchil authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    14e338a View commit details
    Browse the repository at this point in the history
  8. Add AutoProfiler-like API to Profiler

    - migrate all startTask/completeTask pairs to the new API
    
    PiperOrigin-RevId: 200038703
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    775e690 View commit details
    Browse the repository at this point in the history
  9. Inline some ActionContextProvider classes into their modules

    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
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    95a7c0f View commit details
    Browse the repository at this point in the history
  10. Add the ability to force the path to the test binary to a fixed lengt…

    …h by 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
    Googler authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1d185de View commit details
    Browse the repository at this point in the history
  11. Implement LcovMerger.

    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 bazelbuild#5246.
    
    PiperOrigin-RevId: 200054506
    iirina authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f24ec2f View commit details
    Browse the repository at this point in the history
  12. update bazel's embedded jdk to jdk9

    - 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 bazelbuild#5312, bazelbuild#5314, bazelbuild#5315
    
    PiperOrigin-RevId: 200055008
    cushon authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    494dffc View commit details
    Browse the repository at this point in the history
  13. Document adapting custom Bazel rules for remote execution.

    PiperOrigin-RevId: 200060887
    tualeron authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    c4183ef View commit details
    Browse the repository at this point in the history
  14. Reformating

    Switch statements were poorly formatted. Fixing it in a separate commit so
    that it doesn't clutter the diff.
    
    RELNOTES: None.
    PiperOrigin-RevId: 200062930
    laurentlb authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    8a5f994 View commit details
    Browse the repository at this point in the history
  15. Refactor profiler

    - 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
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    31032c3 View commit details
    Browse the repository at this point in the history
  16. Consolidate filesystem metadata operations in ActionFS by extending A…

    …bstractFileSystemWithCustomStat.
    
    RELNOTES: None
    PiperOrigin-RevId: 200071031
    ericfelly authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9cc23fb View commit details
    Browse the repository at this point in the history
  17. Add some more logging to the debug server.

    Mostly 'debug' level logs that won't appear by default.
    
    PiperOrigin-RevId: 200072597
    brendandouglas authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f3ef2cc View commit details
    Browse the repository at this point in the history
  18. Create a bootstrap for repository-related skylark build API.

    Also remove the old ConfiguredRuleClassProvider.addSkylarkModule() method, as it, after this change, has no callers.
    
    RELNOTES: None.
    PiperOrigin-RevId: 200078816
    c-parsons authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    fcd2ae0 View commit details
    Browse the repository at this point in the history
  19. Allow delegation to the underlying filesystem only for the source tree.

    The on-disk execRoot/blaze-out is now off limits to ActionFS.
    
    RELNOTES: None
    PiperOrigin-RevId: 200080287
    ericfelly authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    597f36e View commit details
    Browse the repository at this point in the history
  20. Migrate android providers to use BuiltinProvider instead of NativePro…

    …vider
    
    RELNOTES: None.
    PiperOrigin-RevId: 200096226
    c-parsons authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    3a093c6 View commit details
    Browse the repository at this point in the history
  21. Only remove 'repo_mapping' from kwargs if experimental_enable_repo_ma…

    …pping 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
    dkelmer authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7164855 View commit details
    Browse the repository at this point in the history
  22. Migrate remaining assorted skylark types to skylarkbuildapi

    RELNOTES: None.
    PiperOrigin-RevId: 200100871
    c-parsons authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    8b553b5 View commit details
    Browse the repository at this point in the history
  23. Automated rollback of commit 15b8c25.

    *** Reason for rollback ***
    
    Breaks internal performance tests.
    
    PiperOrigin-RevId: 200103033
    jmmv authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    8438292 View commit details
    Browse the repository at this point in the history
  24. Skylark debugging protocol: include a 'stop reason' in ThreadPausedEv…

    …ent.
    
    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
    brendandouglas authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    475b885 View commit details
    Browse the repository at this point in the history
  25. Enable mock rules to set their types.

    This enables, e.g., TEST rules to be created.
    
    RELNOTES: None.
    PiperOrigin-RevId: 200138491
    mstaib authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    bb4da90 View commit details
    Browse the repository at this point in the history
  26. Enable AnalysisTestCases to set LoadingOptions.

    RELNOTES: None.
    PiperOrigin-RevId: 200144845
    mstaib authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d3442ea View commit details
    Browse the repository at this point in the history
  27. docs: fix broken link on tutorial/java.html

    Fixes bazelbuild#5358
    
    Change-Id: I0c9eca59349069a41e3613600df25ed2b678b34c
    
    Closes bazelbuild#5363.
    
    Change-Id: I0c9eca59349069a41e3613600df25ed2b678b34c
    PiperOrigin-RevId: 200182247
    laszlocsomor authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1c8dad1 View commit details
    Browse the repository at this point in the history
  28. docs: don't list all attribute types in build-ref

    Fixes bazelbuild#5362
    
    Change-Id: I41d7b78e8d31d4a08ba0aba35c81723cbb315c40
    
    Closes bazelbuild#5364.
    
    Change-Id: I41d7b78e8d31d4a08ba0aba35c81723cbb315c40
    PiperOrigin-RevId: 200182384
    laszlocsomor authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    605e8ee View commit details
    Browse the repository at this point in the history
  29. Split TargetPatternEvaluator into two interfaces

    - 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
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    79e0127 View commit details
    Browse the repository at this point in the history
  30. Add hash sum for mount_path_toolchain

    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
    aehlig authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    aaf31fd View commit details
    Browse the repository at this point in the history
  31. Remove LoadingPhaseRunner, inline the only implementation

    PiperOrigin-RevId: 200210007
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    ccea36c View commit details
    Browse the repository at this point in the history
  32. Always run toolchain resolution, even when no toolchain types are req…

    …uested, in order to properly choose the execution platform from the available execution platforms.
    
    Change-Id: I05dc84403e0db765865e9b91c4222894fa867cd9
    PiperOrigin-RevId: 200211635
    katre authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    350a8d1 View commit details
    Browse the repository at this point in the history
  33. Refactor profiler

    - 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 bazelbuild@15b8c25, 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
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4444fd9 View commit details
    Browse the repository at this point in the history
  34. Support delete() in ActionFS.

    RELNOTES: None
    PiperOrigin-RevId: 200213204
    ericfelly authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1613795 View commit details
    Browse the repository at this point in the history
  35. Fix some missing cases from bazelbuild@bbf3e42.

    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
    Googler authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    69e4aee View commit details
    Browse the repository at this point in the history
  36. Platform documentation fixes.

    PiperOrigin-RevId: 200218884
    katre authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    bbb0b83 View commit details
    Browse the repository at this point in the history
  37. Fix xdot command example in cpp tutorial

    [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 bazelbuild#5316.
    
    PiperOrigin-RevId: 200220180
    ghostwriternr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e4c466d View commit details
    Browse the repository at this point in the history
  38. Disable flaky test

    Temporary workaround for bazelbuild#5328.
    
    PiperOrigin-RevId: 200224317
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    3637e1d View commit details
    Browse the repository at this point in the history
  39. Remap repository names inside load statements in BUILD files if the r…

    …epository 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
    dkelmer authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    71fed79 View commit details
    Browse the repository at this point in the history
  40. Skylark debugger: Fix NPE listing frames.

    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
    brendandouglas authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2c94d26 View commit details
    Browse the repository at this point in the history
  41. Add skylarkbuildapi bootstraps for apple, cpp, platform, and testing …

    …packages
    
    RELNOTES: None.
    PiperOrigin-RevId: 200246780
    c-parsons authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1333b7e View commit details
    Browse the repository at this point in the history
  42. Enable rules to inherit the ExecutionPlatformConstraintsAllowed value.

    PiperOrigin-RevId: 200247872
    katre authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    53720e0 View commit details
    Browse the repository at this point in the history
  43. Automated rollback of commit a1c9f8d.

    *** Reason for rollback ***
    
    PY3 does not support Python proto1.
    
    *** Original change description ***
    
    Automated rollback of commit 4c72a82.
    
    *** 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
    Googler authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2070a7a View commit details
    Browse the repository at this point in the history
  44. Add support for the Json trace file format

    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
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d21460b View commit details
    Browse the repository at this point in the history
  45. CROSSTOOLS wrapped_clang: handle spaces in paths

    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 bazelbuild#5147.
    
    PiperOrigin-RevId: 200259496
    ob authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    072f5ad View commit details
    Browse the repository at this point in the history
  46. Create skylarkbuildapi bootstrap for android-related top level skylar…

    …k objects
    
    RELNOTES: None.
    PiperOrigin-RevId: 200260766
    c-parsons authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d275e6d View commit details
    Browse the repository at this point in the history
  47. Change WorkspaceStatusAction incrementality logic. We no longer manua…

    …lly 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
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    a9baa61 View commit details
    Browse the repository at this point in the history
  48. Add --print_workspace_in_output_paths_if_needed flag.

    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
    mstaib authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    01f62c0 View commit details
    Browse the repository at this point in the history
  49. Add more data to the exception thrown when putOnlyEntry's verificatio…

    …n fails.
    
    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
    mstaib authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7bcf3d7 View commit details
    Browse the repository at this point in the history
  50. Rename VariableContext to the more general purpose QueryExpressionCon…

    …text and thread it through to graph traversal functions. Some other light refactorings as well.
    
    PiperOrigin-RevId: 200292556
    shreyax authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    c703c71 View commit details
    Browse the repository at this point in the history
  51. Change the default value of --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
    dkelmer authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    637c6d5 View commit details
    Browse the repository at this point in the history
  52. Fix a bug with flush() not flushing on local writes in ActionFS, and …

    …add unit test coverage for this.
    
    Note that ActionFS is not generic enough to make use of FileSystemTest.
    
    RELNOTES: None
    PiperOrigin-RevId: 200304871
    ericfelly authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2af69a0 View commit details
    Browse the repository at this point in the history
  53. Fix archive decompression with symlink on Windows

    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 bazelbuild#5367
    
    RELNOTES: None.
    PiperOrigin-RevId: 200345463
    meteorcloudy authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2da5b8a View commit details
    Browse the repository at this point in the history
  54. Fix documentation in bazel_external_repository_test.py

    RELNOTES: None.
    PiperOrigin-RevId: 200351084
    meteorcloudy authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    34eb900 View commit details
    Browse the repository at this point in the history
  55. Change generated DEF file name from <target name>.def to <target name…

    …>.gen.def
    
    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 bazelbuild#5357
    
    RELNOTES: None
    PiperOrigin-RevId: 200354303
    meteorcloudy authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    44c2609 View commit details
    Browse the repository at this point in the history
  56. Split AnalysisResult into a top-level class

    PiperOrigin-RevId: 200363345
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1f55dc1 View commit details
    Browse the repository at this point in the history
  57. C++: Continues renaming executionDynamicLibraries to dynamicLibraries…

    …ForRuntime.
    
    RELNOTES:none
    PiperOrigin-RevId: 200366616
    oquenchil authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    b58fd66 View commit details
    Browse the repository at this point in the history
  58. Return Strings from C++ Skylark APIs, not PathFragments

    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
    hlopko authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    5a2c7eb View commit details
    Browse the repository at this point in the history
  59. Skylark repositories: support additional arguments for the patch tool

    Instead of hard-coding "-p0", allow the arguments for that patch tool
    to be overridden. In particular, this supports the use case of patches
    generated with `git format-patch` which are to be read as `-p1`.
    
    Improves on bazelbuild#5379.
    Closes bazelbuild#4974 as superseded.
    
    Change-Id: I809fde14beab21d8a755ba4f1706b602bae3c1bb
    PiperOrigin-RevId: 200373909
    aehlig authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    fdacbe6 View commit details
    Browse the repository at this point in the history
  60. Skylark repos: for failed patch command, also report stdout

    The patch(1) utility usually gives error messages on stdout. So it is
    not useful to report only stderr in case a patch failed. Report both.
    
    Fixes bazelbuild#5379.
    
    Change-Id: Ief198849e29ca989dfdefe2fadf495a0b0949972
    PiperOrigin-RevId: 200377306
    aehlig authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    000a911 View commit details
    Browse the repository at this point in the history
  61. Fix a bad path and remove the reference to the legacy path-based load…

    …() syntax.
    
    RELNOTES: None.
    PiperOrigin-RevId: 200379060
    lberki authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    6f28777 View commit details
    Browse the repository at this point in the history
  62. Add "toolchain-identifier" attribute to cc_toolchain rule

    Currently the selection of C++ toolchain configuration depends on 2 different things:
    1. CROSSTOOL file: a proto text file that contains multiple CrosstoolConfig.CToolchain messages, out of which we want to select the appropriate CToolchain;
    2. cc_toolchain_suite rule, specified by --crosstool_top option: this rule contains "toolchains" map attribute. The map's keys are of type <cpu>|<compiler>, or just <cpu>, and the values are labels of cc_toolchain rules (which contain additional C++ information).
    
    If there is an entry in cc_toolchain_suite.toolchains that corresponds to the --cpu and --compiler options, we use it, otherwise we loop through all the CToolchains in the CROSSTOOL file, select the one that corresponds to the --cpu and --compiler options, and then get the cc_toolchain label from cc_toolchain_suite.toolchains[toolchain.targetCpu|toolchain.compiler].
    In both cases we read the CROSSTOOL file and pass all its information forward, to be used in creation of CppConfiguration and CcToolchainProvider creation.
    
    As part of the efforts of rewriting CROSSTOOL in Skylark, we need to make obtaining the cc_toolchain label independent of the CROSSTOOL file and toolchain selection. As a step towards that goal, we add a new "toolchain_identifier" attribute to cc_toolchain, which uniquely identifies a CToolchain in the CROSSTOOL file.
    
    Now the process of getting the CToolchain goes as follows:
    Check for existence of cc_toolchain_suite.toolchains[<cpu>|<compiler>], if --compiler is specified, otherwise check for cc_toolchain_suite.toolchains[<cpu>].
    
    1. if a value is found, load the cc_toolchain rule and look for the toolchain_identifier attribute.
        1.a if the attribute exists, loop through all the CToolchains in CROSSTOOL and select the one with the matching toolchain identifier.
        1.b otherwise fall back to selecting the CToolchain from CROSSTOOL by matching the --cpu and --compiler values.
    
    2. If a value is not found, select the CToolchain from CROSSTOOL by matching the --cpu and --compiler values, and construct the key as follows: <toolchain.cpu>|<toolchain.compiler>.
    
    In the future we will get rid of 2. by making sure that cc_toolchain_suite.toolchains[<cpu>|<compiler>] and cc_toolchain_suite.toolchains[<cpu>] are always defined.
    1.b will be removed by making the cc_toolchain.toolchain_identifier attribute mandatory
    After this deriving the cc_toolchain label will be independent of the CROSSTOOL file
    
    1.a will ultimately be replaced by an attribute that points to a skylark_crosstool rule, that will contain all the information that CROSSTOOL contains, allowing us to remove CROSSTOOL altogether.
    
    Work towards issue bazelbuild#5380
    RELNOTES: None.
    PiperOrigin-RevId: 200388550
    scentini authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    ca0b81a View commit details
    Browse the repository at this point in the history
  63. Remove BlazeModule.checkEnvironment

    Do the work in beforeCommand instead.
    
    PiperOrigin-RevId: 200391086
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    27a92dc View commit details
    Browse the repository at this point in the history
  64. Move BuildView.Options to a new top-level class

    This is in preparation for dismantling BuildView and merging the relevant
    parts into AnalysisPhaseRunner.
    
    PiperOrigin-RevId: 200391088
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    c5872f5 View commit details
    Browse the repository at this point in the history
  65. Windows: fix "corrupt installation" at new year

    Bazel on Windows is now consistent with Bazel on
    Unixes, by setting the mtimes of embedded binaries
    to 10 years in the future.
    
    Before this change, on Windows, Bazel used to set
    these mtimes to CURRENT_YEAR + 10, January 1st.
    
    This meant that if a user ran Bazel on 2017/12/29,
    then on Unix Bazel set the mtimes to 2027/12/29
    but on Windows it set them to 2027/01/01.
    
    If the user then ran Bazel in the same workspace
    on 2018/01/02, on Unixes it worked fine, but on
    Windows it detected that the embedded binaries'
    mtime is older than 2018/01/01, and reported a
    "corrupt installation" error.
    
    Fixes bazelbuild#4378
    
    Change-Id: I3457bdc360a62a279d1d08c9a69997929f2067dd
    
    Closes bazelbuild#5385.
    
    Change-Id: I3457bdc360a62a279d1d08c9a69997929f2067dd
    PiperOrigin-RevId: 200395493
    laszlocsomor authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    510ff53 View commit details
    Browse the repository at this point in the history
  66. Remove supports_lipo field from DefaultCpuToolchain

    RELNOTES: None.
    PiperOrigin-RevId: 200399094
    scentini authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    dd1cb87 View commit details
    Browse the repository at this point in the history
  67. Avoid long, duplicated directory structures. In the common case, gene…

    …rated
    
    files are going to be beneath the target that generates them. In this case,
    don't duplicated the package's path.
    
    RELNOTES: None.
    PiperOrigin-RevId: 200400464
    Googler authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    66521bf View commit details
    Browse the repository at this point in the history
  68. Disable another test

    Onto bazelbuild#5328
    
    PiperOrigin-RevId: 200410170
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    862bc9b View commit details
    Browse the repository at this point in the history
  69. Add documentation on platform flags to the user manual.

    PiperOrigin-RevId: 200410790
    katre authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d590aa7 View commit details
    Browse the repository at this point in the history
  70. Enable per-target execution for genrule, sh_*, and *_test.

    PiperOrigin-RevId: 200410988
    katre authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e4ebf5c View commit details
    Browse the repository at this point in the history
  71. Save nested set size after initial expand to avoid GC from resizing l…

    …ist when replaying.
    
    We stash the size in the same field as the order using bit packing. The small additional cost of masking out the int should be less than the resizing when replaying large nested sets.
    
    The upper size bound on nested sets will be 512M objects as a result. If Java had unsigned ints we could push it to 1G.
    
    RELNOTES: None
    PiperOrigin-RevId: 200417105
    tomlu authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    67f6dcf View commit details
    Browse the repository at this point in the history
  72. Don't rerun the command if it failed.

    While the original intent was to provide better messaging, the truth is things
    like ibtool and actool can error because of the state of CoreServices when
    targeting anything other than macOS. It appears this attempt to validate
    the sdk argument ends up succeeding in some cases, meaning it doesn't
    fail quickly, it does a fair mount of work, which we promptly throw away
    and still return the original error result.
    
    Rather then trying to expand this into some even more completely retry logic
    it seems better to back away from this attempted messaging instead.
    
    Looking at at history the better messaging stems from why it was recommended
    that folks also pass the SDK version along with the Xcode version, but we've
    gone back to just saying specific the Xcode version, so need for this
    improved messaging has also been reduced.
    
    PiperOrigin-RevId: 200422952
    thomasvl authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    393b951 View commit details
    Browse the repository at this point in the history
  73. Add --experimental_supports_info_crosstool_configuration to support r…

    …emoval of bazel info crosstool-configuration
    
    RELNOTES: None.
    PiperOrigin-RevId: 200437121
    hlopko authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2e2a7ef View commit details
    Browse the repository at this point in the history
  74. Allow deserialization futures as NestedSet contents, with unrolling b…

    …locking on that future.
    
    This allows NestedSet deserialization not to block on storage reads - in-progress deserializations are simply made a member of the NestedSets they produce.
    
    PiperOrigin-RevId: 200440131
    calpeyser authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    371a2c1 View commit details
    Browse the repository at this point in the history
  75. Compare using value equality instead of reference equality.

    RELNOTES: None
    PiperOrigin-RevId: 200446926
    dkelmer authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2548eb7 View commit details
    Browse the repository at this point in the history
  76. Document troubleshooting Bazel remote execution using the Docker sand…

    …box feature.
    
    PiperOrigin-RevId: 200451804
    tualeron authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1d88871 View commit details
    Browse the repository at this point in the history
  77. Fix filterTestsByTarget to filter by label instead of filtering by doing

    package lookups to get Targets.
    
    PiperOrigin-RevId: 200452642
    mjhalupka authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7be8ef0 View commit details
    Browse the repository at this point in the history
  78. * Update apple_common.link_multi_arch_binary to return all of its pro…

    …viders and output groups.
    
    * Make ctx a keyword argument so that we can more easily add more parameters in the future and eventually remove ctx.
    
    PiperOrigin-RevId: 200453550
    allevato authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    a7970d0 View commit details
    Browse the repository at this point in the history
  79. Skylark debugger: don't quote or escape strings when serializing.

    A minor serialization improvement. I'm planning to refactor this code
    significantly, but wanted to get this in before I forgot.
    
    PiperOrigin-RevId: 200453925
    brendandouglas authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    610a9de View commit details
    Browse the repository at this point in the history
  80. Delete empty comment lines.

    RELNOTES: None
    PiperOrigin-RevId: 200455297
    dkelmer authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2dd3611 View commit details
    Browse the repository at this point in the history
  81. Pass ActionFS paths through to action-level FileOutErr for the Action…

    …'s stdout/stderr.
    
    RELNOTES: None
    PiperOrigin-RevId: 200459354
    ericfelly authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7175be6 View commit details
    Browse the repository at this point in the history
  82. Reconvert the lambdas in AndroidDataConverter to anonymous inner clas…

    …ses.
    
    Tag some static members with @AutoCodec.
    Replace some lambdas with explicit functions or classes.
    
    PiperOrigin-RevId: 200467500
    mjhalupka authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    59eec73 View commit details
    Browse the repository at this point in the history
  83. Populate JavaInfo's annotation_processing field in java_common.compile

    RELNOTES: None.
    
    PiperOrigin-RevId: 200471197
    kevin1e100 authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2b11029 View commit details
    Browse the repository at this point in the history
  84. When composing RuleTransitionFactories, return something that respect…

    …s equality.
    
    If the output from composeTransitions is one of the input PatchTransitions, return it.
    If it's a composed transition, make sure to wrap it in a class which respects equality.
    
    Without this change, running the same RuleTransitionFactory on the same attribute and
    target twice will produce two non-equal Dependencies which can't be deduplicated by
    OrderedSetMultimap - no lambda is equal to any other instance of the same lambda.
    
    RELNOTES: None.
    PiperOrigin-RevId: 200472777
    mstaib authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    32f388f View commit details
    Browse the repository at this point in the history
  85. Add functionality to make certain SkyValues unshareable, meaning they…

    … are not serialized. Tag TestCompletionValue and any ActionExecutionValue coming from a NotifyOnActionCacheHit (i.e., tests) like that. To make such values really not shared, request the ActionExecutionValue from TestCompletionFunction as opposed to the ArtifactValue (propagating the unshareable bit up seemed like too much fuss, and I have a dream of getting rid of ArtifactValue anyway).
    
    PiperOrigin-RevId: 200504358
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    5aef2e6 View commit details
    Browse the repository at this point in the history
  86. @AutoCodec stray usage of AndroidDataConverter. It should always be a…

    … static constant.
    
    This allows us to continue using lambdas in its definition.
    
    This is a partial rollback of bazelbuild@ed1e759, since the work done to class-ify things there is unnecessary once every instance is @AutoCodec-ed.
    
    PiperOrigin-RevId: 200504678
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9aa667e View commit details
    Browse the repository at this point in the history
  87. Serialize lambdas when they are cast to Serializable.

    We could conceivably do some monkey-patching at server startup to make all lambdas act Serializable, but one step at a time.
    
    PiperOrigin-RevId: 200509321
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    c23f1a8 View commit details
    Browse the repository at this point in the history
  88. Simplify CommandEnvironment constructor, make fields final

    PiperOrigin-RevId: 200516863
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    180c4f9 View commit details
    Browse the repository at this point in the history
  89. Fix Profiler setup to actually enable the Json format

    PiperOrigin-RevId: 200518973
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7ec512f View commit details
    Browse the repository at this point in the history
  90. C++: Fixes error reporting for cc_import

    RELNOTES:none
    PiperOrigin-RevId: 200525022
    oquenchil authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    60d302d View commit details
    Browse the repository at this point in the history
  91. Allow Skylark rules to specify whether targets can add execution plat…

    …form constraints.
    
    Closes bazelbuild#5341.
    
    Change-Id: Ib74e59fec48102469a5039e045e3f3d0e0d86d8c
    PiperOrigin-RevId: 200526448
    katre authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    04624ac View commit details
    Browse the repository at this point in the history
  92. Split BuildView into two classes

    Move the testing class to the tests tree. This is in preparation for
    dismantling BuildView and merging the relevant parts into AnalysisPhaseRunner.
    
    PiperOrigin-RevId: 200532794
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    62efe86 View commit details
    Browse the repository at this point in the history
  93. Fix link to windows platform bugs

    Link currently finds no issues. This seems to be because the proper tag is "platform:windows" rather than the documented "multi-platform > windows".
    
    The fix merely updates the text and link to "platform:windows".
    
    Closes bazelbuild#5393.
    
    PiperOrigin-RevId: 200533655
    justhecuke authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4910cb1 View commit details
    Browse the repository at this point in the history
  94. Remove unnecessary flags from RunCommand command annotation

    These are no longer necessary since we don't pipe the subprocess stdout/stderr
    through Bazel anymore.
    
    PiperOrigin-RevId: 200534552
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e2834f1 View commit details
    Browse the repository at this point in the history
  95. Add a convenience method to Profiler

    This reduces our reliance on ProfilerTask.
    
    PiperOrigin-RevId: 200538769
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    6b65f76 View commit details
    Browse the repository at this point in the history
  96. Pull in the right deps into the embedded tools.

    Fixes bazelbuild#5378.
    
    $ find $(bazel-bin/src/bazel info install_base) -type f | wc -l
    508
    
    $ stat -c %s bazel-bin/src/bazel
    115014201
    
    The number of embedded files is now 508 and the binary size is ~115Mb.
    
    RELNOTES: None.
    
    Change-Id: I75e43a959e1201cc36718a9acd0af96e9506c7d4
    PiperOrigin-RevId: 200539940
    iirina authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    ef26ff9 View commit details
    Browse the repository at this point in the history
  97. Allow @ in package names.

    To disambiguate:
    - @foo refers to the external dependency @foo//:foo (as before this change).
    - //@foo refers to the target //@foo:@foo (i.e. in the default workspace).
    
    RELNOTES[NEW]: Allow @ in package names.
    
    PiperOrigin-RevId: 200541716
    meisterT authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7cb59fe View commit details
    Browse the repository at this point in the history
  98. Support unconditional fetching of repositories

    Make all external repositories depend on an additional SkyValue controllable
    via commands, so support unconditional fetching of all external repositories,
    as it is needed by the the `sync` command.
    
    Improves on bazelbuild#5175, provides a work around for bazelbuild#4907.
    
    Change-Id: I30033614c1a2fad3f1363b85ff69cf92f697c255
    PiperOrigin-RevId: 200543985
    aehlig authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e42f78a View commit details
    Browse the repository at this point in the history
  99. Skylark debugging protocol: remove conditional breakpoints, don't inc…

    …lude frames in thread paused events.
    
    I started implementing conditional breakpoints server-side in
    unknown commit, but:
    - client-side implementations seem more common in debugging protocols
    - IntelliJ in particular has great support for client-side conditional
    breakpoints, but poor support for server-side
    - it's unnecessary extra complexity for the server -- simple line
    breakpoints + evaluation requests already give us conditional bps.
    
    Also removing frames from thread paused events. It results in poor
    performance for stepping and pausing (in which we get frame info for
    potentially dozens of threads), and again isn't usual for debuggers.
    
    Finally, ignore breakpoints when performing a client-requested
    evaluation.
    
    PiperOrigin-RevId: 200547972
    brendandouglas authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    a2c12f6 View commit details
    Browse the repository at this point in the history
  100. shell,tests: use Bash runfiles library in one test

    See bazelbuild#4930
    
    Change-Id: I148c0b1e4baa8ff44d86a6ee196bea7e9058320f
    
    Closes bazelbuild#5387.
    
    Change-Id: Iba32f21ff6cad1b538c72cfd08ce24846843c124
    PiperOrigin-RevId: 200554084
    laszlocsomor authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f9a44aa View commit details
    Browse the repository at this point in the history
  101. Add missing space.

    PiperOrigin-RevId: 200555806
    tualeron authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9b0fc02 View commit details
    Browse the repository at this point in the history
  102. Introduces a BAZEL_JAVAC_OPTS environment variable to the bootstrap b…

    …uild with empty default value to keep the script behavior unchanged. javac is not given a large enough max heap on Raspberry Pi 3. This change but allows the user to override the setting.
    
    RELNOTES:
    The BAZEL_JAVAC_OPTS environment variable allows arguments, e.g., "-J-Xmx2g", may be passed to the javac compiler during bootstrap build. This is helpful if your system chooses too small of a max heap size for the Java compiler during the bootstrap build.
    PiperOrigin-RevId: 200557606
    Googler authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e5c89da View commit details
    Browse the repository at this point in the history
  103. Skylark Pretty Printer: shorten empty list

    When pretty printing a Skylark value, lists are presented as the
    opening bracket on a line by itself, each entry on its own line,
    and the closing bracket again on its own line. While this generally
    improves readability, for the empty list this is not the case, as
    the expression [] can easily be understood at a glance. In fact, the
    additional line even makes the outer structure harder to see, as it
    is spread over even more lines. Therefore, shorten the printing of
    the empty list to be on a single line.
    
    Change-Id: I032d1550b1f99bce47dbec7e77a4d5c6656d78a1
    PiperOrigin-RevId: 200558784
    aehlig authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    b327019 View commit details
    Browse the repository at this point in the history
  104. Expose new methods in CcToolchainProvider to eventually replace skyla…

    …rk callables that depend on CToolchain in CppConfiguration.
    
    PiperOrigin-RevId: 200559893
    juliexxia authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2f77471 View commit details
    Browse the repository at this point in the history
  105. Create an ImmutableTableCodec.

    PiperOrigin-RevId: 200561008
    mjhalupka authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    a3b9504 View commit details
    Browse the repository at this point in the history
  106. Remove fixed point config expansion.

    Deprecates the flag, though it continues to exist as a no-op so that users get a warning before errors.
    
    RELNOTES: --noexpand_configs_in_place is deprecated.
    PiperOrigin-RevId: 200572053
    cvcal authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    98e693a View commit details
    Browse the repository at this point in the history
  107. SerializationCheckingGraph checks all ConfiguredTargetValues.

    PiperOrigin-RevId: 200593618
    calpeyser authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    32d13ab View commit details
    Browse the repository at this point in the history
  108. Automated rollback of commit 1615da7.

    *** Reason for rollback ***
    
    PiperOrigin-RevId: 200605975
    Googler authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f9b6d86 View commit details
    Browse the repository at this point in the history
  109. Enable automatic trimming of test configuration when entering non-tes…

    …t rules.
    
    Note that this is not sufficient to see caching between builds on its own;
    currently when any flag changes, the analysis cache is reset. A follow-up
    will turn off this behavior when only test flags change while
    trim_test_configuration is on.
    
    config_settings which examine test options are treated the same as test rules;
    that is, they can only be successfully analyzed at the top level or when
    connected to the top level by an unbroken chain of test rules.
    
    RELNOTES: None.
    PiperOrigin-RevId: 200614584
    mstaib authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    3cf63a1 View commit details
    Browse the repository at this point in the history
  110. Use single source of truth for symlinks and warn when deleting them.

    After this change, Bazel prints a warning when
    --use_top_level_targets_for_symlinks is active and the destination of
    a symlink would be ambiguous.
    
    This also includes a refactoring of OutputDirectoryLinksUtils to use a
    single source of truth for all symlink operations. This results in a
    few small visible behavior changes:
    * Bazel used to delete a convenience symlink with the name of the
      workspace from the WORKSPACE file... but it didn't create it.
    * Bazel used to check for a convenience symlink named "includes" when
      pretty-printing paths... but it didn't create it.
    * Bazel used to ignore the existence of the "testlogs" symlink when
      pretty-printing paths... despite that it created it.
    * Bazel used to prioritize the execroot over the output base when
      pretty-printing paths... despite that the former contains the latter.
    
    RELNOTES: None.
    PiperOrigin-RevId: 200629863
    mstaib authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    eca915d View commit details
    Browse the repository at this point in the history
  111. Fix shared actions that generate tree artifacts after the recent chan…

    …ge to make Artifact#equals take owner into account (unknown commit). In the case that shared actions generate tree artifacts, the outputs of the second action do not include all the artifacts present in the results of the first action, because those artifacts were not known until execution. However, corresponding artifacts can be created easily enough, with the proper owners.
    
    Fixes bazelbuild#5396
    
    PiperOrigin-RevId: 200640969
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f40ec9e View commit details
    Browse the repository at this point in the history
  112. Remove SerializationConstants.VALIDATE_CONFIGURED_TARGET_VALUE, since…

    … ConfiguredTargetValue is no longer prohibitively slow.
    
    PiperOrigin-RevId: 200640971
    calpeyser authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    44d20bd View commit details
    Browse the repository at this point in the history
  113. Add a mechanism for build event protocol events to upload files

    This should be a no-op, mostly replacing PathConverter with
    BuildEventArtifactUploader, since none of the implementations perform any
    upload yet.
    
    PiperOrigin-RevId: 200685325
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    27ba4c3 View commit details
    Browse the repository at this point in the history
  114. shell, testenv.sh, BUILD: remove unused target

    Change-Id: I1039371e326dc260f2e70b32c9f4e2fd0dc0d7a6
    
    Closes bazelbuild#5395.
    
    Change-Id: I002ba4f0944594ab62a7dd7a3ed4b4e7438328c0
    PiperOrigin-RevId: 200686443
    laszlocsomor authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    c70e760 View commit details
    Browse the repository at this point in the history
  115. Change -lgcov with --coverage

    in Bazel osx CROSSTOOL. -lgcov is not supported on macOS. See bazelbuild#5128.
    
    RELNOTES: None.
    PiperOrigin-RevId: 200691758
    iirina authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4c8a640 View commit details
    Browse the repository at this point in the history
  116. Refactor BlazeRuntime.initProfiler

    - reduce the parameters to the minimum required
    - change to void, move additional setup into the method
    
    PiperOrigin-RevId: 200692559
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    524bd35 View commit details
    Browse the repository at this point in the history
  117. Reimplement AsynchronousFileOutputStream to use a writer thread

    Background: the original code is implementing the OutputStream interface. Given a sequence of write calls, the code puts each of these writes into a queue. On the other side of the queue is an unbounded thread pool, which takes the writes off the queue one by one, and then does individual blocking writes with a fixed file offset.
    
    There are three problems with the original code:
    1. Writes are sent to the Kernel one-by-one. Imagine if the incoming writes a single-byte writes, then we do one kernel call for every single byte. This is the worst case.
    
    2. Due to multithreading, the writes can get reordered. In the worst case, the order is reversed, and the kernel flushes each write to disk individually. Since the writes are not aligned to disk block boundaries, each write has to first *read* the block from disk, overwrite a few bytes, and then flush the block back to disk. On a spinning platter, this is the worst possible sequence of operations: write a block, read the same block back, write the same block again, read the same block back, etc., with each operation having to wait for a full disk rotation.
    
    Note that this gets worse if there's high thread and / or disk contention, e.g., when running a build system in the background.
    
    3. Due to the unbounded thread pool, it may end up creating a new thread for every single write (possibly as many as one per byte written). This is also the worst case, although it's probably negligible compared to 1+2.
    
    Compared to that, this change uses an in-memory buffer before sending writes to the kernel so non-block sized writes are batched, it writes sequentially, and it uses a single thread created at the start. A single thread should be more than able to fully saturate local disk I/O, so multi-threading should ~never be a improvement here.
    
    This might look different if we had perfectly aligned writes of an integer multiple of the disk block size to a distributed network file system or a local SSD raid. If you look at the clients of this class, that's definitely not the case: this code is primarily used for local file BEP transports - we wouldn't use local file BEP transports to write to a network file system, we'd use the BES instead. It's also used to write a couple of log files, also all local - otherwise we'd add the data to BEP. These are all unaligned, ~random-sized writes.
    
    If we created a lot of these files, then using a thread pool with fewer threads than files and using non-blocking I/O might be an improvement due to the reduction in thread count, but I think it's very unlikely that we'll ever need that complexity.
    
    PiperOrigin-RevId: 200694423
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    fc67c5a View commit details
    Browse the repository at this point in the history
  118. Add the BuildConfigurationCollection to the AnalysisResult

    This is in preparation for interleaving config creation with loading+analysis.
    
    PiperOrigin-RevId: 200695071
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    043ee84 View commit details
    Browse the repository at this point in the history
  119. Remove the removeHandler/releaseHandler pairs

    They weren't actually doing anything. With default flags, createHandler never
    returns a FancyTerminalEventHandler, because that always gets wrapped in a
    RateLimitingEventHandler. Even so, under normal circumstances, the fancy
    terminal event handler always leaves the terminal in a valid state at the end
    of each printed line. We can only end up in a bad state if the blaze server is
    killed, but even then, this code wasn't doing anything because it didn't get to
    run.
    
    The only way to guarantee that the terminal is always in a valid state is to
    make sure that every stdout/stderr buffer we send to the client ends with a
    reset code sequence. The experimental ui handler is better at sending only
    complete buffers (we were previously using an auto-line flushing output stream,
    which didn't allow the event handler to reason about how much stuff got
    actually printed in a single write call).
    
    Anyway, I think we're in a better place now, and this code wasn't run, and if
    we want to fix it properly (if the switch to experimental_ui isn't sufficient),
    then we need to fix it elsewhere.
    
    PiperOrigin-RevId: 200699609
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    fe32cf5 View commit details
    Browse the repository at this point in the history
  120. git_repository: return actual commit

    Using that repository rules now may return a non-None value,
    make git_repository return the arguments that make the rule
    reproducible; in particular, return the actual commit (instead
    of a tag) and the date of the commit, so support shallow clones.
    
    The added test also demonstrates how the `bazel sync` command
    together with `--experimental_repository_resolved_file` can be
    used to replay an earlier state of external dependencies.
    
    Change-Id: Ifa1cfdfdb5eb299a15b9d0ec7d285dc84c0bcdc0
    PiperOrigin-RevId: 200705705
    aehlig authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    491aed6 View commit details
    Browse the repository at this point in the history
  121. Move the BlazeRuntime.initProfiler call to BlazeCommandDispatcher

    The intend is to move the profiler setup earlier in the startup sequence, so we
    can get more profiler coverage. Ideally, we'd setup the profiler immediately
    after getting the client call, but this is not currently possible due to the
    requirement that initialization and shutdown happen in pairs (otherwise the
    next command invocation crashes with an exception from the Profiler).
    
    PiperOrigin-RevId: 200707029
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    5d996a4 View commit details
    Browse the repository at this point in the history
  122. repository_rules.md: update documentation on return values

    Since commit 97132c0, repository rule
    implementations are allowed to return other values than `None`. Describe
    the currently supported values and their intended meaning.
    
    Change-Id: I63dbbff4b232b36861aa2a6cfdc69352fa971f4d
    PiperOrigin-RevId: 200707564
    aehlig authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f2342d8 View commit details
    Browse the repository at this point in the history
  123. shell tests: tag tests with "no_windows"

    Tag all tests in //src/test/shell/bazel:* that do
    not run on Windows yet with "no_windows".
    
    See bazelbuild#4292
    
    Change-Id: I9823621d5ba4fc02bafe731c17bb7f32785c3b47
    
    Closes bazelbuild#5408.
    
    Change-Id: Ic3b9e8f96221ceff2ea33bfefa2814ba869af1ab
    PiperOrigin-RevId: 200707716
    laszlocsomor authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    676ec7d View commit details
    Browse the repository at this point in the history
  124. sync: also report errors

    If a failure occurs during the syncing of the external repositories,
    not only set the exit code, but also report the error message.
    
    Change-Id: I3a0e19039ab4444e811c8cff4e6f9b33331a0e02
    PiperOrigin-RevId: 200709468
    aehlig authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4cc4589 View commit details
    Browse the repository at this point in the history
  125. Remove CcCompilationContext.TransitiveModuleHeaders#getTransitiveModu…

    …les. This information is persisted for testing only, and considerably slows NestedSet serialization.
    
    PiperOrigin-RevId: 200710549
    calpeyser authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2115efb View commit details
    Browse the repository at this point in the history
  126. Add a bit more profiler coverage

    The intent is that the main thread has ~zero gaps in the profile (though there
    may still be small gaps due to the time between one try block and an
    immediately subsequent try block).
    
    We need to be careful not to wrap markPhase calls (or methods that call
    markPhase) in try blocks for the profiler - the Profiler requires that all
    markPhase calls happen at top level, and throws an exception if not.
    
    This should not have any performance impact - all of these are once per build,
    or at most once per module per build, and we don't expect a very large number
    of modules (and if we see an increasing number, we need to change the module
    API to not have to call every single module, but only those that are actually
    interested in certain events, maybe with an EventBus-based setup).
    
    PiperOrigin-RevId: 200712677
    ulfjack authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    85cc23d View commit details
    Browse the repository at this point in the history
  127. Adding a tool to parse the execution logs.

    For now, the tool simply displays the log as text.
    
    TESTED=ran it
    RELNOTES: A tool to parse the Bazel execution log.
    PiperOrigin-RevId: 200718299
    olaola authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    5211358 View commit details
    Browse the repository at this point in the history
  128. Don't propagate empty asset containers

    If asset containers are empty, simply discard them rather than propagating them up the dependency graph. We don't currently use merging output except at the top level, so we don't need any of this information. (If/when asset merging is redone, we'd need to redo this code anyway.)
    
    RELNOTES: none
    PiperOrigin-RevId: 200721055
    asteinb authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    b170ebe View commit details
    Browse the repository at this point in the history
  129. Include injecting rule kind in add_dep commands

    add_dep uses this information for j_p_l rules.
    
    PiperOrigin-RevId: 200721230
    cushon authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e571454 View commit details
    Browse the repository at this point in the history
  130. Move remaining BazelLibrary skylark functions to MethodLibrary

    Ultimately, we'll need to make the call on whether these functions belong as part of the build API or as part of skylark builtins. For now, we keep them as skylark builtins.
    
    (In either case, we'll want to migrate to @SkylarkCallable, but that's for a later change)
    
    RELNOTES: None.
    PiperOrigin-RevId: 200723605
    c-parsons authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    adf94a8 View commit details
    Browse the repository at this point in the history
  131. Remove LIPO support

    RELNOTES: Support for LIPO has been fully removed.
    PiperOrigin-RevId: 200724578
    hlopko authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9b68044 View commit details
    Browse the repository at this point in the history
  132. Support ActionFS opening files with append. Also, fix ActionFS notify…

    …ing its metadata consumer multiple times per inline output.
    
    RELNOTES: None
    PiperOrigin-RevId: 200730252
    ericfelly authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    6623fa3 View commit details
    Browse the repository at this point in the history
  133. Remove LipoMode and LipoModeFlags from CROSSTOOL

    RELNOTES: None.
    PiperOrigin-RevId: 200747338
    hlopko authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    4e9ea50 View commit details
    Browse the repository at this point in the history
  134. Update add_dep binary suggested by ImportDepsChecker

    PiperOrigin-RevId: 200760220
    cushon authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    02c7aef View commit details
    Browse the repository at this point in the history
  135. Remove "artifactOwnerConfiguration" now that LIPO is gone

    PiperOrigin-RevId: 200763653
    gregestren authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9e81e44 View commit details
    Browse the repository at this point in the history
  136. Remove the connect-to-server dots at server startup.

    Replace with an update at most every 10 seconds if we are still trying to connect.
    
    TESTED: Tested manually that this does print every 10 minutes if the server is prevented from connecting.
    RELNOTES: None.
    PiperOrigin-RevId: 200764279
    cvcal authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    422498c View commit details
    Browse the repository at this point in the history
  137. ActionFS supports fast digests. Add test coverage for this and some f…

    …ile metadata operations.
    
    RELNOTES: None
    PiperOrigin-RevId: 200765925
    ericfelly authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    5c36923 View commit details
    Browse the repository at this point in the history
  138. Fail when resources use invalid java identifiers.

    RELNOTES:None
    PiperOrigin-RevId: 200766836
    corbinrsmith-work authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    c550a4e View commit details
    Browse the repository at this point in the history
  139. Add Missing RobotoDraft-700 font to docs

    Fixed bug where \<strong\> tags were being improperly rendered
    
    Closes bazelbuild#5414.
    
    PiperOrigin-RevId: 200789831
    notnarb authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    dbad05a View commit details
    Browse the repository at this point in the history
  140. Allow CppCompilationHelper to disable coverage instrumentation

    RELNOTES=None
    PiperOrigin-RevId: 200800112
    Googler authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d626f69 View commit details
    Browse the repository at this point in the history
  141. Remove topLevelConfigurationHook now that LIPO is gone

    PiperOrigin-RevId: 200801973
    gregestren authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9613545 View commit details
    Browse the repository at this point in the history
  142. Fix bug in NestedSetStore where racing deserializations could create …

    …multiple futures for the same fingerprint and add a test showing that racing serializations can result in duplicate writes.
    
    PiperOrigin-RevId: 200860099
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    6f44974 View commit details
    Browse the repository at this point in the history
  143. Improve error message for invalid srcjar inputs

    Fixes bazelbuild#5418
    
    RELNOTES: N/A
    PiperOrigin-RevId: 200934846
    cushon authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    20404dd View commit details
    Browse the repository at this point in the history
  144. RepositoryFunction: depend on overrides, even if there is no rule

    Not all bazel external repositories are generated by a rule (e.g., they might
    be unbound names with the expectation that on override binds them). Still,
    even those external repositories depend on changes to the repository override.
    Register this dependency.
    
    Change-Id: I900c94f969d08dec82c5776eff28337878379b5e
    PiperOrigin-RevId: 200974283
    aehlig authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    b57cd31 View commit details
    Browse the repository at this point in the history
  145. Make java_toolchain attribute Environment aware.

    RELNOTES:none:
    PiperOrigin-RevId: 200988244
    dbabkin authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    e5a7173 View commit details
    Browse the repository at this point in the history
  146. Expose single_jar and bootclasspath in the java toolchain to skylark.

    This would allow pulling these from the toolchain in kotlin rules.
    
    PiperOrigin-RevId: 200996334
    Googler authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1d8b078 View commit details
    Browse the repository at this point in the history
  147. Refactoring: uses OutputService for ActionFileSystem injection

    Moves more Action-oriented from skyframe package, which has become very unwieldy, to action package. This is needed to avoid circular dependencies caused when build-base is needed for skyframe.
    
    PiperOrigin-RevId: 200996982
    aoeui authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    7cf70bb View commit details
    Browse the repository at this point in the history
  148. Consider runfiles symlinks when computing Runfiles.getEmptyFilenames().

    Runfiles.getEmptyFilenames() only considered the unconditional and
    pruning manifest artifacts for empty-file insertion. Actual manifest
    creation asks the empty files supplier for empty files over symlinks
    (but not root symlinks!), too.
    
    Change-Id: Ice69bbaa9e6169bff7ec5833ee7ef1b73049a4a7
    
    Closes bazelbuild#5334.
    
    Change-Id: Ice69bbaa9e6169bff7ec5833ee7ef1b73049a4a7
    PiperOrigin-RevId: 201002604
    benjaminp authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d3a64cf View commit details
    Browse the repository at this point in the history
  149. Make ConfiguredTargetValue a NotComparableSkyValue. Since no implemen…

    …tation of ConfiguredTarget implements equality, it's very much not comparable.
    
    PiperOrigin-RevId: 201004116
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9e2aca1 View commit details
    Browse the repository at this point in the history
  150. Add flag to skip early base extraction

    This adds a flag to the installer to skip uncompressing the base image during installation.
    
    Uncompressing the base image during installation can be problematic:
    1. If you configure the startup option `output_user_root` you'll wind up extracting the image twice. Once during installation and a second time during the first bazel invocation in your project.
    2. If you're bootstrapping Bazel in a controlled environment (in my case via Nix) then you can get permission errors if Bazel defaults to extracting to the home directory. There's no way to skip this extraction and for the time being I have resorted to seting `HOME` to a throw away directory during install.
    
    Closes bazelbuild#5303.
    
    PiperOrigin-RevId: 201004235
    andyscott authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2fc762d View commit details
    Browse the repository at this point in the history
  151. Permit marking dirty/changed a node more than once

    This functionality will be useful for node restarting. More than one
    parent node may request the restart of a shared child node, and this
    should not fail.
    
    Instead, the returned MarkedDirtyResult indicates whether the dirtying
    was redundant, and the calling code can assert on that.
    
    RELNOTES: None.
    PiperOrigin-RevId: 201005663
    anakanemison authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    000fdf5 View commit details
    Browse the repository at this point in the history
  152. Make the embedded JDK targets the default

    Closes bazelbuild#5403.
    
    PiperOrigin-RevId: 201007405
    cushon authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1311886 View commit details
    Browse the repository at this point in the history
  153. Clean up uses of SkylarkList<String> and ast in toolchains parameters.

    Change-Id: I3655868d34dd98f5cde084a61995dfae8e4b94c0
    
    Closes bazelbuild#5374.
    
    Change-Id: I3655868d34dd98f5cde084a61995dfae8e4b94c0
    PiperOrigin-RevId: 201032126
    katre authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    325ab39 View commit details
    Browse the repository at this point in the history
  154. Let ConfiguredRuleClassProvider decide whether to drop the analysis c…

    …ache.
    
    ConfiguredRuleClassProvider can specify a predicate which accepts an
    OptionsDiff and the new BuildOptions in order to make a decision on whether
    the given diff requires the analysis cache to be dropped.
    
    This predicate is only called if all of the following hold:
    * there was an old configuration collection (if not, the cache is not
      dropped because there wasn't one yet)
    * the old configuration collection is not exactly equal to the new
      configuration collection (if it is, the cache is not dropped because
      it definitely hasn't changed)
    * the old configuration collection has the same number of configurations
      as the new collection (if not, the cache is always dropped because
      experimental_multi_cpu has changed, definitely not a flag which should
      cause old analysis cache to stick around!)
    
    If all of these hold, the old target configurations are paired up with
    the new target configurations by index in the configuration collection,
    and each pair is diffed. The predicate is called with each diff and the
    corresponding new configuration's build options. If any of these
    invocations returns true, the cache is dropped. Otherwise, the cache is
    kept for the next build.
    
    No implementation of this predicate is actually supplied for this
    change, so the old behavior (always drop the cache if the configuration
    changes at all) holds.
    
    RELNOTES: None.
    PiperOrigin-RevId: 201050049
    mstaib authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    24b8dff View commit details
    Browse the repository at this point in the history
  155. Automated rollback of commit c720152.

    *** Reason for rollback ***
    
    See linked bug.
    
    *** Original change description ***
    
    C++: Refactors PyWrapCc to make it easier to migrate to Skylark
    
    Rolling forward bazelbuild@6c87715. 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: 201070354
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    8b139c8 View commit details
    Browse the repository at this point in the history
  156. Remove support for --discard_actions_after_execution.

    The memory savings from this flag are not worth the complexity, and it interferes with action restarting.
    
    RELNOTES: Remove support for --discard_actions_after_execution.
    PiperOrigin-RevId: 201077905
    tomlu authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    3659e90 View commit details
    Browse the repository at this point in the history
  157. Stop holding on to the Action and ActionKeyContext in ActionConflictE…

    …xception. We can construct the exception message eagerly, since it is going to be thrown with very high likelihood in any case.
    
    The complex objects inside it made it hard to serialize.
    
    PiperOrigin-RevId: 201130522
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1b3e419 View commit details
    Browse the repository at this point in the history
  158. Ensure seq never formats output with decimals or using scientific not…

    …ation
    
    as this isn't supported by `((... == 0))` below.
    
    See bazelbuild#5413
    
    PiperOrigin-RevId: 201135798
    cushon authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    78b6563 View commit details
    Browse the repository at this point in the history
  159. do not start server if shutdown requested (+ not in batch mode)

    PiperOrigin-RevId: 201144030
    Googler authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2ae255e View commit details
    Browse the repository at this point in the history
  160. Add fields to CcToolchainFeatures.Feature and CcToolchainFeatures.Act…

    …ionConfig that are needed for FeatureConfiguration creation
    
    In the future CcToolchainFeatures will not be created from a CToolchain but from a CrosstoolInfo provider that will encapsule all relevant information from the CROSSTOOL. Feature and ActionConfig classes need to carry all the information that is currently obtained from CToolchain.
    
    Work towards issue bazelbuild#5380
    
    RELNOTES: None.
    PiperOrigin-RevId: 201147336
    scentini authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    2af02d5 View commit details
    Browse the repository at this point in the history
  161. C++: Refactors PyWrapCc to make it easier to migrate to Skylark

    Rolls forward bazelbuild@c720152.
    
    This CL includes testing to make sure that linker parameters coming from every possible provider in Python rules is propagated.
    
    RELNOTES:none
    PiperOrigin-RevId: 201160720
    oquenchil authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    f0fa03d View commit details
    Browse the repository at this point in the history
  162. Add a utility function to accept windows-style envvars in paths.

    For paths passed to Bazel on the command line, the shell expands these variables, but for hardcoded defaults, we must make the library call ourselves.
    
    We do not add similar support in Posix systems, where it is less common to rely on standard path-related variables.
    
    Prerequisit for issue bazelbuild#4502.
    
    RELNOTES: None.
    PiperOrigin-RevId: 201183214
    cvcal authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    58d6b83 View commit details
    Browse the repository at this point in the history
  163. Clarify that ErrorInfoValue is a NotComparableSkyValue because we don…

    …'t expect equality, not because there's no implementation.
    
    PiperOrigin-RevId: 201191262
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    39b85a6 View commit details
    Browse the repository at this point in the history
  164. Make some Apple objects more serializable: tag constants as constant,…

    … tag lambdas as Serializable.
    
    PiperOrigin-RevId: 201191461
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d62d82a View commit details
    Browse the repository at this point in the history
  165. Make variable providers coming from the toolchains attribute shouldn'…

    …t be
    
    checked for restricted_to and compatible_with constraints, because they are part
    of the execution, not providing new dependencies.
    
    PiperOrigin-RevId: 201196891
    katre authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    9c0fc84 View commit details
    Browse the repository at this point in the history
  166. Make things easier to serialize: make constants constant, tag some la…

    …mbdas. Get rid of a useless tag, because the Function being tagged is a concrete class, so won't be serializable. Will deal with it in a follow-up. Implement equality for BazelInfo.
    
    PiperOrigin-RevId: 201199255
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    92135e2 View commit details
    Browse the repository at this point in the history
  167. Let MessageLiteCodec handle UnknownFieldSet.

    PiperOrigin-RevId: 201203706
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    57ca973 View commit details
    Browse the repository at this point in the history
  168. Implement #equals and #hashCode for TargetPatternPhaseValue.

    PiperOrigin-RevId: 201205388
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    0a5cc43 View commit details
    Browse the repository at this point in the history
  169. Put a trail into every SerializationException, not just NoCodecExcept…

    …ion, and have DynamicCodec add to it. It's very useful to have this trail available when debugging or whitelisting.
    
    PiperOrigin-RevId: 201205884
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    6abcf66 View commit details
    Browse the repository at this point in the history
  170. Add an option to show verbose debugging logs.

    Turns out the event handler (BlazeCommandEventHandler) prints almost all
    event types, and I don't believe there's a way to tune it.
    
    We certainly don't want these messages printed to the console unless
    we're debugging the debugger, so turn them off by default.
    
    PiperOrigin-RevId: 201211355
    brendandouglas authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d854a63 View commit details
    Browse the repository at this point in the history
  171. Delete switch for nested set serialization. It's fast enough to be on…

    … by default.
    
    PiperOrigin-RevId: 201218341
    janakdr authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    1367719 View commit details
    Browse the repository at this point in the history
  172. Add more logging when executionPlatformConstraintsAllowed is set to P…

    …ER_TARGET
    
    but the "exec_compatible_with" attribute is present.
    
    PiperOrigin-RevId: 201219412
    katre authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    74d794c View commit details
    Browse the repository at this point in the history
  173. Add --materialize_param_files option.

    When set, any action parameter files are written locally upon action execution, even when the action is executed remotely. This is mainly useful for debugging.
    
    This option is effectively implied by --subcommands and --verbose_failures, as it is likely that the user is debugging actions when using these flags.
    
    RELNOTES: Add --materialize_param_files flag to write parameter files even when actions are executed remotely.
    PiperOrigin-RevId: 201225566
    tomlu authored and ArielleA committed Jun 19, 2018
    Configuration menu
    Copy the full SHA
    d3f36eb View commit details
    Browse the repository at this point in the history