@task<EOL>@needs('<STR_LIT>')<EOL>def clean(options, info):
info("<STR_LIT>", options.paved.clean.patterns)<EOL>for wd in options.paved.clean.dirs:<EOL><INDENT>info("<STR_LIT>", wd)<EOL>for p in options.paved.clean.patterns:<EOL><INDENT>for f in wd.walkfiles(p):<EOL><INDENT>f.remove()<EOL><DEDENT><DEDENT><DEDENT>
Clean up extra files littering the source tree.

    options.paved.clean.dirs: directories to search recursively
    options.paved.clean.patterns: patterns to search for and remove