Skip to content

Commit

Permalink
version 1.1.2 for PhpStorm 2023.1 (#23)
Browse files Browse the repository at this point in the history
  • Loading branch information
Danil42Russia authored Aug 15, 2023
1 parent 36b7c72 commit 94c65e8
Show file tree
Hide file tree
Showing 14 changed files with 81 additions and 70 deletions.
22 changes: 0 additions & 22 deletions .run/Run IDE for UI Tests.run.xml

This file was deleted.

14 changes: 12 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
# Modulite Changelog

## 1.1.0
## [Unreleased]

## 1.1.2 — 14.08.2023

- Adapt code for PhpStorm 2023.1

## 1.1.1 - 14.12.2022

- Adapt code for PhpStorm 2022.3

## 1.1.0 — 21.11.2022

## 1.0.0 — 17.11.2022

First stable version.
- First stable version.
27 changes: 15 additions & 12 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
import org.jetbrains.changelog.Changelog

fun properties(key: String) = project.findProperty(key).toString()
fun properties(key: String) = providers.gradleProperty(key)

plugins {
// Java support
id("java")
// Kotlin support
id("org.jetbrains.kotlin.jvm") version "1.7.21"
id("org.jetbrains.kotlin.jvm") version "1.8.10"
// Gradle IntelliJ Plugin
id("org.jetbrains.intellij") version "1.10.0"
id("org.jetbrains.intellij") version "1.13.2"
// Gradle Changelog Plugin
id("org.jetbrains.changelog") version "2.0.0"
// Gradle Kover Plugin
id("org.jetbrains.kotlinx.kover") version "0.6.1"
}

group = properties("pluginGroup")
version = properties("pluginVersion")
group = properties("pluginGroup").get()
version = properties("pluginVersion").get()

// Configure project's dependencies
repositories {
mavenCentral()
}

// Set the JVM language level used to build project. Use Java 11 for 2020.3+, and Java 17 for 2022.2+.
// Set the JVM language level used to build the project. Use Java 11 for 2020.3+, and Java 17 for 2022.2+.
kotlin {
jvmToolchain(17)
}
Expand All @@ -33,19 +33,19 @@ dependencies {
testImplementation("org.junit.jupiter:junit-jupiter")
}

// Configure Gradle IntelliJ Plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin
// Configure Gradle IntelliJ Plugin - read more: https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html
intellij {
pluginName.set(properties("pluginName"))
version.set(properties("platformVersion"))
type.set(properties("platformType"))

// Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file.
plugins.set(properties("platformPlugins").split(',').map(String::trim).filter(String::isNotEmpty))
plugins.set(properties("platformPlugins").map { it.split(',').map(String::trim).filter(String::isNotEmpty) })
}

// Configure Gradle Changelog Plugin - read more: https://github.com/JetBrains/gradle-changelog-plugin
changelog {
groups.set(emptyList())
groups.empty()
repositoryUrl.set(properties("pluginRepositoryUrl"))
}

Expand All @@ -56,19 +56,22 @@ kover.xmlReport {

tasks {
wrapper {
gradleVersion = properties("gradleVersion")
gradleVersion = properties("gradleVersion").get()
}

patchPluginXml {
version.set(properties("pluginVersion"))
sinceBuild.set(properties("pluginSinceBuild"))
untilBuild.set(properties("pluginUntilBuild"))

val changelog = project.changelog // local variable for configuration cache compatibility
// Get the latest available change notes from the changelog file
changeNotes.set(provider {
changeNotes.set(properties("pluginVersion").map { pluginVersion ->
with(changelog) {
renderItem(
getOrNull(properties("pluginVersion")) ?: getLatest(),
(getOrNull(pluginVersion) ?: getUnreleased())
.withHeader(false)
.withEmptySections(false),
Changelog.OutputType.HTML,
)
}
Expand Down
12 changes: 6 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@ pluginName = modulite
pluginRepositoryUrl = https://github.com/VKCOM/modulite

# SemVer format -> https://semver.org
pluginVersion = 1.1.1
pluginVersion = 1.1.2

# See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
# for insight into build numbers and IntelliJ Platform versions.
pluginSinceBuild = 223
pluginUntilBuild = 223.*
pluginSinceBuild = 231
pluginUntilBuild = 231.*

# IntelliJ Platform Properties -> https://github.com/JetBrains/gradle-intellij-plugin#intellij-platform-properties
platformType = IU
platformVersion = 2022.3
platformVersion = 2023.1

# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22
# PHP Plugin - https://plugins.jetbrains.com/plugin/6610-php/versions
# YAML Plugin - https://plugins.jetbrains.com/plugin/13126-yaml/versions
platformPlugins = com.jetbrains.php:223.7571.212, org.jetbrains.plugins.yaml:223.7571.125
platformPlugins = com.jetbrains.php:231.8109.199, org.jetbrains.plugins.yaml:231.8109.126

# Gradle Releases -> https://github.com/gradle/gradle/releases
gradleVersion = 7.6
gradleVersion = 8.0.2

# Opt-out flag for bundling Kotlin standard library.
# See https://plugins.jetbrains.com/docs/intellij/kotlin.html#kotlin-standard-library for details.
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
16 changes: 10 additions & 6 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -85,9 +85,6 @@ done
APP_BASE_NAME=${0##*/}
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit

# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum

Expand Down Expand Up @@ -133,26 +130,29 @@ location of your Java installation."
fi
else
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
if ! command -v java >/dev/null 2>&1
then
die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
fi

# Increase the maximum file descriptors if we can.
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC3045
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
# shellcheck disable=SC3045
# shellcheck disable=SC3045
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
Expand Down Expand Up @@ -197,6 +197,10 @@ if "$cygwin" || "$msys" ; then
done
fi


# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/com/vk/modulite/ModuliteStartupActivity.kt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
package com.vk.modulite

import com.intellij.openapi.project.Project
import com.intellij.openapi.startup.StartupActivity
import com.intellij.openapi.startup.ProjectActivity
import com.intellij.spellchecker.SpellCheckerManager

class ModuliteStartupActivity : StartupActivity {
override fun runActivity(project: Project) {
class ModuliteStartupActivity : ProjectActivity {
override suspend fun execute(project: Project) {
setupWordsForSpellChecker(project)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import com.intellij.util.indexing.FileBasedIndex
import com.vk.modulite.composer.ComposerPackage
import com.vk.modulite.index.ComposerFilesIndex

@Service
@Service(Service.Level.PROJECT)
class ComposerPackagesIndex(private var project: Project) {
companion object {
fun getInstance(project: Project) = project.service<ComposerPackagesIndex>()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import com.intellij.psi.search.searches.ReferencesSearch
import com.jetbrains.php.lang.psi.elements.PhpNamedElement
import com.jetbrains.php.lang.psi.elements.PhpReference

@Service
@Service(Service.Level.PROJECT)
class FindUsagesService(val project: Project) {
companion object {
fun getInstance(project: Project) = project.service<FindUsagesService>()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,26 @@ import com.intellij.openapi.components.service
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.progress.ProgressManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.roots.ContentIteratorEx
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiElement
import com.intellij.util.containers.TreeNodeProcessingResult
import com.jetbrains.php.lang.PhpLangUtil
import com.jetbrains.php.lang.documentation.phpdoc.psi.PhpDocType
import com.jetbrains.php.lang.psi.PhpFile
import com.jetbrains.php.lang.psi.elements.*
import com.jetbrains.php.lang.psi.elements.ClassConstantReference
import com.jetbrains.php.lang.psi.elements.ClassReference
import com.jetbrains.php.lang.psi.elements.ConstantReference
import com.jetbrains.php.lang.psi.elements.FieldReference
import com.jetbrains.php.lang.psi.elements.FunctionReference
import com.jetbrains.php.lang.psi.elements.Global
import com.jetbrains.php.lang.psi.elements.MethodReference
import com.jetbrains.php.lang.psi.elements.NewExpression
import com.jetbrains.php.lang.psi.elements.PhpNamedElement
import com.jetbrains.php.lang.psi.elements.PhpNamespace
import com.jetbrains.php.lang.psi.elements.PhpNamespaceReference
import com.jetbrains.php.lang.psi.elements.PhpReference
import com.jetbrains.php.lang.psi.elements.PhpUse
import com.jetbrains.php.lang.psi.elements.Variable
import com.jetbrains.php.lang.psi.elements.impl.FieldImpl
import com.jetbrains.php.lang.psi.elements.impl.FunctionImpl
import com.jetbrains.php.lang.psi.elements.impl.MethodImpl
Expand Down Expand Up @@ -129,7 +142,7 @@ data class ModuliteDeps(
fun isEmpty() = symbols.isEmpty()
}

@Service
@Service(Service.Level.PROJECT)
@Suppress("UnstableApiUsage")
class ModuliteDependenciesCollector(val project: Project) {
companion object {
Expand Down Expand Up @@ -206,10 +219,10 @@ class ModuliteDependenciesCollector(val project: Project) {
ProgressManager.checkCanceled()

if (isInnerModulite(file, moduliteConfig)) {
return@forEachFilesEx ContentIteratorEx.Status.SKIP_CHILDREN
return@forEachFilesEx TreeNodeProcessingResult.SKIP_CHILDREN
}

val psiFile = file.psiFile<PhpFile>(project) ?: return@forEachFilesEx ContentIteratorEx.Status.CONTINUE
val psiFile = file.psiFile<PhpFile>(project) ?: return@forEachFilesEx TreeNodeProcessingResult.CONTINUE

psiFile.accept(object : PhpRecursiveElementVisitor() {
override fun visitPhpClassReference(reference: ClassReference) {
Expand Down Expand Up @@ -387,7 +400,7 @@ class ModuliteDependenciesCollector(val project: Project) {
}
})

ContentIteratorEx.Status.CONTINUE
TreeNodeProcessingResult.CONTINUE
}

return ModuliteDeps(project, null, symbols.toList())
Expand Down
2 changes: 1 addition & 1 deletion src/main/kotlin/com/vk/modulite/services/ModuliteIndex.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import com.vk.modulite.psi.extensions.files.psiFile
import com.vk.modulite.psi.extensions.yaml.moduliteName
import org.jetbrains.yaml.psi.YAMLFile

@Service
@Service(Service.Level.PROJECT)
class ModuliteIndex(private var project: Project) {
companion object {
fun getInstance(project: Project) = project.service<ModuliteIndex>()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@ import com.intellij.openapi.components.service
import com.intellij.openapi.diagnostic.logger
import com.intellij.openapi.progress.ProgressManager
import com.intellij.openapi.project.Project
import com.intellij.openapi.roots.ContentIteratorEx
import com.intellij.openapi.vfs.VirtualFile
import com.intellij.util.containers.TreeNodeProcessingResult
import com.jetbrains.php.lang.psi.PhpFile
import com.jetbrains.php.lang.psi.elements.*
import com.jetbrains.php.lang.psi.elements.Constant
import com.jetbrains.php.lang.psi.elements.Function
import com.jetbrains.php.lang.psi.elements.PhpClass
import com.vk.modulite.SymbolName
import com.vk.modulite.psi.PhpRecursiveElementVisitor
import com.vk.modulite.psi.extensions.files.containingModulite
Expand All @@ -20,7 +21,7 @@ import com.vk.modulite.psi.extensions.php.symbolName
/**
* Собирает все символы определенные в текущей папке и всех подпапках.
*/
@Service
@Service(Service.Level.PROJECT)
@Suppress("UnstableApiUsage")
class ModuliteSymbolsCollector(val project: Project) {
companion object {
Expand All @@ -38,13 +39,14 @@ class ModuliteSymbolsCollector(val project: Project) {

if (ModuliteDependenciesCollector.isInnerModulite(file, moduliteConfig)) {
val innerModuliteConfig = file.findChild(".modulite.yaml")!!
val modulite = innerModuliteConfig.containingModulite(project) ?: return@files ContentIteratorEx.Status.CONTINUE
val modulite =
innerModuliteConfig.containingModulite(project) ?: return@files TreeNodeProcessingResult.CONTINUE
result.add(modulite.symbolName())

return@files ContentIteratorEx.Status.SKIP_CHILDREN
return@files TreeNodeProcessingResult.SKIP_CHILDREN
}

val psiFile = file.psiFile<PhpFile>(project) ?: return@files ContentIteratorEx.Status.CONTINUE
val psiFile = file.psiFile<PhpFile>(project) ?: return@files TreeNodeProcessingResult.CONTINUE

psiFile.accept(object : PhpRecursiveElementVisitor() {
override fun visitPhpClass(element: PhpClass) {
Expand All @@ -60,7 +62,7 @@ class ModuliteSymbolsCollector(val project: Project) {
}
})

ContentIteratorEx.Status.CONTINUE
TreeNodeProcessingResult.CONTINUE
}

return result
Expand Down
4 changes: 2 additions & 2 deletions src/main/kotlin/com/vk/modulite/utils/Utils.kt
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,7 @@ fun InspectionManager.createModuliteProblemDescriptor(
descriptionTemplate: @InspectionMessage String,
highlightType: ProblemHighlightType,
onTheFly: Boolean,
vararg fixes: LocalQuickFix?,
vararg fixes: LocalQuickFix,
) = createProblemDescriptor(
psiElement,
rangeInElement,
Expand All @@ -205,7 +205,7 @@ fun ProblemsHolder.registerModuliteProblem(
psiElement: PsiElement,
descriptionTemplate: @InspectionMessage String,
highlightType: ProblemHighlightType,
vararg fixes: LocalQuickFix?,
vararg fixes: LocalQuickFix,
) {
registerProblem(
psiElement,
Expand Down

0 comments on commit 94c65e8

Please sign in to comment.