public static ProjectView getProjectView()

in java/com/google/devtools/bazel/e4b/BazelProjectSupport.java [222:254]


  public static ProjectView getProjectView(IProject project)
      throws BackingStoreException, JavaModelException {
    com.google.devtools.bazel.e4b.projectviews.Builder builder = ProjectView.builder();
    IScopeContext projectScope = new ProjectScope(project);
    Preferences projectNode = projectScope.getNode(Activator.PLUGIN_ID);
    for (String s : projectNode.keys()) {
      if (s.startsWith("buildArgs")) {
        builder.addBuildFlag(projectNode.get(s, ""));
      } else if (s.startsWith("target")) {
        builder.addTarget(projectNode.get(s, ""));
      }
    }

    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    for (IClasspathEntry entry : ((IJavaProject) project).getRawClasspath()) {
      switch (entry.getEntryKind()) {
        case IClasspathEntry.CPE_SOURCE:
          IResource res = root.findMember(entry.getPath());
          if (res != null) {
            builder.addDirectory(res.getProjectRelativePath().removeFirstSegments(1).toOSString());
          }
          break;
        case IClasspathEntry.CPE_CONTAINER:
          String path = entry.getPath().toOSString();
          if (path.startsWith(STANDARD_VM_CONTAINER_PREFIX)) {
            builder.setJavaLanguageLevel(
                Integer.parseInt(path.substring(STANDARD_VM_CONTAINER_PREFIX.length())));
          }
          break;
      }
    }
    return builder.build();
  }