-
Notifications
You must be signed in to change notification settings - Fork 91
/
build.gradle.kts
executable file
·101 lines (86 loc) · 2.42 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import org.jetbrains.changelog.Changelog.OutputType.HTML
import org.jetbrains.changelog.date
import org.jetbrains.intellij.platform.gradle.TestFrameworkType
plugins {
idea
alias(libs.plugins.kotlin) // Kotlin support
alias(libs.plugins.intelliJPlatform) // IntelliJ Platform Gradle Plugin
alias(libs.plugins.changelog) // Gradle Changelog Plugin
alias(libs.plugins.kover) // Gradle Kover Plugin
id("com.github.ben-manes.versions") version "0.51.0"
}
tasks {
named<Zip>("buildPlugin") {
dependsOn("test")
archiveFileName = "AceJump.zip"
}
runIde {
findProperty("luginDev")?.let { args = listOf(projectDir.absolutePath) }
}
publishPlugin {
val intellijPublishToken: String? by project
token = intellijPublishToken
}
patchPluginXml {
sinceBuild = "223.7571.182"
changeNotes = provider {
changelog.renderItem(changelog.getAll().values.take(2).last(), HTML)
}
}
// Remove pending: https://youtrack.jetbrains.com/issue/IDEA-278926
val test by getting(Test::class) {
isScanForTestClasses = false
// Only run tests from classes that end with "Test"
include("**/AceTest.class")
include("**/ExternalUsageTest.class")
include("**/LatencyTest.class")
afterTest(
KotlinClosure2({ desc: TestDescriptor, result: TestResult ->
println("Completed `${desc.displayName}` in ${result.endTime - result.startTime}ms")
})
)
}
}
kotlin {
jvmToolchain(17)
sourceSets.all {
languageSettings.apply {
languageVersion = "2.0"
}
}
}
val acejumpVersion = "3.8.20"
changelog {
version = acejumpVersion
path = "${project.projectDir}/CHANGES.md"
header = provider { "[${project.version}] - ${date()}" }
itemPrefix = "-"
unreleasedTerm = "Unreleased"
}
repositories {
mavenCentral()
intellijPlatform.defaultRepositories()
// intellijPlatform.localPlatformArtifacts()
}
dependencies {
// https://github.com/anyascii/anyascii
implementation("com.anyascii:anyascii:0.3.2")
testImplementation("org.opentest4j:opentest4j:1.3.0")
intellijPlatform {
testImplementation(libs.junit)
bundledPlugins("com.intellij.java")
create("IC", "2024.2.2")
pluginVerifier()
instrumentationTools()
testFramework(TestFrameworkType.Platform)
}
}
intellijPlatform {
pluginConfiguration {
version = acejumpVersion
name = "AceJump"
}
pluginVerification.ides.recommended()
}
group = "org.acejump"
version = acejumpVersion