def _compute_include_paths(self, target):
    """Computes the set of paths that thrifty uses to lookup imports.

    The IDL files under these paths are not compiled, but they are required to compile
    downstream IDL files.

    :param target: the JavaThriftyLibrary target to compile.
    :return: an ordered set of directories to pass along to thrifty.
    """
    paths = OrderedSet()
    paths.add(os.path.join(get_buildroot(), target.target_base))

    def collect_paths(dep):
      if not dep.has_sources('.thrift'):
        return
      paths.add(os.path.join(get_buildroot(), dep.target_base))

    collect_paths(target)
    target.walk(collect_paths)
    return paths
Computes the set of paths that thrifty uses to lookup imports.

    The IDL files under these paths are not compiled, but they are required to compile
    downstream IDL files.

    :param target: the JavaThriftyLibrary target to compile.
    :return: an ordered set of directories to pass along to thrifty.