|
20 | 20 | import com.google.idea.blaze.base.model.LibraryFilesProvider;
|
21 | 21 | import com.intellij.openapi.diagnostic.Logger;
|
22 | 22 | import com.intellij.openapi.externalSystem.service.project.IdeModifiableModelsProvider;
|
23 |
| -import com.intellij.openapi.progress.DumbProgressIndicator; |
24 | 23 | import com.intellij.openapi.roots.OrderRootType;
|
25 | 24 | import com.intellij.openapi.roots.libraries.Library;
|
26 | 25 | import com.intellij.openapi.roots.libraries.Library.ModifiableModel;
|
27 |
| -import com.intellij.openapi.roots.libraries.ui.RootDetector; |
28 |
| -import com.intellij.openapi.roots.ui.configuration.LibrarySourceRootDetectorUtil; |
29 | 26 | import com.intellij.openapi.util.io.FileUtil;
|
30 | 27 | import com.intellij.openapi.util.io.FileUtilRt;
|
31 |
| -import com.intellij.openapi.vfs.JarFileSystem; |
32 |
| -import com.intellij.openapi.vfs.LocalFileSystem; |
33 | 28 | import com.intellij.openapi.vfs.StandardFileSystems;
|
34 | 29 | import com.intellij.openapi.vfs.VirtualFile;
|
35 | 30 | import com.intellij.openapi.vfs.VirtualFileManager;
|
36 | 31 | import com.intellij.util.io.URLUtil;
|
37 | 32 | import java.io.File;
|
38 |
| -import java.util.ArrayList; |
39 |
| -import java.util.List; |
40 | 33 |
|
41 | 34 | /**
|
42 | 35 | * Modifies {@link Library} content in {@link Library.ModifiableModel}.
|
@@ -66,47 +59,11 @@ public void updateModifiableModel(BlazeProjectData blazeProjectData) {
|
66 | 59 | addRoot(classFileUrl, OrderRootType.CLASSES);
|
67 | 60 | }
|
68 | 61 |
|
69 |
| - for (String sourceFileUrl : libraryFilesProvider.getSourceFilesUrls(blazeProjectData)) { |
70 |
| - detectSourceRoots(sourceFileUrl).forEach(root -> { |
71 |
| - modifiableModel.addRoot(root, OrderRootType.SOURCES); |
72 |
| - }); |
| 62 | + for (String sourceFile : libraryFilesProvider.getSourceFilesUrls(blazeProjectData)) { |
| 63 | + addRoot(sourceFile, OrderRootType.SOURCES); |
73 | 64 | }
|
74 | 65 | }
|
75 | 66 |
|
76 |
| - private List<VirtualFile> detectSourceRoots(String sourceJar) { |
77 |
| - List<VirtualFile> roots = new ArrayList<>(); |
78 |
| - |
79 |
| - if (sourceJar == null) { |
80 |
| - return roots; |
81 |
| - } |
82 |
| - |
83 |
| - VirtualFile srcFile = LocalFileSystem.getInstance().refreshAndFindFileByPath(sourceJar); |
84 |
| - if (srcFile == null) { |
85 |
| - return roots; |
86 |
| - } |
87 |
| - |
88 |
| - VirtualFile jarRoot = JarFileSystem.getInstance().getJarRootForLocalFile(srcFile); |
89 |
| - if (jarRoot == null) { |
90 |
| - return roots; |
91 |
| - } |
92 |
| - |
93 |
| - List<RootDetector> detectors = LibrarySourceRootDetectorUtil.JAVA_SOURCE_ROOT_DETECTOR |
94 |
| - .getExtensionList(); |
95 |
| - |
96 |
| - return detect(detectors, jarRoot); |
97 |
| - } |
98 |
| - |
99 |
| - private List<VirtualFile> detect(List<RootDetector> detectors, VirtualFile jarRoot) { |
100 |
| - List<VirtualFile> roots = new ArrayList<>(); |
101 |
| - |
102 |
| - for (RootDetector detector : detectors) { |
103 |
| - DumbProgressIndicator progressIndicator = new DumbProgressIndicator(); |
104 |
| - roots.addAll(detector.detectRoots(jarRoot, progressIndicator)); |
105 |
| - } |
106 |
| - |
107 |
| - return roots; |
108 |
| - } |
109 |
| - |
110 | 67 | private ModifiableModel getLibraryModifiableModel(
|
111 | 68 | IdeModifiableModelsProvider modelsProvider, String libraryName) {
|
112 | 69 | Library library = modelsProvider.getLibraryByName(libraryName);
|
|
0 commit comments