-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
107 lines (90 loc) · 2.81 KB
/
build.gradle.kts
File metadata and controls
107 lines (90 loc) · 2.81 KB
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
102
103
104
105
106
107
/*
* Copyright (c) 2017. tangzx(love.tangzx@qq.com)
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import de.undercouch.gradle.tasks.download.*
plugins {
id("java")
id("org.jetbrains.kotlin.jvm") version "1.7.20"
id("org.jetbrains.intellij") version "1.13.2"
id("de.undercouch.download").version("5.3.0")
}
repositories {
mavenCentral()
}
intellij {
pluginName.set("EmmyLua-AttachDebugger")
version.set("2023.1")
type.set("IC") // Target IDE Platform
plugins.set(listOf("com.tang:1.4.8-IDEA231"))
}
val emmyluaDebuggerVersion = "1.8.2"
val emmyluaDebuggerProjectUrl = "https://github.com/EmmyLua/EmmyLuaDebugger"
task("downloadDebugger", type = Download::class) {
src(arrayOf(
"${emmyluaDebuggerProjectUrl }/releases/download/${emmyluaDebuggerVersion}/win32-x86.zip",
"${emmyluaDebuggerProjectUrl }/releases/download/${emmyluaDebuggerVersion}/win32-x64.zip",
))
dest("temp")
}
task("unzipDebugger", type = Copy::class) {
dependsOn("downloadDebugger")
from(zipTree("temp/win32-x64.zip")) {
into("bin/win32-x64")
}
from(zipTree("temp/win32-x86.zip")) {
into("bin/win32-x86")
}
destinationDir = file("temp")
}
task("installDebugger", type = Copy::class) {
dependsOn("unzipDebugger")
from("temp/bin") {
into("bin")
}
destinationDir = file("src/main/resources/debugger")
}
tasks {
// Set the JVM compatibility versions
withType<JavaCompile> {
sourceCompatibility = "17"
targetCompatibility = "17"
}
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions.jvmTarget = "17"
}
patchPluginXml {
sinceBuild.set("223")
untilBuild.set("242.*")
}
signPlugin {
certificateChain.set(System.getenv("CERTIFICATE_CHAIN"))
privateKey.set(System.getenv("PRIVATE_KEY"))
password.set(System.getenv("PRIVATE_KEY_PASSWORD"))
}
publishPlugin {
token.set(System.getenv("PUBLISH_TOKEN"))
}
buildPlugin {
dependsOn("installDebugger")
}
withType<org.jetbrains.intellij.tasks.PrepareSandboxTask> {
doLast {
copy {
from("src/main/resources/debugger/bin")
into("$destinationDir/${pluginName.get()}/debugger/bin")
}
}
}
}