Java源码示例:org.jetbrains.jps.model.java.JavaSourceRootType

示例1
private static SourceFolder suitableTestSourceFolders(Project project, Module module) {
  ContentEntry[] contentEntries = ModuleRootManager.getInstance(module).getContentEntries();
  for (ContentEntry contentEntry : contentEntries) {
    List<SourceFolder> testSourceFolders =
        contentEntry.getSourceFolders(JavaSourceRootType.TEST_SOURCE);
    for (SourceFolder testSourceFolder : testSourceFolders) {
      if (testSourceFolder.getFile() != null) {
        if (!JavaProjectRootsUtil.isInGeneratedCode(testSourceFolder.getFile(), project)) {
          return testSourceFolder;
        }
      }
    }
  }

  return null;
}
 
示例2
protected static void checkForTestRoots(Module srcModule, Set<VirtualFile> testFolders) {
    testFolders.addAll(ModuleRootManager.getInstance(srcModule).getSourceRoots(JavaSourceRootType.TEST_SOURCE));

    removeGenerated(testFolders);
    //create test in the same module
    if (!testFolders.isEmpty()) return;

    //suggest to choose from all dependencies modules
    final HashSet<Module> modules = new HashSet<Module>();
    ModuleUtilCore.collectModulesDependsOn(srcModule, modules);
    for (Module module : modules) {
        testFolders.addAll(ModuleRootManager.getInstance(module).getSourceRoots(JavaSourceRootType.TEST_SOURCE));
    }

    removeGenerated(testFolders);
}
 
示例3
public void testWelcomeTest() throws Throwable {
  doImport("examples/tests/scala/org/pantsbuild/example/hello/welcome");

  assertFirstSourcePartyModules(
    "examples_src_resources_org_pantsbuild_example_hello_hello",
    "examples_src_java_org_pantsbuild_example_hello_greet_greet",
    "examples_src_scala_org_pantsbuild_example_hello_welcome_welcome",
    "examples_tests_scala_org_pantsbuild_example_hello_welcome_welcome"
  );

  final ContentEntry[] contentRoots = getContentRoots("examples_tests_scala_org_pantsbuild_example_hello_welcome_welcome");
  assertSize(1, contentRoots);
  final List<SourceFolder> testSourceRoots = contentRoots[0].getSourceFolders(JavaSourceRootType.TEST_SOURCE);
  assertSize(1, testSourceRoots);

  assertPantsCompileExecutesAndSucceeds(pantsCompileProject());

  findClassAndAssert("org.pantsbuild.example.hello.welcome.WelSpec");
  assertScalaLibrary("examples_tests_scala_org_pantsbuild_example_hello_welcome_welcome");
}
 
示例4
private void updateModule(Module module) {
  if (module == null) {
      return;
  }
  myComboRunnerClasses.removeAllItems();

  ModuleRootManager rootManager = ModuleRootManager.getInstance(module);

  List<VirtualFile> roots = rootManager.getSourceRoots(JavaSourceRootType.TEST_SOURCE);
  List<HaxeClass> classList = new ArrayList<HaxeClass>();
  for (VirtualFile testSourceRoot : roots) {
    classList.addAll(UsefulPsiTreeUtil.getClassesInDirectory(module.getProject(), testSourceRoot));
  }
  classList.size();
  for (HaxeClass haxeClass : classList) {
    myComboRunnerClasses.addItem(haxeClass);
  }
}
 
示例5
protected void assertGeneratedSources(String moduleName, String... expectedSources) {
  ContentEntry contentRoot = getContentRoot(moduleName);
  List<ContentFolder> folders = new ArrayList<>();
  for (SourceFolder folder : contentRoot.getSourceFolders(JavaSourceRootType.SOURCE)) {
    JavaSourceRootProperties properties = folder.getJpsElement().getProperties(JavaSourceRootType.SOURCE);
    assertNotNull(properties);
    if (properties.isForGeneratedSources()) {
      folders.add(folder);
    }
  }
  doAssertContentFolders(contentRoot, folders, expectedSources);
}
 
示例6
/**
 * 获取模块的源代码文件夹,不存在
 *
 * @param module 模块对象
 * @return 文件夹路径
 */
public static VirtualFile getSourcePath(@NotNull Module module) {
    List<VirtualFile> virtualFileList = ModuleRootManager.getInstance(module).getSourceRoots(JavaSourceRootType.SOURCE);
    if (CollectionUtil.isEmpty(virtualFileList)) {
        return VirtualFileManager.getInstance().findFileByUrl(String.format("file://%s", ModuleUtil.getModuleDirPath(module)));
    }
    return virtualFileList.get(0);
}
 
