mirror of
https://github.com/chylex/IntelliJ-IdeaVim.git
synced 2026-09-25 21:19:25 +02:00
90 lines
2.6 KiB
Kotlin
90 lines
2.6 KiB
Kotlin
/*
|
|
* Copyright 2003-2026 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.
|
|
*/
|
|
|
|
package _Self
|
|
|
|
import _Self.buildTypes.Compatibility
|
|
import _Self.buildTypes.LongRunning
|
|
import _Self.buildTypes.Nvim
|
|
import _Self.buildTypes.PluginVerifier
|
|
import _Self.buildTypes.PropertyBased
|
|
import _Self.buildTypes.RandomOrderTests
|
|
import _Self.buildTypes.SplitModeTests
|
|
|
|
import _Self.buildTypes.TestingBuildType
|
|
import _Self.subprojects.Releases
|
|
import _Self.vcsRoots.ReleasesVcsRoot
|
|
import jetbrains.buildServer.configs.kotlin.v2019_2.BuildType
|
|
import jetbrains.buildServer.configs.kotlin.v2019_2.Project
|
|
import jetbrains.buildServer.configs.kotlin.v2019_2.buildFeatures.buildCache
|
|
|
|
object Project : Project({
|
|
description = "Vim engine for JetBrains IDEs"
|
|
|
|
subProject(Releases)
|
|
|
|
// VCS roots
|
|
vcsRoot(ReleasesVcsRoot)
|
|
|
|
// Active tests
|
|
// Only the LATEST-EAP-SNAPSHOT platform ships JVM target 25 bytecode (its inline functions can't be
|
|
// inlined into a Java 21 build), so EAP must run on Java 25. 2026.1 and 2025.3 build fine on Java 21.
|
|
buildType(TestingBuildType("Latest EAP", version = "LATEST-EAP-SNAPSHOT", javaVersion = "25"))
|
|
buildType(TestingBuildType("2026.2", version = "2026.2", javaVersion = "25"))
|
|
buildType(TestingBuildType("2026.1"))
|
|
buildType(TestingBuildType("2025.3", javaVersion = "21"))
|
|
|
|
buildType(PropertyBased)
|
|
buildType(LongRunning)
|
|
buildType(RandomOrderTests)
|
|
buildType(SplitModeTests)
|
|
|
|
buildType(Nvim)
|
|
buildType(PluginVerifier)
|
|
buildType(Compatibility)
|
|
})
|
|
|
|
// Agent size configurations (CPU count)
|
|
object AgentSize {
|
|
const val MEDIUM = "4"
|
|
const val XLARGE = "16"
|
|
}
|
|
|
|
// Common build type for all configurations
|
|
abstract class IdeaVimBuildType(init: BuildType.() -> Unit) : BuildType({
|
|
artifactRules = """
|
|
+:build/reports => reports.zip
|
|
+:tests/java-tests/build/reports => java-tests-reports.zip
|
|
+:tests/long-running-tests/build/reports => long-running-tests-reports.zip
|
|
+:tests/property-tests/build/reports => property-tests-reports.zip
|
|
+:/mnt/agent/temp/buildTmp/ => buildTmp.zip
|
|
""".trimIndent()
|
|
|
|
params {
|
|
param("env.JAVA_HOME", "/usr/lib/jvm/java-21-amazon-corretto")
|
|
}
|
|
|
|
features {
|
|
buildCache {
|
|
name = "Gradle-cache"
|
|
rules = """
|
|
%env.HOME%/.gradle/caches
|
|
%env.HOME%/.gradle/wrapper
|
|
""".trimIndent()
|
|
publish = true
|
|
use = true
|
|
}
|
|
}
|
|
|
|
init()
|
|
|
|
failureConditions {
|
|
// Disable detection of the java OOM
|
|
javaCrash = false
|
|
}
|
|
}) |