// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. plugins { id 'org.jetbrains.intellij' version '1.1.4' id 'java' id "org.jetbrains.grammarkit" version '2021.1.3' id 'maven-publish' // to deploy the plugin into a Maven repo } defaultTasks 'buildPlugin' apply plugin: 'org.jetbrains.grammarkit' import org.jetbrains.grammarkit.tasks.GenerateLexer import org.jetbrains.grammarkit.tasks.GenerateParser task generateSdLexer(type: GenerateLexer) { source 'src/main/jflex/ai/vespa/intellij/schema/lexer/sd.flex' targetDir 'target/generated-sources/jflex/ai/vespa/intellij/schema/lexer/' targetClass 'SdLexer' purgeOldFiles true } task generateSdParser(type: GenerateParser) { source 'src/main/bnf/ai/vespa/intellij/schema/parser/sd.bnf' targetRoot 'target/generated-sources/bnf/' pathToParser 'ai/vespa/intellij/schema/parser/SdParser.java' pathToPsiRoot 'ai/vespa/intellij/schema/parser/psi/' purgeOldFiles true } compileJava { dependsOn generateSdLexer dependsOn generateSdParser } group 'ai.vespa' version '1.2.0' // Also update pom.xml version if this is changed sourceCompatibility = 11 // This "noinspection" comment below is here to fix a warning // noinspection GroovyAssignabilityCheck repositories { mavenCentral() } sourceSets.main.java.srcDirs = ['src/main/java', 'target/generated-sources/bnf', 'target/generated-sources/jflex'] // See https://github.com/JetBrains/gradle-intellij-plugin/ intellij { version = '2021.2' plugins = ['com.intellij.java'] } buildSearchableOptions { enabled = false } patchPluginXml { version = project.version sinceBuild = '203' untilBuild = '213.*' // in changeNotes you can add a description of the changes in this version (would appear in the plugin page in preferences\plugins) changeNotes = """ Complete grammar (no more red squiggles) """ } test { useJUnitPlatform() }