You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.8 KiB
56 lines
1.8 KiB
package com.wd.maven.aggregation;
|
|
|
|
import com.intellij.ide.util.projectWizard.WebProjectTemplate;
|
|
import com.intellij.openapi.module.Module;
|
|
import com.intellij.openapi.project.Project;
|
|
import com.intellij.openapi.vfs.VirtualFile;
|
|
import com.wd.maven.aggregation.AggregationProjectGenerator;
|
|
import com.wd.maven.aggregation.MavenAggregationSettings;
|
|
import com.wd.maven.aggregation.MavenAggregationSettingsPanel;
|
|
import org.jetbrains.annotations.NotNull;
|
|
import org.jetbrains.annotations.Nullable;
|
|
|
|
import javax.swing.*;
|
|
|
|
public class MavenAggregationProjectGenerator extends WebProjectTemplate<MavenAggregationSettings> {
|
|
|
|
@NotNull
|
|
@Override
|
|
public String getName() {
|
|
return "Maven Aggregation Project";
|
|
}
|
|
|
|
@Override
|
|
public String getDescription() {
|
|
return "创建标准的Maven多模块项目结构,包含父POM和子模块";
|
|
}
|
|
|
|
@Nullable
|
|
@Override
|
|
public Icon getIcon() {
|
|
return null; // 可以返回一个自定义图标
|
|
}
|
|
|
|
@NotNull
|
|
public MavenAggregationSettings createSettings() {
|
|
return new MavenAggregationSettings();
|
|
}
|
|
|
|
@Nullable
|
|
public JComponent getSettingsPanel(MavenAggregationSettings settings) {
|
|
return new MavenAggregationSettingsPanel(settings).getPanel();
|
|
}
|
|
|
|
@Override
|
|
public void generateProject(@NotNull Project project, @NotNull VirtualFile baseDir, @NotNull MavenAggregationSettings settings, @NotNull Module module) {
|
|
AggregationProjectGenerator generator = new AggregationProjectGenerator();
|
|
generator.generateProject(
|
|
project,
|
|
settings.getGroupId(),
|
|
settings.getArtifactId(),
|
|
settings.getVersion(),
|
|
settings.getModules(),
|
|
settings.getJavaVersion()
|
|
);
|
|
}
|
|
}
|