# Copyright 2022 The Bazel Authors. All rights reserved. # # 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 # # http://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. """Creates an empty directory.""" def _empty_directory_impl(ctx): out = ctx.actions.declare_directory(ctx.attr.name) ctx.actions.run_shell( outputs = [out], command = "mkdir -p $@", arguments = [out.path], mnemonic = "EmptyDirectory", progress_message = "Creating empty directory %s" % out.path, use_default_shell_env = True, execution_requirements = {"no-remote": "1"}, # see rules/private/copy_directory_private.bzl ) return [DefaultInfo(files = depset(direct = [out]))] empty_directory = rule( implementation = _empty_directory_impl, provides = [DefaultInfo], doc = "Creates an empty directory with the same name as the target", )