Skip to content

Commit 09c99d1

Browse files
committed
build: fix build tasks
- the jars were not included in the Toolbox install location nor in the zip file - the plugin needs extension.json (which is now autogenerated but initially it was only part of the zip file) so that later it can read the version. With this patch - the json is also included in the jar file
1 parent 9a2c44a commit 09c99d1

File tree

1 file changed

+24
-32
lines changed

1 file changed

+24
-32
lines changed

build.gradle.kts

Lines changed: 24 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
1+
import com.fasterxml.jackson.databind.SerializationFeature
2+
import com.fasterxml.jackson.module.kotlin.jacksonMapperBuilder
23
import com.github.jk1.license.filter.ExcludeTransitiveDependenciesFilter
34
import com.github.jk1.license.render.JsonReportRenderer
45
import com.jetbrains.plugin.structure.toolbox.ToolboxMeta
@@ -66,6 +67,7 @@ dependencies {
6667

6768
val extension = ExtensionJson(
6869
id = properties("group"),
70+
6971
version = properties("version"),
7072
meta = ExtensionJsonMeta(
7173
name = "Coder Toolbox",
@@ -106,36 +108,30 @@ tasks.test {
106108
useJUnitPlatform()
107109
}
108110

111+
109112
tasks.jar {
110113
archiveBaseName.set(extension.id)
111114
dependsOn(extensionJson)
112-
}
113-
114-
val assemblePlugin by tasks.registering(Jar::class) {
115-
archiveBaseName.set(extension.id)
116-
from(sourceSets.main.get().output)
115+
from(extensionJson.get().outputs)
117116
}
118117

119118
val copyPlugin by tasks.creating(Sync::class.java) {
120-
dependsOn(tasks.assemble)
121-
// fromCompileDependencies()
122-
from(tasks.jar)
123-
124-
from(extensionJsonFile)
119+
dependsOn(tasks.jar)
120+
dependsOn(tasks.getByName("generateLicenseReport"))
125121

126-
from("src/main/resources") {
127-
include("dependencies.json")
128-
include("icon.svg")
129-
}
122+
fromCompileDependencies()
130123
into(getPluginInstallDir())
131124
}
132125

133126
fun CopySpec.fromCompileDependencies() {
134-
from(assemblePlugin.get().outputs.files)
127+
from(tasks.jar)
128+
from(extensionJson.get().outputs.files)
135129
from("src/main/resources") {
136-
include("extension.json")
137130
include("dependencies.json")
131+
}
132+
from("src/main/resources") {
138133
include("icon.svg")
134+
rename("icon.svg", "pluginIcon.svg")
139135
}
140136

141137
// Copy dependencies, excluding those provided by Toolbox.
@@ -148,28 +144,20 @@ fun CopySpec.fromCompileDependencies() {
148144
"core-api",
149145
"ui-api",
150146
"annotations",
147+
"localization-api"
151148
).any { file.name.contains(it) }
152149
}
153150
},
154151
)
155152
}
156153

157154
val pluginZip by tasks.creating(Zip::class) {
158-
dependsOn(tasks.assemble)
155+
archiveBaseName.set(properties("name"))
156+
dependsOn(tasks.jar)
159157
dependsOn(tasks.getByName("generateLicenseReport"))
160158

161-
// fromCompileDependencies()
162-
// into(pluginId)
163-
from(tasks.assemble.get().outputs.files)
164-
from(extensionJsonFile)
165-
from("src/main/resources") {
166-
include("dependencies.json")
167-
}
168-
from("src/main/resources") {
169-
include("icon.svg")
170-
rename("icon.svg", "pluginIcon.svg")
171-
}
172-
archiveBaseName.set(extension.id)
159+
fromCompileDependencies()
160+
into(extension.id) // folder like com.coder.toolbox
173161
}
174162

175163
tasks.register("cleanAll", Delete::class.java) {
@@ -247,8 +235,12 @@ fun generateExtensionJson(extensionJson: ExtensionJson, destinationFile: Path) {
247235
url = extensionJson.meta.url,
248236
)
249237
)
250-
val extensionJson = jacksonObjectMapper().writeValueAsString(descriptor)
251238
destinationFile.parent.createDirectories()
252-
destinationFile.writeText(extensionJson)
239+
destinationFile.writeText(
240+
jacksonMapperBuilder()
241+
.enable(SerializationFeature.INDENT_OUTPUT)
242+
.build()
243+
.writeValueAsString(descriptor)
244+
)
253245
}
254246
// endregion

0 commit comments

Comments
 (0)