use of com.intellij.packaging.artifacts.Artifact in project intellij-community by JetBrains.
the class SourceItemNodeBase method update.
@Override
protected void update(PresentationData presentation) {
final Artifact artifact = myArtifactEditor.getArtifact();
if (!myArtifact.equals(artifact)) {
myArtifact = artifact;
}
super.update(presentation);
}
use of com.intellij.packaging.artifacts.Artifact in project intellij-community by JetBrains.
the class ArtifactElementPresentation method render.
public void render(@NotNull PresentationData presentationData, SimpleTextAttributes mainAttributes, SimpleTextAttributes commentAttributes) {
final Artifact artifact = findArtifact();
Icon icon = artifact != null ? artifact.getArtifactType().getIcon() : AllIcons.Nodes.Artifact;
presentationData.setIcon(icon);
presentationData.addText(getPresentableName(), artifact != null ? mainAttributes : SimpleTextAttributes.ERROR_ATTRIBUTES);
}
use of com.intellij.packaging.artifacts.Artifact in project azure-tools-for-java by Microsoft.
the class AzureWebDeployAction method onActionPerformed.
public void onActionPerformed(AnActionEvent e) {
// Module module = LangDataKeys.MODULE.getData(e.getDataContext());
// Module module1 = e.getData(LangDataKeys.MODULE);
Project project = DataKeys.PROJECT.getData(e.getDataContext());
JFrame frame = WindowManager.getInstance().getFrame(project);
try {
if (!AzureSignInAction.doSignIn(AuthMethodManager.getInstance(), project))
return;
//Project project = module.getProject();
ModifiableArtifactModel artifactModel = ProjectStructureConfigurable.getInstance(project).getArtifactsStructureConfigurable().getModifiableArtifactModel();
Artifact artifactToDeploy = null;
Collection<? extends Artifact> artifacts = artifactModel.getArtifactsByType(ArtifactType.findById("war"));
List<String> issues = new LinkedList<>();
if (artifacts.size() == 0) {
issues.add("A web archive (WAR) Artifact has not been configured yet. The artifact configurations are managed in the <b>Project Structure</b> dialog (<b>File | Project Structure | Artifacts</b>).");
ArtifactValidationWindow.go(project, issues);
return;
} else if (artifacts.size() > 1) {
WarSelectDialog d = WarSelectDialog.go(project, new ArrayList<>(artifacts));
if (d == null) {
return;
}
artifactToDeploy = d.getSelectedArtifact();
} else {
artifactToDeploy = (Artifact) artifacts.toArray()[0];
}
// check artifact name is valid
String name = artifactToDeploy.getName();
if (!name.matches("^[A-Za-z0-9]*[A-Za-z0-9]$")) {
issues.add("The artifact name <b>'" + name + "'</b> is invalid. An artifact name may contain only the ASCII letters 'a' through 'z' (case-insensitive),\nand the digits '0' through '9'.");
}
boolean exists = Files.exists(Paths.get(artifactToDeploy.getOutputFilePath()));
if (!exists) {
issues.add("The Artifact has not been built yet. You can initiate building an artifact using <b>Build | Build Artifacts...</b> menu.");
}
if (issues.size() > 0) {
ArtifactValidationWindow.go(project, issues);
return;
}
WebAppDeployDialog d = WebAppDeployDialog.go(project, artifactToDeploy);
} catch (Exception ex) {
ex.printStackTrace();
//LOGGER.error("actionPerformed", ex);
ErrorWindow.show(project, ex.getMessage(), "Azure Web Deploy Action Error");
}
}
use of com.intellij.packaging.artifacts.Artifact in project azure-tools-for-java by Microsoft.
the class IDEHelperImpl method buildArtifact.
@NotNull
@Override
public ListenableFuture<String> buildArtifact(@NotNull ProjectDescriptor projectDescriptor, @NotNull ArtifactDescriptor artifactDescriptor) {
try {
Project project = findOpenProject(projectDescriptor);
final Artifact artifact = findProjectArtifact(project, artifactDescriptor);
final SettableFuture<String> future = SettableFuture.create();
Futures.addCallback(buildArtifact(project, artifact, false), new FutureCallback<Boolean>() {
@Override
public void onSuccess(@Nullable Boolean succeded) {
if (succeded != null && succeded) {
future.set(artifact.getOutputFilePath());
} else {
future.setException(new AzureCmdException("An error occurred while building the artifact"));
}
}
@Override
public void onFailure(Throwable throwable) {
if (throwable instanceof ExecutionException) {
future.setException(new AzureCmdException("An error occurred while building the artifact", throwable.getCause()));
} else {
future.setException(new AzureCmdException("An error occurred while building the artifact", throwable));
}
}
});
return future;
} catch (AzureCmdException e) {
return Futures.immediateFailedFuture(e);
}
}
use of com.intellij.packaging.artifacts.Artifact in project azure-tools-for-java by Microsoft.
the class IDEHelperImpl method buildArtifact.
private static ListenableFuture<Boolean> buildArtifact(@NotNull Project project, @NotNull final Artifact artifact, boolean rebuild) {
final SettableFuture<Boolean> future = SettableFuture.create();
Set<Artifact> artifacts = new LinkedHashSet<Artifact>(1);
artifacts.add(artifact);
CompileScope scope = ArtifactCompileScope.createArtifactsScope(project, artifacts, rebuild);
ArtifactsWorkspaceSettings.getInstance(project).setArtifactsToBuild(artifacts);
CompilerManager.getInstance(project).make(scope, new CompileStatusNotification() {
@Override
public void finished(boolean aborted, int errors, int warnings, CompileContext compileContext) {
future.set(!aborted && errors == 0);
}
});
return future;
}
Aggregations