Hi Vladimir,
How did you search / find the references you posted. Good stuff.
I hammered a little on the recursive-find rule of João Abecasis and arrived at the following interface:
#
# Recursively find files matching a given pattern in a set of filesystem
# trees. Files that match a file-skip pattern (parameter skip-patterns-or-files)
# are pruned from the result set. Similarly, directories that match a
# directory-skip pattern (parameter skip-patterns-or-dirs) are pruned.
# The number of recursion levels can be limited with optional max-depth
# argument. For example, max-depth of 1 limits the search to 1 level of
# subdirectories. By default, there is no recursion limit.
#
# Example:
#
# [ recursive-find . : *.cpp *.h : bar* : bum* : 5
]
#
# searches the current directory (of invoking jamfile) for *.cpp and *.h
# files, excluding any files that match "bar*" and excluding any
# directories that match "bum*". Subdirectory depth is limited to 5.
#
rule recursive-find (
search-dirs + # trees to search
: patterns-or-files * # patterns to search for
: skip-patterns-or-files * # patterns for files to be pruned
: skip-patterns-or-dirs * # patterns for directories to be pruned
: max-depth ? # maximum number of
recursion levels
)
Changes from the original are:
- addition of skip-patterns-or-dirs parameter; this parameter applies
to directories while skip-patterns-or-files applies to files.
- addition of max-depth parameter
Attached is recursive-find.jam file. Would you suggest incorporating this into the bjam distribution (either as a stand-alone util/recursive-find.jam module or as an addition to util/path.jam)? I would like to write a python test script except that I haven't got past python hanging (on Cygwin) as I reported yesterday. Do you know if anyone has had success in running the python test suite on Cygwin?
Best regards,
Mark