diff --git a/build.gradle.kts b/build.gradle.kts
index 0271d5cba28cbad34d62dd1c57edabc64548dcfb..916820e680c89c73b57738ccdabf7e2497f2af95 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,7 +1,7 @@
 import io.gitlab.arturbosch.detekt.Detekt
 import org.jetbrains.changelog.markdownToHTML
-import org.jetbrains.grammarkit.tasks.GenerateLexer
-import org.jetbrains.grammarkit.tasks.GenerateParser
+import org.jetbrains.grammarkit.tasks.GenerateLexerTask
+import org.jetbrains.grammarkit.tasks.GenerateParserTask
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 fun properties(key: String) = project.findProperty(key).toString()
@@ -22,7 +22,7 @@ plugins {
     // ktlint linter - read more: https://github.com/JLLeitschuh/ktlint-gradle
     id("org.jlleitschuh.gradle.ktlint") version "10.2.0"
 
-    id("org.jetbrains.grammarkit") version "2021.1.3"
+    id("org.jetbrains.grammarkit") version "2022.3.1"
 }
 
 group = properties("pluginGroup")
@@ -87,36 +87,36 @@ detekt {
 
 tasks {
 
-    val generateGrammarLexer = task<GenerateLexer>("generateGrammarLexer") {
-        source = "src/main/grammar/Grammar.flex"
-        targetDir = "src/gen/java/org/jastadd/tooling/grammar/lexer/"
-        targetClass = "GrammarLexer"
-        purgeOldFiles = true
+    val generateGrammarLexer = task<GenerateLexerTask>("generateGrammarLexer") {
+        sourceFile.set(file("src/main/grammar/Grammar.flex"))
+        targetDir.set("src/gen/java/org/jastadd/tooling/grammar/lexer/")
+        targetClass.set("GrammarLexer")
+        purgeOldFiles.set(true)
     }
 
     // not fully working because of https://github.com/JetBrains/gradle-grammar-kit-plugin/issues/3
-    val generateGrammarParser = task<GenerateParser>("generateGrammarParser") {
-        source = "src/main/grammar/Grammar.bnf"
-        targetRoot = "src/gen/java"
-        pathToParser = "/org/jastadd/tooling/grammar/GrammarParser.java"
-        pathToPsiRoot = "/org/jastadd/tooling/grammar/psi"
-        purgeOldFiles = true
+    val generateGrammarParser = task<GenerateParserTask>("generateGrammarParser") {
+        sourceFile.set(file("src/main/grammar/Grammar.bnf"))
+        targetRoot.set("src/gen/java")
+        pathToParser.set("/org/jastadd/tooling/grammar/GrammarParser.java")
+        pathToPsiRoot.set("/org/jastadd/tooling/grammar/psi")
+        purgeOldFiles.set(true)
     }
 
-    val generateAspectLexer = task<GenerateLexer>("generateAspectLexer") {
-        source = "src/main/grammar/Aspect.flex"
-        targetDir = "src/gen/java/org/jastadd/tooling/aspect/lexer/"
-        targetClass = "AspectLexer"
-        purgeOldFiles = true
+    val generateAspectLexer = task<GenerateLexerTask>("generateAspectLexer") {
+        sourceFile.set(file("src/main/grammar/Aspect.flex"))
+        targetDir.set("src/gen/java/org/jastadd/tooling/aspect/lexer/")
+        targetClass.set("AspectLexer")
+        purgeOldFiles.set(true)
     }
 
     // not fully working because of https://github.com/JetBrains/gradle-grammar-kit-plugin/issues/3
-    val generateAspectParser = task<GenerateParser>("generateAspectParser") {
-        source = "src/main/grammar/Aspect.bnf"
-        targetRoot = "src/gen/java"
-        pathToParser = "/org/jastadd/tooling/aspect/AspectParser.java"
-        pathToPsiRoot = "/org/jastadd/tooling/aspect/psi"
-        purgeOldFiles = true
+    val generateAspectParser = task<GenerateParserTask>("generateAspectParser") {
+        sourceFile.set(file("src/main/grammar/Aspect.bnf"))
+        targetRoot.set("src/gen/java")
+        pathToParser.set("/org/jastadd/tooling/aspect/AspectParser.java")
+        pathToPsiRoot.set("/org/jastadd/tooling/aspect/psi")
+        purgeOldFiles.set(true)
     }
 
     compileJava {
@@ -128,15 +128,15 @@ tasks {
 
     // Set the compatibility versions to 1.8
     withType<JavaCompile> {
-        sourceCompatibility = "1.8"
-        targetCompatibility = "1.8"
+        sourceCompatibility = "17"
+        targetCompatibility = "17"
     }
     withType<KotlinCompile> {
-        kotlinOptions.jvmTarget = "1.8"
+        kotlinOptions.jvmTarget = "17"
     }
 
     withType<Detekt> {
-        jvmTarget = "1.8"
+        jvmTarget = "17"
     }
 
     patchPluginXml {
@@ -165,6 +165,11 @@ tasks {
         ideVersions.set(properties("pluginVerifierIdeVersions").split(',').map(String::trim).filter(String::isNotEmpty))
     }
 
+    buildSearchableOptions {
+        // otherwise the build fails
+        enabled = false
+    }
+
     publishPlugin {
         dependsOn("patchChangelog")
         token.set(System.getenv("PUBLISH_TOKEN"))
diff --git a/gradle.properties b/gradle.properties
index 859f1e75550bf41b93008e52ab0c136bf660cd8b..b46a19e92d441dd07869b68cbdf4922c9dbc24eb 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -7,15 +7,15 @@ pluginVersion = 0.3.1
 
 # See https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
 # for insight into build numbers and IntelliJ Platform versions.
-pluginSinceBuild = 211
+pluginSinceBuild = 222
 pluginUntilBuild = 231.*
 
 # Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl
 # See https://jb.gg/intellij-platform-builds-list for available build versions.
-pluginVerifierIdeVersions = 2021.1.3, 2021.2.4, 2021.3.3, 2022.1.4, 2022.2.4, 2022.3.1, 2023.1.2
+pluginVerifierIdeVersions = 2022.2.4, 2022.3.1, 2023.1.2
 
 platformType = IC
-platformVersion = 2023.1.2
+platformVersion = 2022.3.1
 platformDownloadSources = true
 
 # Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 3ab0b725efcd0688fc0bb2b08f7002308d2e1961..070cb702f09eda497286745407381bcc5dfe94fc 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists