package com.cedricziel.idea.typo3.projectTemplate; import com.cedricziel.idea.typo3.TYPO3CMSIcons; import com.intellij.lang.javascript.boilerplate.AbstractGithubTagDownloadedProjectGenerator; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.platform.templates.github.GithubTagInfo; import com.intellij.util.PlatformUtils; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; public class TYPO3CMSComposerLayoutDirectoryProjectGenerator extends AbstractGithubTagDownloadedProjectGenerator { @NotNull @Override protected String getDisplayName() { return "TYPO3 CMS composer based project"; } @NotNull @Override public String getGithubUserName() { return "TYPO3-Distributions"; } @NotNull @Override public String getGithubRepositoryName() { return "TYPO3.CMS.BaseDistribution"; } @Override public String getDescription() { return "TYPO3 Project"; } @Override public Icon getIcon() { return TYPO3CMSIcons.TYPO3_ICON; } @Override public boolean isPrimaryGenerator() { return PlatformUtils.isPhpStorm(); } @Nullable @Override public String getPrimaryZipArchiveUrlForDownload(@NotNull GithubTagInfo tag) { return null; } @Override public void generateProject(@NotNull Project project, @NotNull VirtualFile baseDir, @NotNull GithubTagInfo tag, @NotNull Module module) { super.generateProject(project, baseDir, tag, module); Messages.showInfoMessage(project, "Please update the composer dependencies to create the initial structure", "TYPO3 Project Created"); } }