Skip to content

Commit ee4015f

Browse files
committed
Merge branch 'release-3.51.0' into develop.next
2 parents d948f67 + 08eee7f commit ee4015f

File tree

99 files changed

+904
-539
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+904
-539
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
All notable changes to "Azure Toolkit for IntelliJ IDEA" will be documented in this file.
44

55
- [Change Log](#change-log)
6+
- [3.51.0](#3510)
67
- [3.50.0](#3500)
78
- [3.49.0](#3490)
89
- [3.48.0](#3480)
@@ -65,6 +66,27 @@ All notable changes to "Azure Toolkit for IntelliJ IDEA" will be documented in t
6566
- [3.0.7](#307)
6667
- [3.0.6](#306)
6768

69+
## 3.51.0
70+
### Added
71+
- Add support for IntelliJ 2021.1 EAP
72+
- Add Azure SDK reference book for spring
73+
74+
### Changed
75+
- Improve resource list performance with cache and preload
76+
- Update Azure related run configuration icons
77+
- Continue with warning for multi-tenant issues while getting subscriptions
78+
- Remove preview label for function and spring cloud
79+
80+
### Fixed
81+
- [#5008](https://github.com/microsoft/azure-tools-for-java/issues/5008) IndexOutOfBoundsException while create MySQL connection
82+
- [PR #4987](https://github.com/microsoft/azure-tools-for-java/pull/4987) InvalidParameterException occurs when close a streaming log
83+
- [PR #4987](https://github.com/microsoft/azure-tools-for-java/pull/4987) Failed when select file to deploy to Azure Web App
84+
- [PR #4998](https://github.com/microsoft/azure-tools-for-java/pull/4998) Fix IDEA203 regression of Spark failure debug in local
85+
- [PR #5006](https://github.com/microsoft/azure-tools-for-java/pull/5006) Fix NPE of exploring ADLS Gen2 FS in Spark job conf
86+
- [PR #5009](https://github.com/microsoft/azure-tools-for-java/pull/5009) Fix bundle build JCEF issue
87+
- [PR #5014](https://github.com/microsoft/azure-tools-for-java/pull/5014) Failed to create MySQL instance as resource provider is not registered
88+
- [PR #5055](https://github.com/microsoft/azure-tools-for-java/pull/5055) Can't deploy to Azure Web App when there is "Connect Azure Resource" in before launch
89+
6890
## 3.50.0
6991

7092
### Added

PluginsAndFeatures/AddLibrary/AzureLibraries/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<parent>
2929
<groupId>com.microsoft.azuretools</groupId>
3030
<artifactId>utils</artifactId>
31-
<version>3.51.0-SNAPSHOT</version>
31+
<version>3.51.0</version>
3232
</parent>
3333
<groupId>com.microsoft.azuretools</groupId>
3434
<artifactId>com.microsoft.azuretools.sdk.lib</artifactId>
@@ -38,7 +38,7 @@
3838
<organization><name>Microsoft Corp.</name></organization>
3939

4040
<properties>
41-
<azuretool.version>3.51.0-SNAPSHOT</azuretool.version>
41+
<azuretool.version>3.51.0</azuretool.version>
4242
<azuretool.sdk.version>3.25.0.qualifier</azuretool.sdk.version>
4343
</properties>
4444
<dependencies>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
/*
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*/
5+
6+
package com.microsoft.azure.toolkit.intellij.common.preload;
7+
8+
import com.intellij.openapi.application.ApplicationManager;
9+
import com.intellij.openapi.application.PreloadingActivity;
10+
import com.intellij.openapi.progress.ProgressIndicator;
11+
import com.microsoft.azure.toolkit.lib.common.cache.Preloader;
12+
import lombok.extern.java.Log;
13+
14+
@Log
15+
public class AzurePreloadingActivity extends PreloadingActivity {
16+
17+
@Override
18+
public void preload(@org.jetbrains.annotations.NotNull final ProgressIndicator indicator) {
19+
// Using progress manager as azure task manager is not initialized
20+
ApplicationManager.getApplication().executeOnPooledThread(Preloader::load);
21+
}
22+
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-intellij-plugin-lib/src/main/resources/META-INF/azure-intellij-plugin-lib.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<extensionPoints>
33
</extensionPoints>
44
<extensions defaultExtensionNs="com.intellij">
5+
<preloadingActivity implementation="com.microsoft.azure.toolkit.intellij.common.preload.AzurePreloadingActivity"/>
56
</extensions>
67
<actions>
78
</actions>

PluginsAndFeatures/azure-toolkit-for-intellij/azure-sdk-reference-book/build.gradle

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
plugins {
22
id 'java'
33
id "org.jetbrains.intellij"
4+
id "io.freefair.aspectj.post-compile-weaving"
45
}
56

67
group 'com.microsoft.azuretools'
@@ -22,10 +23,14 @@ dependencies {
2223
annotationProcessor 'org.projectlombok:lombok:1.18.8'
2324

2425
compileOnly 'org.jetbrains:annotations:20.1.0'
26+
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.11.2', {
27+
exclude group: "com.fasterxml.jackson", module: "jackson-bom"
28+
}
2529
implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.11.2', {
2630
exclude group: "com.fasterxml.jackson", module: "jackson-bom"
2731
}
32+
compile project(':azure-intellij-plugin-lib')
33+
compile "com.microsoft.azure:azure-toolkit-common-lib:0.5.0-SNAPSHOT"
2834

29-
implementation project(':azure-intellij-plugin-lib')
30-
implementation "com.microsoft.azure:azure-toolkit-common-lib:0.5.0-SNAPSHOT"
35+
aspect "com.microsoft.azure:azure-toolkit-common-lib:0.5.0-SNAPSHOT"
3136
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-sdk-reference-book/src/main/java/com/microsoft/azure/toolkit/intellij/azuresdk/dependencesurvey/activity/AzurePreloadingActivity.java

Lines changed: 0 additions & 32 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/*
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*/
5+
6+
package com.microsoft.azure.toolkit.intellij.azuresdk.dependencesurvey.activity;
7+
8+
import com.intellij.openapi.application.ApplicationManager;
9+
import com.intellij.openapi.application.ReadAction;
10+
import com.intellij.openapi.project.Project;
11+
import com.intellij.openapi.roots.OrderEnumerator;
12+
import com.intellij.openapi.startup.StartupActivity;
13+
import com.microsoft.azure.toolkit.intellij.azuresdk.service.WorkspaceTaggingService;
14+
import com.microsoft.azure.toolkit.lib.common.telemetry.AzureTelemeter;
15+
import com.microsoft.azure.toolkit.lib.common.telemetry.Telemetry;
16+
import org.apache.commons.lang.StringUtils;
17+
import org.jetbrains.annotations.NotNull;
18+
19+
import java.util.HashMap;
20+
import java.util.Map;
21+
import java.util.Set;
22+
import java.util.regex.Matcher;
23+
import java.util.regex.Pattern;
24+
25+
public class WorkspaceTaggingActivity implements StartupActivity.DumbAware {
26+
private static final Pattern PATTERN = Pattern.compile("(Gradle|Maven): (.+):(.+):(.+)");
27+
private static final String WORKSPACE_TAGGING = "workspace-tagging";
28+
private static final String OPERATION_NAME = "operationName";
29+
private static final String SERVICE_NAME = "serviceName";
30+
private static final String SYSTEM = "system";
31+
private static final String TAG = "tag";
32+
33+
@Override
34+
public void runActivity(@NotNull final Project project) {
35+
ApplicationManager.getApplication().executeOnPooledThread(() -> ReadAction.nonBlocking(() -> trackProjectDependencies(project)).executeSynchronously());
36+
}
37+
38+
private void trackProjectDependencies(@NotNull final Project project) {
39+
final Set<String> tagSet = new java.util.HashSet<>();
40+
OrderEnumerator.orderEntries(project).forEachLibrary(library -> {
41+
if (StringUtils.isEmpty(library.getName())) {
42+
return true;
43+
}
44+
final Matcher matcher = PATTERN.matcher(library.getName());
45+
if (matcher.matches()) {
46+
final String tag = WorkspaceTaggingService.getWorkspaceTag(matcher.group(2), matcher.group(3));
47+
if (StringUtils.isNotEmpty(tag)) {
48+
tagSet.add(tag);
49+
}
50+
}
51+
return true;
52+
});
53+
sendWorkspaceTaggingTelemetry(tagSet);
54+
}
55+
56+
private void sendWorkspaceTaggingTelemetry(final Set<String> tagSet) {
57+
final Map<String, String> properties = new HashMap<>();
58+
properties.put(SERVICE_NAME, SYSTEM);
59+
properties.put(OPERATION_NAME, WORKSPACE_TAGGING);
60+
properties.put(TAG, StringUtils.join(tagSet, ","));
61+
AzureTelemeter.log(Telemetry.Type.INFO, properties);
62+
}
63+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*/
5+
6+
package com.microsoft.azure.toolkit.intellij.azuresdk.model;
7+
8+
import com.fasterxml.jackson.annotation.JsonProperty;
9+
import lombok.Getter;
10+
import lombok.NoArgsConstructor;
11+
import lombok.ToString;
12+
13+
@ToString
14+
@Getter
15+
@NoArgsConstructor
16+
public class AzureJavaSdkEntity {
17+
@JsonProperty("Package")
18+
private String packageName;
19+
@JsonProperty("GroupId")
20+
private String groupId;
21+
@JsonProperty("VersionGA")
22+
private String versionGA;
23+
@JsonProperty("VersionPreview")
24+
private String versionPreview;
25+
@JsonProperty("DisplayName")
26+
private String displayName;
27+
@JsonProperty("ServiceName")
28+
private String serviceName;
29+
@JsonProperty("RepoPath")
30+
private String repoPath;
31+
@JsonProperty("MSDocs")
32+
private String msDocs;
33+
@JsonProperty("GHDocs")
34+
private String ghDocs;
35+
@JsonProperty("Type")
36+
private String type;
37+
@JsonProperty("New")
38+
private Boolean isNew; // New
39+
@JsonProperty("PlannedVersions")
40+
private String plannedVersions;
41+
@JsonProperty(value = "Hide")
42+
private Boolean isHide;
43+
@JsonProperty("Notes")
44+
private String notes;
45+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright (c) Microsoft Corporation. All rights reserved.
3+
* Licensed under the MIT License. See License.txt in the project root for license information.
4+
*/
5+
6+
package com.microsoft.azure.toolkit.intellij.azuresdk.model;
7+
8+
import lombok.Getter;
9+
import lombok.NoArgsConstructor;
10+
import lombok.ToString;
11+
12+
@ToString
13+
@Getter
14+
@NoArgsConstructor
15+
public class WorkspaceTagEntity {
16+
private String groupId;
17+
private String artifactId;
18+
private String tag;
19+
}

PluginsAndFeatures/azure-toolkit-for-intellij/azure-sdk-reference-book/src/main/java/com/microsoft/azure/toolkit/intellij/azuresdk/referencebook/AzureSdkTreePanel.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,9 @@ private void filter(final String text) {
9595
this.loadData(this.services, filters);
9696
}
9797

98-
public void refresh() {
99-
final AzureSdkLibraryService service = AzureSdkLibraryService.getInstance();
98+
public void refresh(boolean... force) {
10099
try {
101-
service.reloadAzureSDKArtifacts();
102-
this.services = service.getServices();
100+
this.services = AzureSdkLibraryService.loadAzureSdkServices(force);
103101
this.filter.debounce();
104102
Optional.ofNullable(this.lastNodePath).ifPresent(p -> TreeUtil.selectPath(this.tree, p));
105103
} catch (final IOException e) {
@@ -176,7 +174,7 @@ public final void actionPerformed(@NotNull final AnActionEvent e) {
176174
this.loading = true;
177175
ActivityTracker.getInstance().inc();
178176
AzureTaskManager.getInstance().runLater(() -> {
179-
AzureSdkTreePanel.this.refresh();
177+
AzureSdkTreePanel.this.refresh(true);
180178
this.loading = false;
181179
});
182180
}

0 commit comments

Comments
 (0)