# Copyright 2019 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception

# Ignore 'experimental' folders. These builds are not regularly maintained.
# If you wish to build/run a target under experimental/, you must remove this
# line from this file.
experimental

# Ignore third_party directories which contain BUILD files so that recursive
# from root works.
third_party

# Ignore the bazel directories when this directory is used as a local repository.
bazel-*
