From 8ce3f51a25fa4144545e4aac9f18b050aa91ddb9 Mon Sep 17 00:00:00 2001 From: vitaliy Date: Tue, 8 Apr 2025 21:17:29 +0300 Subject: [PATCH 1/4] "Remove contributor section from README.md --- README.md | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/README.md b/README.md index 85a5ae4ef..288c9d783 100644 --- a/README.md +++ b/README.md @@ -12,36 +12,8 @@ PhpStorm IDE Plugin for a better Magento 2 development workflow. - - - Version 2025.0.0 - Contributors - - - - - - Yevhen Zvieriev -
- Yevhen Zvieriev -
- - - - Mykola Silin -
- Mykola Silin -
- - - - Vitalii Boiko -
- Vitalii Boiko -
- - From 1fda3364ee90803a899d409c0ccdba57ef560782 Mon Sep 17 00:00:00 2001 From: Sergey Yarmolich Date: Tue, 29 Apr 2025 16:23:14 +0300 Subject: [PATCH 2/4] add app/design path --- .../magento/packages/Package.java | 1 + .../magento/IsFileInEditableModuleUtil.java | 4 +++- .../util/magento/MagentoPathUrlUtil.java | 20 +++++++++++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/magento/idea/magento2plugin/magento/packages/Package.java b/src/main/java/com/magento/idea/magento2plugin/magento/packages/Package.java index 9ed340294..d031f591f 100644 --- a/src/main/java/com/magento/idea/magento2plugin/magento/packages/Package.java +++ b/src/main/java/com/magento/idea/magento2plugin/magento/packages/Package.java @@ -8,6 +8,7 @@ public class Package { //NOPMD public static final String V_FILE_SEPARATOR = "/"; public static String packagesRoot = "app/code"; + public static String packagesDesignRoot = "app/design"; public static String libWebRoot = "lib/web"; public static String frameworkRootComposer = "vendor/magento/framework"; public static String frameworkRootGit = "lib/internal/Magento/Framework"; diff --git a/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java b/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java index a9f789fef..d4f335663 100644 --- a/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java +++ b/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java @@ -39,10 +39,12 @@ public static boolean execute(final Project project, final VirtualFile virtualFi final Settings settings = Settings.getInstance(project); List magentoToFolders = settings.getMagentoFolders(); final String magentoPathUrl = MagentoPathUrlUtil.execute(project); + final String magentoDesignUrl = MagentoPathUrlUtil.getDesignPath(project); if (magentoPathUrl != null) { if (magentoToFolders == null) { magentoToFolders = List.of( - magentoPathUrl + magentoPathUrl, + magentoDesignUrl ); } else { magentoToFolders.add( diff --git a/src/main/java/com/magento/idea/magento2plugin/util/magento/MagentoPathUrlUtil.java b/src/main/java/com/magento/idea/magento2plugin/util/magento/MagentoPathUrlUtil.java index bc808c2c2..7f1a081e1 100644 --- a/src/main/java/com/magento/idea/magento2plugin/util/magento/MagentoPathUrlUtil.java +++ b/src/main/java/com/magento/idea/magento2plugin/util/magento/MagentoPathUrlUtil.java @@ -31,4 +31,24 @@ public static String execute(Project project) { return null; } + + /** + * Constructs a file URL for the Magento packages root, based on the project settings. + * + * @param project the project instance + * @return the constructed file URL + */ + public static String getDesignPath(Project project) { + String magentoPath = Settings.getMagentoPath(project); + if (magentoPath != null) { + return VirtualFileManager.constructUrl( + "file", + magentoPath + + File.separator + + Package.packagesDesignRoot + ); + } + + return null; + } } From 5404d114662d0e37ea24df8439c83633f7f8464c Mon Sep 17 00:00:00 2001 From: vitaliy Date: Tue, 29 Apr 2025 20:35:16 +0300 Subject: [PATCH 3/4] 2527: Fix Magento folder handling and update plugin version. Refactored logic to handle Magento folder paths more robustly, ensuring design paths are added without overwriting existing ones. Updated plugin version to 2025.1.1 and added relevant changelog entry for bug fix #2527. Incremental version changes made in plugin metadata and build properties. --- CHANGELOG.md | 6 ++++ gradle.properties | 2 +- .../magento/IsFileInEditableModuleUtil.java | 36 +++++++++---------- src/main/resources/META-INF/plugin.xml | 2 +- 4 files changed, 24 insertions(+), 22 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f3dd4858..628fd8ccd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0). +## 2025.1.1 + +### Fixed + +- The themes select is empty [#2527](https://github.com/magento/magento2-phpstorm-plugin/pull/2527) + ## 2025.1.0 ### Added diff --git a/gradle.properties b/gradle.properties index 934860abb..c14a88efe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ pluginGroup = com.magento.idea.magento2plugin pluginName = Magento PhpStorm pluginRepositoryUrl = https://github.com/magento/magento2-phpstorm-plugin -pluginVersion = 2025.1.0 +pluginVersion = 2025.1.1 pluginSinceBuild = 243.3 pluginUntilBuild = 258.* platformType = PS diff --git a/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java b/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java index d4f335663..da2d02ba4 100644 --- a/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java +++ b/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java @@ -9,6 +9,7 @@ import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.PsiFile; import com.magento.idea.magento2plugin.project.Settings; +import java.util.ArrayList; import java.util.List; public final class IsFileInEditableModuleUtil { @@ -37,31 +38,26 @@ public static boolean execute(final PsiFile file) { */ public static boolean execute(final Project project, final VirtualFile virtualFile) { final Settings settings = Settings.getInstance(project); - List magentoToFolders = settings.getMagentoFolders(); - final String magentoPathUrl = MagentoPathUrlUtil.execute(project); - final String magentoDesignUrl = MagentoPathUrlUtil.getDesignPath(project); - if (magentoPathUrl != null) { - if (magentoToFolders == null) { - magentoToFolders = List.of( - magentoPathUrl, - magentoDesignUrl - ); - } else { - magentoToFolders.add( - magentoPathUrl - ); - } - } + List editablePaths = settings.getMagentoFolders(); + final String magentoRootPath = MagentoPathUrlUtil.execute(project); + final String magentoDesignPath = MagentoPathUrlUtil.getDesignPath(project); + if (magentoRootPath == null) { + return false; + } + if (editablePaths == null) { + editablePaths = new ArrayList<>(); + } - if (magentoToFolders == null) { - return false; + editablePaths.add(magentoRootPath); + if (magentoDesignPath != null) { + editablePaths.add(magentoDesignPath); } - final String filePath = virtualFile.getUrl(); - for (final String editablePath : magentoToFolders) { - if (normalizeUrl(filePath).startsWith(normalizeUrl(editablePath))) { + final String currentFilePath = virtualFile.getUrl(); + for (final String editablePath : editablePaths) { + if (normalizeUrl(currentFilePath).startsWith(normalizeUrl(editablePath))) { return true; } } diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml index ac35da6e7..efca82d10 100644 --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -7,7 +7,7 @@ com.magento.idea.magento2plugin Magento PhpStorm - 2025.1.0 + 2025.1.1 Magento Inc. Date: Tue, 29 Apr 2025 20:43:10 +0300 Subject: [PATCH 4/4] 2527: static fix --- .../magento2plugin/util/magento/IsFileInEditableModuleUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java b/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java index da2d02ba4..6e48db8f1 100644 --- a/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java +++ b/src/main/java/com/magento/idea/magento2plugin/util/magento/IsFileInEditableModuleUtil.java @@ -30,7 +30,7 @@ public static boolean execute(final PsiFile file) { } /** - * Validates if a given virtual file is located within editable paths defined by Magento project structure. + * Validates if a given virtual file is located within editable paths. * * @param project the current project containing the virtual file * @param virtualFile the file to check against editable module directories