kythe.io@v0.0.68-0.20240422202219-7225dbc01741/kythe/extractors/bazel/bazel_wrapper.sh (about)

     1  #!/bin/bash
     2  
     3  # Copyright 2019 The Kythe Authors. All rights reserved.
     4  #
     5  # Licensed under the Apache License, Version 2.0 (the "License");
     6  # you may not use this file except in compliance with the License.
     7  # You may obtain a copy of the License at
     8  #
     9  #   http://www.apache.org/licenses/LICENSE-2.0
    10  #
    11  # Unless required by applicable law or agreed to in writing, software
    12  # distributed under the License is distributed on an "AS IS" BASIS,
    13  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  # See the License for the specific language governing permissions and
    15  # limitations under the License.
    16  
    17  # Usage:
    18  # Invoke as you would bazel.
    19  #
    20  # If bazel builds all targets successfully, or fails to buid some targets this
    21  # script will exit with code 0. If bazel fails for some other reason, this
    22  # script will exit with code 1.
    23  
    24  set -x
    25  
    26  # It is ok if targets fail to build. We build using --keep_going and don't
    27  # care if some targets fail, but bazel will return a failure code if any
    28  # targets fail. We *do* care if bazel exits with an error code other than some
    29  # targets failed to build.
    30  /kythe/bazelisk "$@"
    31  RETVAL=$?
    32  if [[ $RETVAL -eq 1 ]]; then
    33      echo "Not all bazel targets built successfully, but continuing anyways."
    34      exit 0
    35  elif [[ $RETVAL -ne 0 ]]; then
    36      echo "Bazel build failed with exit code: $RETVAL"
    37      exit 1
    38  fi