Skip to content

Commit c5c6462

Browse files
committed
fix bundle
1 parent 599e987 commit c5c6462

File tree

2 files changed

+59
-20
lines changed

2 files changed

+59
-20
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package software.aws.toolkits.gradle
5+
6+
import org.gradle.api.DefaultTask
7+
import org.gradle.api.file.ArchiveOperations
8+
import org.gradle.api.file.ConfigurableFileCollection
9+
import org.gradle.api.file.DirectoryProperty
10+
import org.gradle.api.file.FileSystemOperations
11+
import org.gradle.api.tasks.InputFiles
12+
import org.gradle.api.tasks.OutputDirectory
13+
import org.gradle.api.tasks.TaskAction
14+
import javax.inject.Inject
15+
16+
abstract class ExtractFlareTask @Inject constructor(
17+
private val archiveOps: ArchiveOperations,
18+
private var fs: FileSystemOperations
19+
) : DefaultTask() {
20+
@get:InputFiles
21+
abstract val zipFiles: ConfigurableFileCollection
22+
23+
@get:OutputDirectory
24+
abstract val outputDir: DirectoryProperty
25+
26+
@TaskAction
27+
fun extract() {
28+
val destDir = outputDir.get().asFile
29+
destDir.deleteRecursively()
30+
destDir.mkdirs()
31+
32+
zipFiles.filter { it.name.endsWith(".zip") }.forEach { zipFile ->
33+
logger.info("Extracting flare from $zipFile")
34+
fs.copy {
35+
outputDir.file(zipFile.parentFile.name).get().asFile.createNewFile()
36+
from(archiveOps.zipTree(zipFile)) {
37+
include("*.js")
38+
include("*.txt")
39+
}
40+
into(destDir)
41+
}
42+
}
43+
}
44+
}

plugins/amazonq/build.gradle.kts

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,14 @@
44
import com.fasterxml.jackson.databind.DeserializationFeature
55
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
66
import de.undercouch.gradle.tasks.download.Download
7+
import org.gradle.api.DefaultTask
8+
import org.gradle.api.file.ConfigurableFileCollection
9+
import org.gradle.api.file.DirectoryProperty
10+
import org.gradle.api.tasks.InputFiles
11+
import org.gradle.api.tasks.OutputDirectory
12+
import org.gradle.api.tasks.TaskAction
713
import org.jetbrains.intellij.platform.gradle.tasks.PrepareSandboxTask
14+
import software.aws.toolkits.gradle.ExtractFlareTask
815
import software.aws.toolkits.gradle.changelog.tasks.GeneratePluginChangeLog
916

1017
plugins {
@@ -109,29 +116,17 @@ val downloadFlareArtifacts by tasks.registering(Download::class) {
109116
useETag(true)
110117
}
111118

112-
//val prepareBundledFlare by tasks.registering(Copy::class) {
113-
// dependsOn(downloadFlareArtifacts)
114-
// inputs.files(downloadFlareArtifacts)
115-
// val dest = layout.buildDirectory.dir("tmp/extractFlare")
116-
//
117-
// includeEmptyDirs = false
118-
// into(dest) {
119-
// downloadFlareArtifacts.get().outputFiles.filter { it.name.endsWith(".zip") }.forEach {
120-
// println("Extracting flare from ${it}")
121-
// dest.get().file(it.parentFile.name).asFile.createNewFile()
122-
// from(zipTree(it)) {
123-
// include("*.js")
124-
// include("*.txt")
125-
// }
126-
// }
127-
// }
128-
//}
119+
val prepareBundledFlare by tasks.registering(ExtractFlareTask::class) {
120+
dependsOn(downloadFlareArtifacts)
121+
zipFiles.from(downloadFlareArtifacts.map { it.outputFiles })
122+
outputDir.set(layout.buildDirectory.dir("tmp/extractFlare"))
123+
}
129124

130125
tasks.withType<PrepareSandboxTask>().configureEach {
131126
from(file("contrib/QCT-Maven-6-16.jar")) {
132127
into(intellijPlatform.projectName.map { "$it/lib" })
133128
}
134-
// from(prepareBundledFlare) {
135-
// into(intellijPlatform.projectName.map { "$it/flare" })
136-
// }
129+
from(prepareBundledFlare) {
130+
into(intellijPlatform.projectName.map { "$it/flare" })
131+
}
137132
}

0 commit comments

Comments
 (0)