-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.gradle.kts
84 lines (69 loc) · 2.11 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
import org.jetbrains.changelog.markdownToHTML
plugins {
id("java")
id("org.jetbrains.kotlin.jvm") version "2.0.21"
id("org.jetbrains.intellij.platform") version "2.1.0"
id("org.jetbrains.changelog") version "2.2.1"
}
group = "dev.rollczi"
version = "3.9.0"
repositories {
mavenCentral()
maven("https://repo.eternalcode.pl/releases")
maven("https://repo.eternalcode.pl/snapshots")
intellijPlatform {
defaultRepositories()
}
}
dependencies {
implementation("dev.rollczi:litecommands-framework:${version}")
intellijPlatform {
intellijIdeaCommunity("2024.2.3")
bundledPlugins("com.intellij.java", "org.jetbrains.kotlin")
instrumentationTools()
pluginVerifier()
zipSigner()
}
}
intellijPlatform {
projectName = project.name
pluginConfiguration {
name = "LiteCommands"
id = "dev.rollczi.litecommands.intellijplugin"
version.set(project.version.toString())
description = readDescriptionFrom("README.md")
ideaVersion {
sinceBuild = "242"
untilBuild = "243.*"
}
}
signing {
certificateChain.set(providers.environmentVariable("CERTIFICATE_CHAIN"))
privateKey.set(providers.environmentVariable("PRIVATE_KEY"))
password.set(providers.environmentVariable("PRIVATE_KEY_PASSWORD"))
}
publishing {
token.set(providers.environmentVariable("PUBLISH_TOKEN"))
}
pluginVerification {
ides {
recommended()
}
}
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(17))
}
kotlin {
jvmToolchain(17)
}
fun readDescriptionFrom(file: String) = providers.fileContents(layout.projectDirectory.file(file)).asText.map {
val start = "<!-- Plugin description -->"
val end = "<!-- Plugin description end -->"
with(it.lines()) {
if (!containsAll(listOf(start, end))) {
throw GradleException("Plugin description section not found in README.md:\n$start ... $end")
}
subList(indexOf(start) + 1, indexOf(end)).joinToString("\n").let(::markdownToHTML)
}
}