26
26
import com .magento .idea .magento2uct .execution .process .OutputWrapper ;
27
27
import com .magento .idea .magento2uct .execution .scanner .ModuleFilesScanner ;
28
28
import com .magento .idea .magento2uct .execution .scanner .ModuleScanner ;
29
- import com .magento .idea .magento2uct .execution .scanner .ThemeFilesScanner ;
30
- import com .magento .idea .magento2uct .execution .scanner .ThemeScanner ;
31
29
import com .magento .idea .magento2uct .execution .scanner .data .ComponentData ;
32
30
import com .magento .idea .magento2uct .execution .scanner .filter .ExcludeMagentoBundledFilter ;
33
31
import com .magento .idea .magento2uct .inspections .UctInspectionManager ;
37
35
import com .magento .idea .magento2uct .util .inspection .FilterDescriptorResultsUtil ;
38
36
import com .magento .idea .magento2uct .util .inspection .SortDescriptorResultsUtil ;
39
37
import java .nio .file .Paths ;
38
+ import java .util .ArrayList ;
40
39
import java .util .List ;
41
40
import org .jetbrains .annotations .NotNull ;
42
41
import org .jetbrains .annotations .Nullable ;
@@ -82,8 +81,7 @@ public void processTerminated(final @NotNull ProcessEvent event) {
82
81
@ SuppressWarnings ({"PMD.ExcessiveMethodLength" , "PMD.AvoidInstantiatingObjectsInLoops" })
83
82
public void execute () {
84
83
output .write ("Upgrade compatibility tool\n " );
85
- final PsiDirectory rootDirectory = getTargetPsiDirectory ();
86
- final PsiDirectory additionalDirectory = getAdditionalTargetPsiDirectory ();
84
+ final PsiDirectory rootDirectory = getTargetPsiDirectory (settingsService .getModulePath ());
87
85
88
86
if (rootDirectory == null ) {
89
87
output .print (
@@ -92,8 +90,21 @@ public void execute() {
92
90
process .destroyProcess ();
93
91
return ;
94
92
}
93
+ final List <PsiDirectory > directoriesToScan = new ArrayList <>();
94
+ directoriesToScan .add (rootDirectory );
95
+
96
+ if (settingsService .getHasAdditionalPath ()) {
97
+ final PsiDirectory additionalDirectory = getTargetPsiDirectory (
98
+ settingsService .getAdditionalPath ()
99
+ );
100
+
101
+ if (additionalDirectory != null ) {
102
+ directoriesToScan .add (additionalDirectory );
103
+ }
104
+ }
105
+
95
106
final ModuleScanner scanner = new ModuleScanner (
96
- rootDirectory ,
107
+ directoriesToScan ,
97
108
new ExcludeMagentoBundledFilter ()
98
109
);
99
110
final Summary summary = new Summary (
@@ -102,10 +113,6 @@ public void execute() {
102
113
);
103
114
final ReportBuilder reportBuilder = new ReportBuilder (project );
104
115
final UctReportOutputUtil outputUtil = new UctReportOutputUtil (output );
105
- final ThemeScanner themeScanner = new ThemeScanner (
106
- additionalDirectory ,
107
- new ExcludeMagentoBundledFilter ()
108
- );
109
116
110
117
ApplicationManager .getApplication ().executeOnPooledThread (() -> {
111
118
ApplicationManager .getApplication ().runReadAction (() -> {
@@ -159,58 +166,9 @@ public void execute() {
159
166
}
160
167
}
161
168
}
162
- for (final ComponentData themeComponentData : themeScanner ) {
163
- if (process .isProcessTerminated ()) {
164
- return ;
165
- }
166
- boolean isThemeHeaderPrinted = false ;
167
-
168
- for (final PsiFile psiFile : new ThemeFilesScanner (themeComponentData )) {
169
- if (!(psiFile instanceof PhpFile )) {
170
- continue ;
171
- }
172
-
173
- final String filename = psiFile .getVirtualFile ().getPath ();
174
- final UctInspectionManager inspectionManager = new UctInspectionManager (
175
- project
176
- );
177
- final UctProblemsHolder fileProblemsHolder = inspectionManager .run (psiFile );
178
-
179
- if (fileProblemsHolder == null ) {
180
- continue ;
181
- }
182
-
183
- if (fileProblemsHolder .hasResults ()) {
184
- if (!isThemeHeaderPrinted ) {
185
- outputUtil .printModuleName (themeComponentData .getName ());
186
- isThemeHeaderPrinted = true ;
187
- }
188
- outputUtil .printProblemFile (filename );
189
- }
190
- final List <ProblemDescriptor > problems = SortDescriptorResultsUtil .sort (
191
- FilterDescriptorResultsUtil .filter (fileProblemsHolder )
192
- );
193
-
194
- for (final ProblemDescriptor descriptor : problems ) {
195
- final SupportedIssue issue = fileProblemsHolder .getIssue (descriptor );
196
-
197
- final String errorMessage = descriptor
198
- .getDescriptionTemplate ()
199
- .substring (6 )
200
- .trim ();
201
- summary .addToSummary (issue .getLevel ());
202
- reportBuilder .addIssue (
203
- descriptor .getLineNumber () + 1 ,
204
- filename ,
205
- errorMessage ,
206
- issue
207
- );
208
- outputUtil .printIssue (descriptor , issue .getCode ());
209
- }
210
- }
211
- }
212
169
summary .trackProcessFinished ();
213
170
summary .setProcessedModules (scanner .getModuleCount ());
171
+ summary .setProcessedThemes (scanner .getThemeCount ());
214
172
outputUtil .printSummary (summary );
215
173
216
174
if (summary .getProcessedModules () == 0 ) {
@@ -242,11 +200,11 @@ public void execute() {
242
200
/**
243
201
* Get target psi directory.
244
202
*
203
+ * @param targetDirPath String
204
+ *
245
205
* @return PsiDirectory
246
206
*/
247
- private @ Nullable PsiDirectory getTargetPsiDirectory () {
248
- final String targetDirPath = settingsService .getModulePath ();
249
-
207
+ private @ Nullable PsiDirectory getTargetPsiDirectory (final String targetDirPath ) {
250
208
if (targetDirPath == null ) {
251
209
return null ;
252
210
}
@@ -258,25 +216,4 @@ public void execute() {
258
216
259
217
return PsiManager .getInstance (project ).findDirectory (targetDirVirtualFile );
260
218
}
261
-
262
- /**
263
- * Get additional target psi directory.
264
- *
265
- * @return PsiDirectory
266
- */
267
- private @ Nullable PsiDirectory getAdditionalTargetPsiDirectory () {
268
- final String additionalTargetDirPath = settingsService .getAdditionalPath ();
269
-
270
- if (additionalTargetDirPath == null ) {
271
- return null ;
272
- }
273
- final VirtualFile targetDirVirtualFile
274
- = VfsUtil .findFile (Paths .get (additionalTargetDirPath ), false );
275
-
276
- if (targetDirVirtualFile == null ) {
277
- return null ;
278
- }
279
-
280
- return PsiManager .getInstance (project ).findDirectory (targetDirVirtualFile );
281
- }
282
219
}
0 commit comments