Files
2026-09-02 10:26:38 +02:00

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
}
})