|
13 | 13 | * See the License for the specific language governing permissions and |
14 | 14 | * limitations under the License. |
15 | 15 | */ |
16 | | -package org.domaframework.doma.intellij.common |
| 16 | +package org.domaframework.doma.intellij.setting.state |
17 | 17 |
|
18 | | -import com.intellij.openapi.module.Module |
19 | | -import com.intellij.openapi.roots.ModuleRootManager |
20 | | -import com.intellij.openapi.vfs.VirtualFile |
21 | | -import org.jetbrains.jps.model.java.JavaResourceRootType |
22 | | -import org.jetbrains.jps.model.java.JavaSourceRootType |
| 18 | +import org.domaframework.doma.intellij.setting.SettingComponent |
23 | 19 |
|
24 | | -val RESOURCES_META_INF_PATH: String |
25 | | - get() = "META-INF" |
| 20 | +interface DomaToolsSettings { |
| 21 | + fun isModified(component: SettingComponent?): Boolean |
26 | 22 |
|
27 | | -class CommonPathParameter( |
28 | | - module: Module?, |
29 | | -) { |
30 | | - /** |
31 | | - * module base path ex)Absolute path of "/src/main" |
32 | | - */ |
33 | | - var moduleBasePath: VirtualFile? = null |
| 23 | + fun apply(component: SettingComponent?) |
34 | 24 |
|
35 | | - /** |
36 | | - * module source directories ex) Absolute path of "/src/main/java","/src/main/kotlin" |
37 | | - */ |
38 | | - var moduleSourceDirectories: MutableList<VirtualFile> = mutableListOf() |
39 | | - |
40 | | - /** |
41 | | - * module resource directory ex) Absolute path of "/src/main/resources" |
42 | | - */ |
43 | | - var moduleResourceDirectories: MutableList<VirtualFile> = mutableListOf() |
44 | | - |
45 | | - var moduleTestSourceDirectories: MutableList<VirtualFile> = mutableListOf() |
46 | | - var moduleTestResourceDirectories: MutableList<VirtualFile> = mutableListOf() |
47 | | - |
48 | | - init { |
49 | | - setModuleSourcesFiles(module) |
50 | | - } |
51 | | - |
52 | | - private fun setModuleSourcesFiles(module: Module?) { |
53 | | - if (module == null) return |
54 | | - |
55 | | - val modulemanager = ModuleRootManager.getInstance(module) |
56 | | - |
57 | | - moduleSourceDirectories.clear() |
58 | | - modulemanager?.contentEntries?.firstOrNull()?.let { entry -> |
59 | | - moduleBasePath = entry.file |
60 | | - entry.sourceFolders.map { folder -> |
61 | | - val file = folder.file |
62 | | - if (file != null) { |
63 | | - when (folder.rootType) { |
64 | | - JavaSourceRootType.SOURCE -> { |
65 | | - moduleSourceDirectories.add(file) |
66 | | - } |
67 | | - |
68 | | - JavaSourceRootType.TEST_SOURCE -> { |
69 | | - moduleTestSourceDirectories.add(file) |
70 | | - } |
71 | | - |
72 | | - JavaResourceRootType.RESOURCE -> { |
73 | | - moduleResourceDirectories.add(file) |
74 | | - } |
75 | | - |
76 | | - JavaResourceRootType.TEST_RESOURCE -> { |
77 | | - moduleTestResourceDirectories.add(file) |
78 | | - } |
79 | | - } |
80 | | - } |
81 | | - } |
82 | | - } |
83 | | - } |
84 | | - |
85 | | - fun isTest(file: VirtualFile): Boolean { |
86 | | - val testSource = |
87 | | - moduleTestSourceDirectories.firstOrNull { testSource -> |
88 | | - file.path.contains(testSource.path) |
89 | | - } |
90 | | - if (testSource != null) return true |
91 | | - |
92 | | - return moduleTestResourceDirectories.firstOrNull { testSource -> |
93 | | - file.path.contains(testSource.path) |
94 | | - } != null |
95 | | - } |
96 | | - |
97 | | - fun getResources(file: VirtualFile): MutableList<VirtualFile> = |
98 | | - if (isTest(file)) { |
99 | | - moduleTestResourceDirectories |
100 | | - } else { |
101 | | - moduleResourceDirectories |
102 | | - } |
103 | | - |
104 | | - fun getSources(file: VirtualFile): MutableList<VirtualFile> = |
105 | | - if (isTest(file)) { |
106 | | - moduleTestSourceDirectories |
107 | | - } else { |
108 | | - moduleSourceDirectories |
109 | | - } |
| 25 | + fun reset(component: SettingComponent?) |
110 | 26 | } |
0 commit comments