code_samples: migrate gradle build scripts from groovy to kotlin + aligned docs

This commit is contained in:
Karol Lewandowski 2022-03-24 14:54:31 +01:00 committed by GitHub
parent 4980a715e8
commit 4a8fb8b2b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
91 changed files with 888 additions and 797 deletions

View File

@ -78,10 +78,12 @@ jobs:
- name: Run Plugin Verifier - name: Run Plugin Verifier
run: | run: |
echo " echo "
tasks {
runPluginVerifier { runPluginVerifier {
ideVersions = '$PLUGIN_VERIFIER_IDE_VERSIONS'.split(' ').toList() ideVersions.set("\"$PLUGIN_VERIFIER_IDE_VERSIONS\"".split(' ').toList())
} }
" >> code_samples/${{ matrix.plugin }}/build.gradle }
" >> code_samples/${{ matrix.plugin }}/build.gradle.kts
cd code_samples/${{ matrix.plugin }} cd code_samples/${{ matrix.plugin }}
./gradlew runPluginVerifier -Pplugin.verifier.home.dir=${{ steps.properties.outputs.pluginVerifierHomeDir }} ./gradlew runPluginVerifier -Pplugin.verifier.home.dir=${{ steps.properties.outputs.pluginVerifierHomeDir }}

View File

@ -1,26 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
// Composite Build for all SDK Code Sample projects (excluding those under /product_specific/ to reduce dependencies)
rootProject.name = 'SDK Code Samples'
includeBuild '../action_basics'
includeBuild '../comparing_references_inspection'
includeBuild '../conditional_operator_intention'
includeBuild '../editor_basics'
includeBuild '../facet_basics'
includeBuild '../framework_basics'
includeBuild '../inspection_basics'
includeBuild '../kotlin_demo'
includeBuild '../live_templates'
includeBuild '../max_opened_projects'
includeBuild '../module'
includeBuild '../project_model'
includeBuild '../project_view_pane'
includeBuild '../project_wizard'
includeBuild '../psi_demo'
includeBuild '../run_configuration'
includeBuild '../settings'
includeBuild '../simple_language_plugin'
includeBuild '../tool_window'
includeBuild '../tree_structure_provider'

View File

@ -0,0 +1,26 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
// Composite Build for all SDK Code Sample projects (excluding those under /product_specific/ to reduce dependencies)
rootProject.name = "SDK Code Samples"
includeBuild("../action_basics")
includeBuild("../comparing_references_inspection")
includeBuild("../conditional_operator_intention")
includeBuild("../editor_basics")
includeBuild("../facet_basics")
includeBuild("../framework_basics")
includeBuild("../inspection_basics")
includeBuild("../kotlin_demo")
includeBuild("../live_templates")
includeBuild("../max_opened_projects")
includeBuild("../module")
includeBuild("../project_model")
includeBuild("../project_view_pane")
includeBuild("../project_wizard")
includeBuild("../psi_demo")
includeBuild("../run_configuration")
includeBuild("../settings")
includeBuild("../simple_language_plugin")
includeBuild("../tool_window")
includeBuild("../tree_structure_provider")

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'action'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "action"

View File

@ -1,41 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
dependencies {
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
}
test {
// Set idea.home.path to the absolute path to the intellij-community source
// on your local machine.
systemProperty "idea.home.path", "/Users/jhake/Documents/source/comm"
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
plugins = ['com.intellij.java']
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,45 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
dependencies {
testImplementation("junit:junit:4.13.2")
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
plugins.set(listOf("com.intellij.java"))
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
test {
// Set idea.home.path to the absolute path to the intellij-community source
// on your local machine.
systemProperty("idea.home.path", "/Users/jhake/Documents/source/comm")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'comparing_references_inspection'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "comparing_references_inspection"

View File

@ -1,4 +1,4 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. // Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package org.intellij.sdk.codeInspection; package org.intellij.sdk.codeInspection;
@ -11,7 +11,7 @@ import java.util.List;
/** /**
* Class for testing ComparingReferencesInspection. * Class for testing ComparingReferencesInspection.
* Requires {@code idea.home.path} to be set in build.gradle. * Requires {@code idea.home.path} to be set in build.gradle.kts.
* doTest() does the work for individual test cases. * doTest() does the work for individual test cases.
*/ */
public class ComparingReferencesInspectionTest extends LightJavaCodeInsightFixtureTestCase { public class ComparingReferencesInspectionTest extends LightJavaCodeInsightFixtureTestCase {

View File

@ -1,41 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
dependencies {
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
}
test {
// Set idea.home.path to the absolute path to the intellij-community source
// on your local machine.
systemProperty "idea.home.path", "/Users/jhake/Documents/source/comm"
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
plugins = ['com.intellij.java']
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,45 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
dependencies {
testImplementation("junit:junit:4.13.2")
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
plugins.set(listOf("com.intellij.java"))
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
test {
// Set idea.home.path to the absolute path to the intellij-community source
// on your local machine.
systemProperty("idea.home.path", "/Users/jhake/Documents/source/comm")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'conditional_operator_intention'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "conditional_operator_intention"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "com.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'editor'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "editor"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'facet'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "facet"

View File

@ -1,31 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
plugins = ['com.intellij.java']
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '202'
untilBuild = '203.*'
}

View File

@ -0,0 +1,35 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
plugins.set(listOf("com.intellij.java"))
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("202")
untilBuild.set("203.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'framework'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "framework"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "com.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'inspection'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "inspection"

View File

@ -1,42 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
id 'org.jetbrains.kotlin.jvm' version '1.6.10'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}
compileKotlin {
kotlinOptions.jvmTarget = "11"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "11"
}

View File

@ -0,0 +1,43 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
id("org.jetbrains.kotlin.jvm") version "1.6.10"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
compileKotlin {
kotlinOptions.jvmTarget = "11"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "11"
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'kotlin'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "kotlin"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'live_templates'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "live_templates"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'maxOpenProjects'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "maxOpenProjects"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'module'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "module"

View File

@ -1,33 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'com.intellij.sdk'
version '0.1.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.2'
type = 'PY'
plugins = ["Pythonid"]
downloadSources = false
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '212'
untilBuild = '213.*'
}

View File

@ -0,0 +1,37 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "com.intellij.sdk"
version = "0.1.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.2")
type.set("PY")
plugins.set(listOf("Pythonid"))
downloadSources.set(false)
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("212")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'pycharm'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "pycharm"

View File

@ -1,31 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
plugins = ['com.intellij.java']
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,35 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
plugins.set(listOf("com.intellij.java"))
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'project_model'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "project_model"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'project_view_pane'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "project_view_pane"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'projectWizard'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "projectWizard"

View File

@ -1,31 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
plugins = ['com.intellij.java']
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,35 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "com.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
plugins.set(listOf("com.intellij.java"))
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'psi'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "psi"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "com.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'runConfiguration'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "runConfiguration"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1 +0,0 @@
rootProject.name = 'settings'

View File

@ -0,0 +1 @@
rootProject.name = "settings"

View File

@ -1,47 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
test {
// This path value is machine-specific placeholder text.
// Set idea.home.path to the absolute path to the intellij-community source
// on your local machine.
// Use variants described in https://docs.gradle.org/current/userguide/build_environment.html
// for real world projects.
systemProperty "idea.home.path", "/Users/jhake/Documents/source/comm"
}
// Include the generated files in the source set
sourceSets.main.java.srcDirs 'src/main/gen'
dependencies {
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
plugins = ['com.intellij.java']
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,56 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
// Include the generated files in the source set
sourceSets {
main {
java {
srcDirs("src/main/gen")
}
}
}
dependencies {
testImplementation("junit:junit:4.13.2")
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
plugins.set(listOf("com.intellij.java"))
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
test {
// This path value is a machine-specific placeholder text.
// Set idea.home.path to the absolute path to the intellij-community source
// on your local machine. For real world projects, use variants described in:
// https://docs.gradle.org/current/userguide/build_environment.html
systemProperty("idea.home.path", "/Users/jhake/Documents/source/comm")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'simple_language_plugin'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "simple_language_plugin"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'toolWindow'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "toolWindow"

View File

@ -1,30 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
plugins {
id 'java'
id 'org.jetbrains.intellij' version '1.4.0'
}
group 'org.intellij.sdk'
version '2.0.0'
sourceCompatibility = 11
repositories {
mavenCentral()
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version = '2021.1.3'
}
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version = project.version
sinceBuild = '211'
untilBuild = '213.*'
}

View File

@ -0,0 +1,34 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
plugins {
id("java")
id("org.jetbrains.intellij") version "1.4.0"
}
group = "org.intellij.sdk"
version = "2.0.0"
repositories {
mavenCentral()
}
java {
sourceCompatibility = JavaVersion.VERSION_11
}
// See https://github.com/JetBrains/gradle-intellij-plugin/
intellij {
version.set("2021.1.3")
}
tasks {
buildSearchableOptions {
enabled = false
}
patchPluginXml {
version.set("${project.version}")
sinceBuild.set("211")
untilBuild.set("213.*")
}
}

View File

@ -1,3 +0,0 @@
// Copyright 2000-2022 JetBrains s.r.o. and other contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
rootProject.name = 'treeStructureProvider'

View File

@ -0,0 +1,3 @@
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
rootProject.name = "treeStructureProvider"

View File

@ -11,6 +11,9 @@ See [GitHub Changelog](https://github.com/JetBrains/intellij-sdk-docs/commits/ma
### March-22 ### March-22
Code Samples Build Scripts Migrated to Kotlin
: [All samples](https://github.com/JetBrains/intellij-sdk-docs/tree/main/code_samples) now use Kotlin DSL in Gradle build scripts.
Android Studio Releases List Android Studio Releases List
: Add [](android_studio_releases_list.md) section containing a complete list of the Android Studio releases with the relevant IntelliJ IDEA release version specified. : Add [](android_studio_releases_list.md) section containing a complete list of the Android Studio releases with the relevant IntelliJ IDEA release version specified.

View File

@ -116,35 +116,35 @@ code_samples/
java/ java/
org.intellij.sdk.foo/ org.intellij.sdk.foo/
resources/ resources/
build.gradle build.gradle.kts
gradlew gradlew
gradle.bat gradle.bat
settings.gradle settings.gradle.kts
README.md README.md
``` ```
## build.gradle Conventions ## Gradle Build Script Conventions
SDK code samples should be developed [using Gradle](gradle_build_system.md). SDK code samples should be developed [using Gradle](gradle_build_system.md).
As of this writing, the use of Gradle in SDK code samples still relies heavily on the <path>plugin.xml</path> for specifying the plugin configuration. As of this writing, the use of Gradle in SDK code samples still relies heavily on the <path>plugin.xml</path> for specifying the plugin configuration.
At a later, second phase, the SDK code samples will transition to rely more on the Gradle configuration. At a later, second phase, the SDK code samples will transition to rely more on the Gradle configuration.
The default contents of a <path>build.gradle</path> file are produced by the [New Project Wizard](gradle_prerequisites.md#creating-a-gradle-based-intellij-platform-plugin-with-new-project-wizard). The default contents of a Gradle build script file are produced by the [New Project Wizard](gradle_prerequisites.md#creating-a-gradle-based-intellij-platform-plugin-with-new-project-wizard).
A consistent structure for an SDK code sample's <path>build.gradle</path> file is essential for clarity and is based on the default produced by the project wizard. A consistent structure for an SDK code sample's Gradle build script file is essential for clarity and is based on the default produced by the project wizard.
Comments in SDK code sample <path>build.gradle</path> files should only draw attention to the parts of the Gradle configuration that are unique for a plugin. Comments in SDK code sample Gradle build scripts should only draw attention to the parts of the Gradle configuration that are unique for a plugin.
For SDK code samples, a few alterations are needed to the default <path>build.gradle</path> file produced by the plugin wizard: For SDK code samples, a few alterations are needed to the default <path>build.gradle.kts</path> file produced by the plugin wizard:
* Maintain the Gradle properties `version` (`project.version`) and `group` (`project.group`). * Maintain the Gradle properties `version` (`project.version`) and `group` (`project.group`).
See the [Plugin Gradle Properties](gradle_prerequisites.md#plugin-gradle-properties-and-plugin-configuration-file-elements) section for how these Gradle properties relate to the elements in <path>plugin.xml</path>. See the [Plugin Gradle Properties](gradle_prerequisites.md#plugin-gradle-properties-and-plugin-configuration-file-elements) section for how these Gradle properties relate to the elements in <path>plugin.xml</path>.
* Add the following statement to the [Setup DSL](https://github.com/JetBrains/gradle-intellij-plugin#setup-dsl) (`intellij{}`) section: * Add the following statement to the [Setup DSL](https://github.com/JetBrains/gradle-intellij-plugin#setup-dsl) (`intellij {...}`) section:
```groovy ```kotlin
// Prevents patching <idea-version> attributes in plugin.xml // Prevents patching <idea-version> attributes in plugin.xml
updateSinceUntilBuild = false updateSinceUntilBuild.set(false)
``` ```
* Add the following statement to the [Patching DSL](https://github.com/JetBrains/gradle-intellij-plugin#patching-dsl) (`patchPluginXml{}`) section: * Add the following statement to the [Patching DSL](https://github.com/JetBrains/gradle-intellij-plugin#patching-dsl) (`patchPluginXml {...}`) section:
```groovy ```kotlin
// Patches <version> value in plugin.xml // Patches <version> value in plugin.xml
version = project.version version.set(project.version)
``` ```
## plugin.xml Conventions ## plugin.xml Conventions

View File

@ -84,11 +84,11 @@ Please see [Third-Party Software and Licenses](https://www.jetbrains.com/legal/t
Plugins using the [Gradle Build System](gradle_build_system.md) use the [Kotlin JVM Gradle plugin](https://kotlinlang.org/docs/gradle.html#targeting-the-jvm). Plugins using the [Gradle Build System](gradle_build_system.md) use the [Kotlin JVM Gradle plugin](https://kotlinlang.org/docs/gradle.html#targeting-the-jvm).
See the <path>build.gradle</path> from [kotlin_demo](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/kotlin_demo) sample plugin: See the <path>build.gradle.kts</path> from [kotlin_demo](https://github.com/JetBrains/intellij-sdk-code-samples/tree/main/kotlin_demo) sample plugin:
```groovy ```kotlin
``` ```
{src="kotlin_demo/build.gradle"} {src="kotlin_demo/build.gradle.kts" lines="2-"}
### Use Kotlin for Gradle Build Scripts ### Use Kotlin for Gradle Build Scripts