mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2026-11-05 15:19:12 +01:00
Our pipeline could mark issues on youtrack as fixed even if they were not in release branch. Added single script for all pipelines to deremine which commits enetered given release so changelog, whats new and release itself are using exactly same logic
101 lines
3.2 KiB
Kotlin
101 lines
3.2 KiB
Kotlin
/*
|
|
* Copyright 2003-2023 The IdeaVim authors
|
|
*
|
|
* Use of this source code is governed by an MIT-style
|
|
* license that can be found in the LICENSE.txt file or at
|
|
* https://opensource.org/licenses/MIT.
|
|
*/
|
|
|
|
plugins {
|
|
java
|
|
kotlin("jvm")
|
|
application
|
|
}
|
|
|
|
// group 'org.jetbrains.ideavim'
|
|
// version 'SNAPSHOT'
|
|
|
|
repositories {
|
|
maven { url = uri("https://cache-redirector.jetbrains.com/repo.maven.apache.org/maven2") }
|
|
maven { url = uri("https://jitpack.io") }
|
|
}
|
|
|
|
dependencies {
|
|
compileOnly("org.jetbrains.kotlin:kotlin-stdlib:2.4.20")
|
|
|
|
testImplementation("org.junit.jupiter:junit-jupiter:6.1.3")
|
|
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
|
|
|
|
implementation("io.ktor:ktor-client-core:3.6.0")
|
|
implementation("io.ktor:ktor-client-cio:3.6.0")
|
|
implementation("io.ktor:ktor-client-content-negotiation:3.6.0")
|
|
implementation("io.ktor:ktor-serialization-kotlinx-json:3.6.0")
|
|
implementation("io.ktor:ktor-client-auth:3.6.0")
|
|
implementation("org.eclipse.jgit:org.eclipse.jgit:6.6.0.202305301015-r")
|
|
|
|
// This is needed for jgit to connect to ssh
|
|
implementation("org.eclipse.jgit:org.eclipse.jgit.ssh.apache:7.8.0.202609011348-r")
|
|
implementation("com.vdurmont:semver4j:3.1.0")
|
|
}
|
|
|
|
val releaseType: String? by project
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
freeCompilerArgs = listOf("-Xjvm-default=all-compatibility")
|
|
}
|
|
}
|
|
|
|
tasks.register("calculateNewVersion", JavaExec::class) {
|
|
group = "release"
|
|
mainClass.set("scripts.release.CalculateNewVersionKt")
|
|
classpath = sourceSets["main"].runtimeClasspath
|
|
args = listOf("${rootProject.rootDir}", releaseType ?: "")
|
|
}
|
|
|
|
tasks.register("addReleaseTag", JavaExec::class) {
|
|
group = "release"
|
|
mainClass.set("scripts.release.AddReleaseTagKt")
|
|
classpath = sourceSets["main"].runtimeClasspath
|
|
args = listOf(project.version.toString(), rootProject.rootDir.toString(), releaseType ?: "")
|
|
}
|
|
|
|
tasks.register("selectBranch", JavaExec::class) {
|
|
group = "release"
|
|
mainClass.set("scripts.release.SelectBranchKt")
|
|
classpath = sourceSets["main"].runtimeClasspath
|
|
args = listOf(project.version.toString(), rootProject.rootDir.toString(), releaseType ?: "")
|
|
}
|
|
|
|
tasks.register("calculateNewEapVersion", JavaExec::class) {
|
|
group = "release"
|
|
mainClass.set("scripts.release.CalculateNewEapVersionKt")
|
|
classpath = sourceSets["main"].runtimeClasspath
|
|
args = listOf("${rootProject.rootDir}")
|
|
}
|
|
|
|
tasks.register("calculateNewDevVersion", JavaExec::class) {
|
|
group = "release"
|
|
mainClass.set("scripts.release.CalculateNewDevVersionKt")
|
|
classpath = sourceSets["main"].runtimeClasspath
|
|
args = listOf("${rootProject.rootDir}")
|
|
}
|
|
|
|
tasks.register("generateHelp", JavaExec::class) {
|
|
group = "other"
|
|
description = "Generates the help file that :help opens from the descriptions of the commands"
|
|
// The descriptions are collected by HelpProcessor while running KSP over the modules that declare commands
|
|
dependsOn(":vim-engine:kspKotlin", ":kspKotlin")
|
|
mainClass.set("scripts.help.GenerateHelpKt")
|
|
classpath = sourceSets["main"].runtimeClasspath
|
|
args = listOf(
|
|
"${rootProject.rootDir}/src/main/resources/help/ideavim.txt",
|
|
"${rootProject.rootDir}/vim-engine/build/help/engine_help.json",
|
|
"${rootProject.rootDir}/build/help/frontend_help.json",
|
|
)
|
|
}
|
|
|
|
tasks.test {
|
|
useJUnitPlatform()
|
|
}
|