aboutsummaryrefslogtreecommitdiff
path: root/build2/filesystem.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2018-09-05 00:00:14 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2018-09-05 11:38:25 +0300
commit9c0dc1f4957420688cf2c1afe79fa2f53f2a6abf (patch)
tree04f37bc105817be5399b060c05afb63d6c7e5a28 /build2/filesystem.hxx
parent58a05fc84029acdb711b40cf2cee09a0b2202bf7 (diff)
Create .buildignore file in testscript root working directory
Diffstat (limited to 'build2/filesystem.hxx')
-rw-r--r--build2/filesystem.hxx22
1 files changed, 22 insertions, 0 deletions
diff --git a/build2/filesystem.hxx b/build2/filesystem.hxx
index fe98263..3bcd807 100644
--- a/build2/filesystem.hxx
+++ b/build2/filesystem.hxx
@@ -128,6 +128,28 @@ namespace build2
//
bool
empty (const dir_path&);
+
+ // Directories containing .buildignore file are automatically ignored by
+ // recursive names patterns. For now the file is just a marker and its
+ // contents don't matter.
+ //
+ extern const path buildignore; // .buildignore
+
+ // Create a directory containing an empty .buildignore file.
+ //
+ fs_status<mkdir_status>
+ mkdir_buildignore (const dir_path&, uint16_t verbosity = 1);
+
+ // Return true if the directory is empty or only contains the .buildignore
+ // file. Fail if the directory doesn't exist.
+ //
+ bool
+ empty_buildignore (const dir_path&);
+
+ // Remove a directory if it is empty or only contains the .buildignore file.
+ //
+ fs_status<rmdir_status>
+ rmdir_buildignore (const dir_path&, uint16_t verbosity = 1);
}
#include <build2/filesystem.txx>