1 package com
.intellij
.compiler
.actions
;
3 import com
.intellij
.openapi
.actionSystem
.ActionGroup
;
4 import com
.intellij
.openapi
.actionSystem
.AnAction
;
5 import com
.intellij
.openapi
.actionSystem
.AnActionEvent
;
6 import com
.intellij
.openapi
.actionSystem
.PlatformDataKeys
;
7 import com
.intellij
.openapi
.project
.Project
;
8 import com
.intellij
.openapi
.util
.text
.StringUtil
;
9 import com
.intellij
.packaging
.artifacts
.Artifact
;
10 import com
.intellij
.packaging
.artifacts
.ArtifactManager
;
11 import org
.jetbrains
.annotations
.NotNull
;
12 import org
.jetbrains
.annotations
.Nullable
;
14 import java
.util
.ArrayList
;
15 import java
.util
.List
;
20 public class BuildArtifactActionGroup
extends ActionGroup
{
21 public BuildArtifactActionGroup() {
22 super("Build Artifact", true);
26 public AnAction
[] getChildren(@Nullable AnActionEvent e
) {
27 if (e
== null) return EMPTY_ARRAY
;
28 final Project project
= e
.getData(PlatformDataKeys
.PROJECT
);
29 if (project
== null) return EMPTY_ARRAY
;
31 final Artifact
[] artifacts
= ArtifactManager
.getInstance(project
).getSortedArtifacts();
32 List
<AnAction
> actions
= new ArrayList
<AnAction
>();
33 for (Artifact artifact
: artifacts
) {
34 if (!StringUtil
.isEmpty(artifact
.getOutputPath())) {
35 actions
.add(new BuildArtifactAction(project
, artifact
));
38 return actions
.toArray(new AnAction
[actions
.size()]);