示例7
@NotNull
private TreeSet<VirtualFile> collectRoots() {
  final TreeSet<VirtualFile> result = new TreeSet<>(VIRTUAL_FILE_COMPARATOR);
  final ProjectRootManager rootManager = ProjectRootManager.getInstance(myProject);
  result.addAll(rootManager.getModuleSourceRoots(ContainerUtil.set(JavaSourceRootType.SOURCE, JavaSourceRootType.TEST_SOURCE)));
  return result;
}
 
示例8
@NotNull
@Override
public List<HaskellSourceRootDescriptor> computeRootDescriptors(JpsModel jpsModel, ModuleExcludeIndex moduleExcludeIndex, IgnoredFileIndex ignoredFileIndex, BuildDataPaths buildDataPaths) {
    List<HaskellSourceRootDescriptor> result = new ArrayList<HaskellSourceRootDescriptor>();
    JavaSourceRootType type = isTests() ? JavaSourceRootType.TEST_SOURCE : JavaSourceRootType.SOURCE;
    for (JpsTypedModuleSourceRoot<JavaSourceRootProperties> root : myModule.getSourceRoots(type)) {
        result.add(new HaskellSourceRootDescriptor(root.getFile(), this));
    }
    return result;
}
 
示例9
protected HyperlinkInfo createOpenFileHyperlink(String filePath, int line) {
  ModuleRootManager rootManager = ModuleRootManager.getInstance(myModule);
  List<VirtualFile> roots = rootManager.getSourceRoots(JavaSourceRootType.TEST_SOURCE);
  VirtualFile virtualFile = null;
  for (VirtualFile testSourceRoot : roots) {
    String fullPath = testSourceRoot.getPath() + "/" + filePath;
    virtualFile = LocalFileSystem.getInstance().findFileByPath(fullPath);
    if(virtualFile != null) {
      break;
    }
  }
  return virtualFile == null ? null : new OpenFileHyperlinkInfo(myModule.getProject(), virtualFile, line - 1);
}
 
示例10
public ModuleConfigurationEditor[] createEditors(final ModuleConfigurationState state) {
  final Module module = state.getRootModel().getModule();
  if (ModuleType.get(module) != HaxeModuleType.getInstance()) {
    return ModuleConfigurationEditor.EMPTY;
  }
  return new ModuleConfigurationEditor[]{
    new CommonContentEntriesEditor(module.getName(), state, JavaSourceRootType.SOURCE, JavaSourceRootType.TEST_SOURCE),
    new ClasspathEditor(state),
    new HaxeModuleConfigurationEditor(state)
  };
}
 
示例11
protected void assertSources(String moduleName, String... expectedSources) {
  doAssertContentFolders(moduleName, JavaSourceRootType.SOURCE, expectedSources);
}
 
示例12
protected void assertGeneratedSources(String moduleName, String... expectedSources) {
  assertGeneratedSources(moduleName, JavaSourceRootType.SOURCE, expectedSources);
}
 
示例13
protected void assertGeneratedTestSources(String moduleName, String... expectedSources) {
  assertGeneratedSources(moduleName, JavaSourceRootType.TEST_SOURCE, expectedSources);
}
 
示例14
protected void assertTestSources(String moduleName, String... expectedSources) {
  doAssertContentFolders(moduleName, JavaSourceRootType.TEST_SOURCE, expectedSources);
}
 
示例15
protected void assertSources(String moduleName, String... expectedSources) {
  doAssertContentFolders(moduleName, JavaSourceRootType.SOURCE, expectedSources);
}
 
示例16
protected void assertTestSources(String moduleName, String... expectedSources) {
  doAssertContentFolders(moduleName, JavaSourceRootType.TEST_SOURCE, expectedSources);
}
 
示例17
OCamlContentEntriesEditor(@NotNull String moduleName, @NotNull ModuleConfigurationState state) {
    super(moduleName, state, JavaSourceRootType.SOURCE, JavaSourceRootType.TEST_SOURCE, OCamlBinaryRootType.BINARY);
}
 
示例18
/**
 * 判断模块是否存在源代码文件夹
 *
 * @param module 模块对象
 * @return 是否存在
 */
public static boolean existsSourcePath(Module module) {
    return !CollectionUtil.isEmpty(ModuleRootManager.getInstance(module).getSourceRoots(JavaSourceRootType.SOURCE));
}