示例#1
0
 def test_literal(self):
     subdir = 'foo'
     name = 'Blah.java'
     self.assert_files_equals([Path(name)], '', [name])
     self.assert_files_equals([Path(join(subdir, name))], subdir, [name])
     self.assert_files_equals([PathLiteral(Files, subdir, name)], '',
                              [join(subdir, name)])
示例#2
0
文件: nodes.py 项目: kageiit/pants
 def generate_subjects(self, filenames):
   """Given filenames, generate a set of subjects for invalidation predicate matching."""
   for f in filenames:
     # Stats, ReadLink, or FileContent for the literal path.
     yield Path(f)
     yield File(f)
     yield Link(f)
     # DirectoryListings for parent dirs.
     yield Dir(dirname(f))
示例#3
0
文件: graph.py 项目: ebubae/pants
def filter_buildfile_paths(address_mapper, directory_listing):
    if not directory_listing.exists:
        raise ResolveError('Directory "{}" does not exist.'.format(
            directory_listing.directory.path))

    build_pattern = address_mapper.build_pattern

    def match(stat):
        return type(stat) is File and fnmatch(basename(stat.path),
                                              build_pattern)

    build_files = tuple(
        Path(stat.path, stat) for stat in directory_listing.dependencies
        if match(stat))
    return BuildFiles(build_files)
示例#4
0
def filter_buildfile_paths(address_mapper, directory_listing):
    if not directory_listing.exists:
        raise ResolveError('Directory "{}" does not exist.'.format(
            directory_listing.directory.path))

    def match(stat):
        # Short circuit for ignored paths.
        if address_mapper.build_ignore_patterns.match_file(stat.path):
            return False

        return (type(stat) is File and any(
            fnmatch(basename(stat.path), pattern)
            for pattern in address_mapper.build_patterns))

    build_files = tuple(
        Path(stat.path, stat) for stat in directory_listing.dependencies
        if match(stat))
    return BuildFiles(build_files)