package com.jetbrains.lang.dart.ide.actions; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.vfs.VirtualFile; import com.jetbrains.lang.dart.DartBundle; import com.jetbrains.lang.dart.util.PubspecYamlUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; public class DartPubBuildAction extends DartPubActionBase { @Override @NotNull protected String getTitle(@NotNull final VirtualFile pubspecYamlFile) { final String projectName = PubspecYamlUtil.getDartProjectName(pubspecYamlFile); final String prefix = projectName == null ? "" : ("[" + projectName + "] "); return prefix + DartBundle.message("dart.pub.build.title"); } @Nullable protected String[] calculatePubParameters(@NotNull final Project project, @NotNull final VirtualFile pubspecYamlFile) { final DartPubBuildDialog dialog = new DartPubBuildDialog(project, pubspecYamlFile.getParent()); dialog.show(); if (dialog.getExitCode() != DialogWrapper.OK_EXIT_CODE) { return null; } return new String[]{"build", "--mode=" + dialog.getPubBuildMode(), "--output=" + dialog.getOutputFolder()}; } }