# Copyright 2021, 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

#+PROPERTY: header-args :mkdirp yes :main no

#+BEGIN_SRC bazel-workspace :tangle WORKSPACE
workspace(name = "test")
#+END_SRC

#+BEGIN_SRC bazel-build :tangle package/BUILD
cc_library(
    name = "test",
    srcs = ["test.cc"],
    deprecation = "Deprecated!",
)
#+END_SRC

#+BEGIN_SRC C++ :tangle package/test.cc
UnknownType foo;
#+END_SRC

Merged standard output and error from Bazel:

#+BEGIN_SRC fundamental :tangle bazel.out
Loading: 
Loading: 0 packages loaded
WARNING: %ROOTDIR%/package/BUILD:1:11: target '//package:test' is deprecated: Deprecated!
Analyzing: target //package:test (1 packages loaded, 0 targets configured)
Analyzing: target //package:test (11 packages loaded, 18 targets configured)
INFO: Analyzed target //package:test (15 packages loaded, 51 targets configured).
INFO: Found 1 target...
bazel: Entering directory `%ROOTDIR%/'
[0 / 6] [Prepa] Writing file package/libtest.a-2.params ... (3 actions, 0 running)
ERROR: %ROOTDIR%/package/BUILD:1:11: Compiling package/test.cc failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++0x' -MD -MF ... (remaining 16 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++0x' -MD -MF ... (remaining 16 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
package/test.cc:1:1: error: 'UnknownType' does not name a type
    1 | UnknownType foo;
      | ^~~~~~~~~~~
bazel: Leaving directory `%ROOTDIR%/'
Target //package:test failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 1.702s, Critical Path: 0.04s
INFO: 4 processes: 4 internal.
FAILED: Build did NOT complete successfully
FAILED: Build did NOT complete successfully
#+END_SRC
