Skip to content

Commit 695bc58

Browse files
committed
minor improvements
- upgraded core lib - update Gradle projects after they were loaded too - updated plugin icon - added progress bar to notify the user about whats going on
1 parent 726667a commit 695bc58

File tree

7 files changed

+53
-31
lines changed

7 files changed

+53
-31
lines changed

CHANGELOG.md

+4-8
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,12 @@
44

55
## [Unreleased]
66
### Added
7+
- Added simple progress bar to notify the user about the running Project-Env process.
78

89
### Changed
9-
10-
### Deprecated
11-
12-
### Removed
13-
14-
### Fixed
15-
16-
### Security
10+
- Updated Project-Env core library to version `1.1.0`.
11+
- Gradle project's are updated now after they were loaded too.
12+
- Improved plugin icon.
1713

1814
## [1.0.1]
1915
### Fixed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# project-env-intellij-plugin
1+
# Project-Env IntelliJ-Plugin
22

33
![Build](https://github.com/Project-Env/project-env-intellij-plugin/workflows/Build/badge.svg)
44
[![Version](https://img.shields.io/jetbrains/plugin/v/15746-project-env.svg)](https://plugins.jetbrains.com/plugin/15746-project-env)

build.gradle.kts

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ repositories {
4343
}
4444
}
4545
dependencies {
46-
implementation("io.projectenv:core:1.0.0")
46+
implementation("io.projectenv:core:1.1.0")
4747
testImplementation("org.assertj:assertj-core:3.19.0")
4848
}
4949

gradle.properties

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33

44
pluginGroup = io.projectenv.intellijplugin
55
pluginName_ = Project-Env
6-
pluginVersion = 1.0.1
6+
pluginVersion = 1.1.0
77
pluginSinceBuild = 203
8-
pluginUntilBuild = 203.*
8+
pluginUntilBuild = 211.*
99
# Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl
1010
# See https://jb.gg/intellij-platform-builds-list for available build versions
11-
pluginVerifierIdeVersions = 2020.3
11+
pluginVerifierIdeVersions = 2021.1
1212

1313
platformType = IU
14-
platformVersion = 2020.3
14+
platformVersion = LATEST-EAP-SNAPSHOT
1515
platformDownloadSources = true
1616
# Plugin Dependencies -> https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_dependencies.html
1717
# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22

src/main/kotlin/io/projectenv/intellijplugin/configurers/gradle/GradleConfigurer.kt

+7
Original file line numberDiff line numberDiff line change
@@ -29,5 +29,12 @@ class GradleConfigurer(val project: Project) : ToolConfigurer<GradleInfo> {
2929
projectSettings.gradleHome = toolInfo.location.canonicalPath
3030
}
3131
}
32+
33+
override fun onProjectsLoaded(settings: MutableCollection<GradleProjectSettings>) {
34+
for (projectSettings in settings) {
35+
projectSettings.distributionType = DistributionType.LOCAL
36+
projectSettings.gradleHome = toolInfo.location.canonicalPath
37+
}
38+
}
3239
}
3340
}

src/main/kotlin/io/projectenv/intellijplugin/services/impl/ProjectEnvServiceImpl.kt

+30-11
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package io.projectenv.intellijplugin.services.impl
22

3+
import com.intellij.openapi.application.ApplicationManager
34
import com.intellij.openapi.components.service
45
import com.intellij.openapi.extensions.ProjectExtensionPointName
6+
import com.intellij.openapi.progress.ProgressManager
57
import com.intellij.openapi.project.Project
68
import io.projectenv.core.configuration.ProjectEnvConfiguration
79
import io.projectenv.core.configuration.ProjectEnvConfigurationFactory
@@ -10,23 +12,40 @@ import io.projectenv.core.toolinfo.ToolInfo
1012
import io.projectenv.intellijplugin.configurers.ToolConfigurer
1113
import io.projectenv.intellijplugin.services.ExecutionEnvironmentService
1214
import io.projectenv.intellijplugin.services.ProjectEnvService
15+
import org.slf4j.LoggerFactory
1316
import java.io.File
1417

1518
class ProjectEnvServiceImpl(val project: Project) : ProjectEnvService {
1619

17-
private val TOOL_CONFIGURER_EXTENSION_POINT_NAME: ProjectExtensionPointName<ToolConfigurer<ToolInfo>> =
20+
private val logger = LoggerFactory.getLogger(this.javaClass)
21+
22+
private val toolConfigurerExtensionPoint: ProjectExtensionPointName<ToolConfigurer<ToolInfo>> =
1823
ProjectExtensionPointName("ch.repolevedavaj.projectenv.intellijplugin.toolConfigurer")
1924

2025
override fun refreshProjectEnv() {
21-
val configurationFile = File(project.basePath, "project-env.yml")
22-
if (configurationFile.exists()) {
23-
val projectEnvConfiguration: ProjectEnvConfiguration =
24-
ProjectEnvConfigurationFactory.createFromFile(configurationFile)
25-
26-
val toolDetailsList = installTools(projectEnvConfiguration)
27-
configureExecutionEnvironment(toolDetailsList)
28-
configureTools(toolDetailsList)
29-
}
26+
ProgressManager.getInstance().runProcessWithProgressSynchronously(
27+
{
28+
try {
29+
val configurationFile = File(project.basePath, "project-env.yml")
30+
if (configurationFile.exists()) {
31+
val projectEnvConfiguration: ProjectEnvConfiguration =
32+
ProjectEnvConfigurationFactory.createFromFile(configurationFile)
33+
34+
val toolDetailsList = installTools(projectEnvConfiguration)
35+
configureExecutionEnvironment(toolDetailsList)
36+
37+
ApplicationManager.getApplication().invokeLater {
38+
configureTools(toolDetailsList)
39+
}
40+
}
41+
} catch (exception: Exception) {
42+
logger.error("failed to refresh project environment", exception)
43+
}
44+
},
45+
"Installing Project-Env",
46+
false,
47+
project
48+
)
3049
}
3150

3251
private fun installTools(projectEnvConfiguration: ProjectEnvConfiguration): List<ToolInfo> {
@@ -51,7 +70,7 @@ class ProjectEnvServiceImpl(val project: Project) : ProjectEnvService {
5170

5271
private fun configureTools(toolInfos: List<ToolInfo>) {
5372
for (toolInfo in toolInfos) {
54-
for (toolConfigurer in TOOL_CONFIGURER_EXTENSION_POINT_NAME.extensions(project)) {
73+
for (toolConfigurer in toolConfigurerExtensionPoint.extensions(project)) {
5574
if (toolConfigurer.supportsType(toolInfo)) {
5675
toolConfigurer.configureTool(toolInfo)
5776
}

src/main/resources/META-INF/pluginIcon.svg

+6-6
Loading

0 commit comments

Comments
 (0)