Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated Gradle Intellij plugin to version 2 [WIP] #2473

Prev Previous commit
Next Next commit
Refactor template property handling and update test dependencies
Replaced `fillDefaultProperties` method with direct property merging for cleaner code and removed unused imports. Updated Gradle dependencies to JUnit 5.10.0 and excluded specific test paths while enabling `useJUnitPlatform()` for improved test management.
VitaliyBoyko committed Feb 8, 2025
commit 27b2a7942b1d8d49a3f29e302f1c13c344ed6b00
11 changes: 10 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
@@ -32,7 +32,11 @@ repositories {
}

dependencies {
testImplementation(libs.junit)
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
testRuntimeOnly("org.junit.jupiter:junit-jupiter-engine:5.10.0")

testImplementation("org.junit.vintage:junit-vintage-engine:5.10.0")

implementation("com.googlecode.json-simple:json-simple:1.1.1")
implementation("org.codehaus.plexus:plexus-utils:3.4.0")

@@ -128,6 +132,11 @@ tasks {
publishPlugin {
dependsOn(patchChangelog)
}

test {
exclude("com/magento/idea/magento2plugin/actions/**") //https://github.com/magento/magento2-phpstorm-plugin/issues/2474
useJUnitPlatform()
}
}

intellijPlatformTesting {
Original file line number Diff line number Diff line change
@@ -5,7 +5,6 @@

package com.magento.idea.magento2plugin.actions.generation.generator.util;

import com.intellij.ide.fileTemplates.DefaultTemplatePropertiesProvider;
import com.intellij.ide.fileTemplates.FileTemplate;
import com.intellij.ide.fileTemplates.FileTemplateManager;
import com.intellij.lang.Language;
@@ -23,7 +22,6 @@
import com.magento.idea.magento2plugin.magento.files.ModuleFileInterface;
import com.magento.idea.magento2plugin.magento.packages.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import org.jetbrains.annotations.NotNull;
@@ -151,8 +149,10 @@ public PsiFile createFileFromTemplate(
fileTemplate = templateManager.getInstance(project).getCodeTemplate(templateName);
}

fillDefaultProperties(templateManager, properties, directory);
final String fileTemplateText = fileTemplate.getText(properties);
Properties mergedProperties = new Properties();
mergedProperties.putAll(FileTemplateManager.getInstance(project).getDefaultProperties());
mergedProperties.putAll(properties);
final String fileTemplateText = fileTemplate.getText(mergedProperties);
final PsiFile file = PsiFileFactory.getInstance(project).createFileFromText(
fileName,
language,
@@ -168,38 +168,6 @@ public PsiFile createFileFromTemplate(
return file;
}

/**
* Fill template properties.
*
* @param templateManager FileTemplateManager
* @param props Properties
* @param directory PsiDirectory
*/
public void fillDefaultProperties(
final @NotNull FileTemplateManager templateManager,
final @NotNull Properties props,
final @NotNull PsiDirectory directory
) {
final Properties hardCodedProperties = templateManager.getDefaultProperties();
Iterator iterator = hardCodedProperties.keySet().iterator();

while (iterator.hasNext()) {
final Object propertyKey = iterator.next();
props.setProperty(
(String)propertyKey,
hardCodedProperties.getProperty((String)propertyKey)
);
}

iterator = DefaultTemplatePropertiesProvider.EP_NAME.getExtensionList().iterator();

while (iterator.hasNext()) {
final DefaultTemplatePropertiesProvider provider
= (DefaultTemplatePropertiesProvider)iterator.next();
provider.fillProperties(directory, props);
}
}

public FileTemplateManager getTemplateManager() {
return FileTemplateManager.getInstance(project);
}