Skip to content

Commit 0abdf4a

Browse files
add back deployment targets.
1 parent 9609bea commit 0abdf4a

File tree

7 files changed

+94
-9
lines changed

7 files changed

+94
-9
lines changed

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-appservice-java/src/main/java/com/microsoft/azure/toolkit/intellij/legacy/function/runner/deploy/FunctionDeploymentState.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.microsoft.azure.toolkit.ide.appservice.AppServiceActionsContributor;
1313
import com.microsoft.azure.toolkit.intellij.common.RunProcessHandler;
1414
import com.microsoft.azure.toolkit.intellij.common.RunProcessHandlerMessenger;
15+
import com.microsoft.azure.toolkit.intellij.connector.dotazure.AzureModule;
1516
import com.microsoft.azure.toolkit.intellij.connector.dotazure.DotEnvBeforeRunTaskProvider;
1617
import com.microsoft.azure.toolkit.intellij.legacy.common.AzureRunProfileState;
1718
import com.microsoft.azure.toolkit.intellij.legacy.function.runner.core.FunctionUtils;
@@ -80,6 +81,11 @@ public FunctionDeploymentState(Project project, FunctionDeployConfiguration func
8081
final FunctionAppBase<?, ?, ?> target = FunctionAppService.getInstance().createOrUpdateFunctionApp(deployModel.getFunctionAppConfig());
8182
stagingFolder = FunctionUtils.getTempStagingFolder();
8283
prepareStagingFolder(stagingFolder, operation);
84+
final AzureTaskManager tm = AzureTaskManager.getInstance();
85+
tm.runOnPooledThread(()-> Optional.ofNullable(this.functionDeployConfiguration.getModule()).map(AzureModule::from)
86+
.ifPresent(module -> tm.runLater(() -> tm.write(() -> module
87+
.initializeWithDefaultProfileIfNot()
88+
.addApp(target).save()))));
8389
// deploy function to Azure
8490
FunctionAppService.getInstance().deployFunctionApp(target, stagingFolder);
8591
AzureTaskManager.getInstance().runInBackground("list HTTPTrigger url", () -> {

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-appservice-java/src/main/java/com/microsoft/azure/toolkit/intellij/legacy/webapp/runner/webappconfig/WebAppRunState.java

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@
77

88
import com.intellij.execution.process.ProcessOutputTypes;
99
import com.intellij.openapi.project.Project;
10+
import com.intellij.openapi.vfs.VfsUtil;
1011
import com.intellij.util.PathUtil;
1112
import com.microsoft.azure.toolkit.intellij.common.AzureArtifact;
1213
import com.microsoft.azure.toolkit.intellij.common.AzureArtifactManager;
1314
import com.microsoft.azure.toolkit.intellij.common.RunProcessHandler;
1415
import com.microsoft.azure.toolkit.intellij.connector.IJavaAgentSupported;
16+
import com.microsoft.azure.toolkit.intellij.connector.dotazure.AzureModule;
1517
import com.microsoft.azure.toolkit.intellij.connector.dotazure.DotEnvBeforeRunTaskProvider;
1618
import com.microsoft.azure.toolkit.intellij.legacy.common.AzureRunProfileState;
1719
import com.microsoft.azure.toolkit.intellij.legacy.webapp.runner.Constants;
@@ -20,12 +22,19 @@
2022
import com.microsoft.azure.toolkit.lib.appservice.model.AppServiceFile;
2123
import com.microsoft.azure.toolkit.lib.appservice.model.DeployType;
2224
import com.microsoft.azure.toolkit.lib.appservice.model.WebContainer;
23-
import com.microsoft.azure.toolkit.lib.appservice.webapp.*;
25+
import com.microsoft.azure.toolkit.lib.appservice.webapp.AzureWebApp;
26+
import com.microsoft.azure.toolkit.lib.appservice.webapp.WebApp;
27+
import com.microsoft.azure.toolkit.lib.appservice.webapp.WebAppBase;
28+
import com.microsoft.azure.toolkit.lib.appservice.webapp.WebAppDeploymentSlot;
29+
import com.microsoft.azure.toolkit.lib.appservice.webapp.WebAppDeploymentSlotDraft;
30+
import com.microsoft.azure.toolkit.lib.appservice.webapp.WebAppDraft;
31+
import com.microsoft.azure.toolkit.lib.appservice.webapp.WebAppModule;
2432
import com.microsoft.azure.toolkit.lib.common.bundle.AzureString;
2533
import com.microsoft.azure.toolkit.lib.common.exception.AzureToolkitRuntimeException;
2634
import com.microsoft.azure.toolkit.lib.common.messager.AzureMessager;
2735
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperation;
2836
import com.microsoft.azure.toolkit.lib.common.operation.OperationContext;
37+
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
2938
import com.microsoft.azuretools.core.mvp.model.webapp.AzureWebAppMvpModel;
3039
import com.microsoft.azuretools.telemetry.TelemetryConstants;
3140
import com.microsoft.azuretools.telemetrywrapper.Operation;
@@ -47,7 +56,12 @@
4756
import java.net.URISyntaxException;
4857
import java.net.URL;
4958
import java.nio.file.Paths;
50-
import java.util.*;
59+
import java.util.Collections;
60+
import java.util.HashMap;
61+
import java.util.Map;
62+
import java.util.Objects;
63+
import java.util.Optional;
64+
import java.util.Set;
5165
import java.util.stream.Collectors;
5266

5367
import static com.microsoft.azure.toolkit.intellij.common.AzureBundle.message;
@@ -82,6 +96,14 @@ public WebAppRunState(Project project, WebAppConfiguration webAppConfiguration)
8296
throw new FileNotFoundException(message("webapp.deploy.error.noTargetFile", artifact.getAbsolutePath()));
8397
}
8498
final WebAppBase<?, ?, ?> deployTarget = getOrCreateDeployTargetFromAppSettingModel(processHandler);
99+
final AzureTaskManager tm = AzureTaskManager.getInstance();
100+
tm.runOnPooledThread(()-> Optional.ofNullable(this.webAppConfiguration.getModule()).map(AzureModule::from)
101+
.or(() -> Optional.ofNullable(artifact)
102+
.map(f -> VfsUtil.findFileByIoFile(f, true))
103+
.map(f -> AzureModule.from(f, this.project)))
104+
.ifPresent(module -> tm.runLater(() -> tm.write(() -> module
105+
.initializeWithDefaultProfileIfNot()
106+
.addApp(deployTarget).save()))));
85107
applyResourceConnections(deployTarget);
86108
updateApplicationSettings(deployTarget, processHandler);
87109
AzureWebAppMvpModel.getInstance().deployArtifactsToWebApp(deployTarget, artifact, webAppSettingModel.isDeployToRoot(), processHandler);

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-containerapps/src/main/java/com/microsoft/azure/toolkit/intellij/containerapps/deployimage/DeployImageRunState.java

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,17 @@
77

88
import com.azure.resourcemanager.appcontainers.models.EnvironmentVar;
99
import com.intellij.openapi.project.Project;
10+
import com.intellij.openapi.vfs.VfsUtil;
1011
import com.microsoft.azure.toolkit.intellij.common.RunProcessHandler;
12+
import com.microsoft.azure.toolkit.intellij.connector.dotazure.AzureModule;
13+
import com.microsoft.azure.toolkit.intellij.connector.dotazure.Profile;
1114
import com.microsoft.azure.toolkit.intellij.container.model.DockerImage;
1215
import com.microsoft.azure.toolkit.intellij.containerregistry.ContainerService;
1316
import com.microsoft.azure.toolkit.intellij.legacy.common.AzureRunProfileState;
1417
import com.microsoft.azure.toolkit.lib.Azure;
1518
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperation;
1619
import com.microsoft.azure.toolkit.lib.common.operation.OperationContext;
20+
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
1721
import com.microsoft.azure.toolkit.lib.containerapps.AzureContainerApps;
1822
import com.microsoft.azure.toolkit.lib.containerapps.containerapp.ContainerApp;
1923
import com.microsoft.azure.toolkit.lib.containerapps.containerapp.ContainerAppDraft;
@@ -24,7 +28,11 @@
2428
import com.microsoft.azuretools.telemetrywrapper.TelemetryManager;
2529

2630
import javax.annotation.Nonnull;
27-
import java.util.*;
31+
import java.util.Collections;
32+
import java.util.List;
33+
import java.util.Map;
34+
import java.util.Objects;
35+
import java.util.Optional;
2836
import java.util.stream.Collectors;
2937

3038
public class DeployImageRunState extends AzureRunProfileState<ContainerApp> {
@@ -50,14 +58,25 @@ public ContainerApp executeSteps(@Nonnull RunProcessHandler processHandler, @Non
5058
final ContainerAppDraft draft = (ContainerAppDraft) containerApp.update();
5159
final ContainerAppDraft.Config config = new ContainerAppDraft.Config();
5260
final List<EnvironmentVar> vars = dataModel.getEnvironmentVariables().entrySet().stream()
53-
.map(e -> new EnvironmentVar().withName(e.getKey()).withValue(e.getValue()))
54-
.collect(Collectors.toList());
61+
.map(e -> new EnvironmentVar().withName(e.getKey()).withValue(e.getValue()))
62+
.collect(Collectors.toList());
5563
final ContainerAppDraft.ImageConfig imageConfig = new ContainerAppDraft.ImageConfig(configuration.getFinalImageName());
5664
imageConfig.setContainerRegistry(registry);
5765
imageConfig.setEnvironmentVariables(vars);
5866
config.setImageConfig(imageConfig);
5967
config.setIngressConfig(dataModel.getIngressConfig());
6068
draft.setConfig(config);
69+
final AzureTaskManager tm = AzureTaskManager.getInstance();
70+
tm.runOnPooledThread(() -> Optional.ofNullable(image)
71+
.map(DockerImage::getDockerFile)
72+
.map(f -> VfsUtil.findFileByIoFile(f, true))
73+
.map(f -> AzureModule.from(f, this.project))
74+
.ifPresent(module -> tm.runLater(() -> tm.write(() -> {
75+
final Profile p = module.initializeWithDefaultProfileIfNot();
76+
Optional.ofNullable(registry).ifPresent(p::addApp);
77+
Optional.of(containerApp).ifPresent(p::addApp);
78+
p.save();
79+
}))));
6180
draft.updateIfExist();
6281
return containerApp;
6382
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-containerregistry/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ repositories {
99
dependencies {
1010
implementation project(path: ':azure-intellij-plugin-lib', configuration: 'instrumentedJar')
1111
implementation project(path: ':azure-intellij-plugin-lib-java', configuration: 'instrumentedJar')
12+
implementation project(path: ':azure-intellij-resource-connector-lib', configuration: 'instrumentedJar')
1213
implementation 'com.github.docker-java:docker-java:3.3.0'
1314
implementation 'com.github.docker-java:docker-java-transport-zerodep:3.3.0'
1415
implementation 'com.microsoft.azure:azure-toolkit-storage-lib'

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-containerregistry/src/main/java/com/microsoft/azure/toolkit/intellij/containerregistry/ContainerService.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
import com.github.dockerjava.api.async.ResultCallback;
44
import com.github.dockerjava.api.model.PushResponseItem;
5+
import com.intellij.openapi.vfs.VfsUtil;
56
import com.microsoft.azure.toolkit.ide.containerregistry.ContainerRegistryActionsContributor;
7+
import com.microsoft.azure.toolkit.intellij.connector.dotazure.AzureModule;
68
import com.microsoft.azure.toolkit.intellij.container.AzureDockerClient;
79
import com.microsoft.azure.toolkit.intellij.container.model.DockerImage;
810
import com.microsoft.azure.toolkit.lib.Azure;
@@ -11,13 +13,14 @@
1113
import com.microsoft.azure.toolkit.lib.common.exception.AzureToolkitRuntimeException;
1214
import com.microsoft.azure.toolkit.lib.common.messager.AzureMessager;
1315
import com.microsoft.azure.toolkit.lib.common.messager.IAzureMessager;
16+
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
1417
import com.microsoft.azure.toolkit.lib.containerregistry.AzureContainerRegistry;
1518
import com.microsoft.azure.toolkit.lib.containerregistry.ContainerRegistry;
16-
import org.apache.commons.lang3.ObjectUtils;
1719
import org.apache.commons.lang3.StringUtils;
1820

1921
import javax.annotation.Nonnull;
2022
import java.util.Objects;
23+
import java.util.Optional;
2124
import java.util.stream.Collectors;
2225
import java.util.stream.Stream;
2326

@@ -54,6 +57,14 @@ public void onNext(PushResponseItem item) {
5457
super.onNext(item);
5558
}
5659
};
60+
final AzureTaskManager tm = AzureTaskManager.getInstance();
61+
tm.runOnPooledThread(() -> Optional.of(image)
62+
.map(DockerImage::getDockerFile)
63+
.map(f -> VfsUtil.findFileByIoFile(f, true))
64+
.map(f -> AzureModule.from(f, configuration.getProject()))
65+
.ifPresent(module -> tm.runLater(() -> tm.write(() -> module
66+
.initializeWithDefaultProfileIfNot()
67+
.addApp(registry).save()))));
5768
dockerClient.pushImage(Objects.requireNonNull(loginServerUrl), registry.getUserName(), registry.getPrimaryCredential(), imageAndTag, callBack);
5869
return loginServerUrl;
5970
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-facet/src/main/java/com/microsoft/azure/toolkit/intellij/facet/projectexplorer/AzureFacetRootNode.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.microsoft.azure.toolkit.intellij.common.IntelliJAzureIcons;
1919
import com.microsoft.azure.toolkit.intellij.connector.Connection;
2020
import com.microsoft.azure.toolkit.intellij.connector.ConnectionTopics;
21+
import com.microsoft.azure.toolkit.intellij.connector.DeploymentTargetTopics;
2122
import com.microsoft.azure.toolkit.intellij.connector.ResourceConnectionActionsContributor;
2223
import com.microsoft.azure.toolkit.intellij.connector.dotazure.AzureModule;
2324
import com.microsoft.azure.toolkit.intellij.connector.dotazure.Profile;
@@ -32,7 +33,12 @@
3233

3334
import javax.annotation.Nonnull;
3435
import javax.annotation.Nullable;
35-
import java.util.*;
36+
import java.util.ArrayList;
37+
import java.util.Collection;
38+
import java.util.Collections;
39+
import java.util.List;
40+
import java.util.Objects;
41+
import java.util.Optional;
3642

3743
import static com.microsoft.azure.toolkit.intellij.connector.ConnectionTopics.CONNECTION_CHANGED;
3844
import static com.microsoft.azure.toolkit.intellij.connector.ResourceConnectionActionsContributor.CONNECT_TO_MODULE;
@@ -53,6 +59,11 @@ public AzureFacetRootNode(final AzureModule module, ViewSettings settings) {
5359
updateChildren();
5460
}
5561
});
62+
connection.subscribe(DeploymentTargetTopics.TARGET_APP_CHANGED, (DeploymentTargetTopics.TargetAppChanged) (m, app, action) -> {
63+
if (app.getName().equalsIgnoreCase(module.getName())) {
64+
updateChildren();
65+
}
66+
});
5667
}
5768

5869
private void onEvent(@Nonnull final AzureEvent azureEvent) {
@@ -76,7 +87,9 @@ public Collection<? extends AbstractAzureFacetNode<?>> buildChildren() {
7687
nodes.add(new ActionNode<>(this.getProject(), CONNECT_TO_MODULE, module));
7788
return nodes;
7889
}
79-
return new ConnectionsNode(this.getProject(), profile.getConnectionManager()).buildChildren();
90+
nodes.add(new DeploymentTargetsNode(this.getProject(), profile.getDeploymentTargetManager()));
91+
nodes.add(new ConnectionsNode(this.getProject(), profile.getConnectionManager()));
92+
return nodes;
8093
}
8194

8295
@Override

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-springcloud/src/main/java/com/microsoft/azure/toolkit/intellij/springcloud/deplolyment/SpringCloudDeploymentConfigurationState.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@
1616
import com.intellij.execution.ui.ConsoleView;
1717
import com.intellij.execution.ui.ConsoleViewContentType;
1818
import com.intellij.openapi.project.Project;
19+
import com.intellij.openapi.vfs.VfsUtil;
1920
import com.microsoft.azure.toolkit.ide.springcloud.SpringCloudActionsContributor;
2021
import com.microsoft.azure.toolkit.intellij.common.RunProcessHandler;
2122
import com.microsoft.azure.toolkit.intellij.common.messager.IntellijAzureMessager;
2223
import com.microsoft.azure.toolkit.intellij.common.runconfig.RunConfigurationUtils;
2324
import com.microsoft.azure.toolkit.intellij.common.utils.JdkUtils;
25+
import com.microsoft.azure.toolkit.intellij.connector.dotazure.AzureModule;
2426
import com.microsoft.azure.toolkit.lib.common.action.Action;
2527
import com.microsoft.azure.toolkit.lib.common.action.AzureActionManager;
2628
import com.microsoft.azure.toolkit.lib.common.bundle.AzureString;
@@ -32,7 +34,12 @@
3234
import com.microsoft.azure.toolkit.lib.common.operation.AzureOperation;
3335
import com.microsoft.azure.toolkit.lib.common.operation.OperationContext;
3436
import com.microsoft.azure.toolkit.lib.common.task.AzureTaskManager;
35-
import com.microsoft.azure.toolkit.lib.springcloud.*;
37+
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudApp;
38+
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudAppInstance;
39+
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudCluster;
40+
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudDeployment;
41+
import com.microsoft.azure.toolkit.lib.springcloud.SpringCloudDeploymentDraft;
42+
import com.microsoft.azure.toolkit.lib.springcloud.Utils;
3643
import lombok.RequiredArgsConstructor;
3744
import org.apache.commons.lang3.StringUtils;
3845
import reactor.core.Disposable;
@@ -133,6 +140,12 @@ public SpringCloudDeployment execute(IAzureMessager messager) {
133140
}
134141
}
135142
deployment.commit();
143+
final AzureTaskManager tm = AzureTaskManager.getInstance();
144+
tm.runOnPooledThread(() -> opFile.map(f -> VfsUtil.findFileByIoFile(f, true))
145+
.map(f -> AzureModule.from(f, this.project))
146+
.ifPresent(module -> tm.runLater(() -> tm.write(() -> module
147+
.initializeWithDefaultProfileIfNot()
148+
.addApp(deployment.getParent()).save()))));
136149
deployment.getParent().refresh();
137150
printPublicUrl(deployment.getParent());
138151
return deployment;

0 commit comments

Comments
 (0)