2626import com .magento .idea .magento2uct .execution .process .OutputWrapper ;
2727import com .magento .idea .magento2uct .execution .scanner .ModuleFilesScanner ;
2828import 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 ;
3129import com .magento .idea .magento2uct .execution .scanner .data .ComponentData ;
3230import com .magento .idea .magento2uct .execution .scanner .filter .ExcludeMagentoBundledFilter ;
3331import com .magento .idea .magento2uct .inspections .UctInspectionManager ;
3735import com .magento .idea .magento2uct .util .inspection .FilterDescriptorResultsUtil ;
3836import com .magento .idea .magento2uct .util .inspection .SortDescriptorResultsUtil ;
3937import java .nio .file .Paths ;
38+ import java .util .ArrayList ;
4039import java .util .List ;
4140import org .jetbrains .annotations .NotNull ;
4241import org .jetbrains .annotations .Nullable ;
@@ -82,8 +81,7 @@ public void processTerminated(final @NotNull ProcessEvent event) {
8281 @ SuppressWarnings ({"PMD.ExcessiveMethodLength" , "PMD.AvoidInstantiatingObjectsInLoops" })
8382 public void execute () {
8483 output .write ("Upgrade compatibility tool\n " );
85- final PsiDirectory rootDirectory = getTargetPsiDirectory ();
86- final PsiDirectory additionalDirectory = getAdditionalTargetPsiDirectory ();
84+ final PsiDirectory rootDirectory = getTargetPsiDirectory (settingsService .getModulePath ());
8785
8886 if (rootDirectory == null ) {
8987 output .print (
@@ -92,8 +90,21 @@ public void execute() {
9290 process .destroyProcess ();
9391 return ;
9492 }
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+
95106 final ModuleScanner scanner = new ModuleScanner (
96- rootDirectory ,
107+ directoriesToScan ,
97108 new ExcludeMagentoBundledFilter ()
98109 );
99110 final Summary summary = new Summary (
@@ -102,10 +113,6 @@ public void execute() {
102113 );
103114 final ReportBuilder reportBuilder = new ReportBuilder (project );
104115 final UctReportOutputUtil outputUtil = new UctReportOutputUtil (output );
105- final ThemeScanner themeScanner = new ThemeScanner (
106- additionalDirectory ,
107- new ExcludeMagentoBundledFilter ()
108- );
109116
110117 ApplicationManager .getApplication ().executeOnPooledThread (() -> {
111118 ApplicationManager .getApplication ().runReadAction (() -> {
@@ -159,58 +166,9 @@ public void execute() {
159166 }
160167 }
161168 }
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- }
212169 summary .trackProcessFinished ();
213170 summary .setProcessedModules (scanner .getModuleCount ());
171+ summary .setProcessedThemes (scanner .getThemeCount ());
214172 outputUtil .printSummary (summary );
215173
216174 if (summary .getProcessedModules () == 0 ) {
@@ -242,11 +200,11 @@ public void execute() {
242200 /**
243201 * Get target psi directory.
244202 *
203+ * @param targetDirPath String
204+ *
245205 * @return PsiDirectory
246206 */
247- private @ Nullable PsiDirectory getTargetPsiDirectory () {
248- final String targetDirPath = settingsService .getModulePath ();
249-
207+ private @ Nullable PsiDirectory getTargetPsiDirectory (final String targetDirPath ) {
250208 if (targetDirPath == null ) {
251209 return null ;
252210 }
@@ -258,25 +216,4 @@ public void execute() {
258216
259217 return PsiManager .getInstance (project ).findDirectory (targetDirVirtualFile );
260218 }
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- }
282219}
0 commit comments