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));
}