Пример #1
0
  public static ImmutableSet<Path> createPackageLookupPathSet(IjModuleGraph moduleGraph) {
    ImmutableSet.Builder<Path> builder = ImmutableSet.builder();

    for (IjModule module : moduleGraph.getModuleNodes()) {
      for (IjFolder folder : module.getFolders()) {
        if (!folder.getWantsPackagePrefix()) {
          continue;
        }
        Optional<Path> firstJavaFile =
            FluentIterable.from(folder.getInputs())
                .filter(
                    new Predicate<Path>() {
                      @Override
                      public boolean apply(Path input) {
                        return input.getFileName().toString().endsWith(".java");
                      }
                    })
                .first();
        if (firstJavaFile.isPresent()) {
          builder.add(firstJavaFile.get());
        }
      }
    }

    return builder.build();
  }
Пример #2
0
 public ContentRoot getContentRoot(IjModule module) throws IOException {
   Path moduleBasePath = module.getModuleBasePath();
   Path moduleLocation = module.getModuleImlFilePath();
   final Path moduleLocationBasePath =
       (moduleLocation.getParent() == null) ? Paths.get("") : moduleLocation.getParent();
   ImmutableSet<IjFolder> sourcesAndExcludes =
       FluentIterable.from(module.getFolders()).append(createExcludes(module)).toSet();
   return createContentRoot(moduleBasePath, sourcesAndExcludes, moduleLocationBasePath);
 }
Пример #3
0
 public static ImmutableSet<Path> createReferencedFolderPathsSet(ImmutableSet<IjModule> modules) {
   Set<Path> pathSet = new HashSet<>();
   for (IjModule module : modules) {
     addPathAndParents(pathSet, module.getModuleBasePath());
     for (IjFolder folder : module.getFolders()) {
       addPathAndParents(pathSet, folder.getPath());
     }
   }
   return ImmutableSet.copyOf(pathSet);
 }