2022-08-08 07:32:27 +00:00
|
|
|
package com.lagradost.cloudstream3.gradle.tasks
|
|
|
|
|
|
|
|
import com.lagradost.cloudstream3.gradle.findCloudstream
|
2022-08-08 09:54:17 +00:00
|
|
|
import com.lagradost.cloudstream3.gradle.makePluginEntry
|
|
|
|
import com.lagradost.cloudstream3.gradle.entities.PluginEntry
|
2022-08-08 07:32:27 +00:00
|
|
|
import groovy.json.JsonBuilder
|
|
|
|
import groovy.json.JsonGenerator
|
|
|
|
import org.gradle.api.DefaultTask
|
|
|
|
import org.gradle.api.file.RegularFileProperty
|
|
|
|
import org.gradle.api.tasks.OutputFile
|
|
|
|
import org.gradle.api.tasks.TaskAction
|
|
|
|
import java.util.LinkedList
|
2022-08-19 13:07:54 +00:00
|
|
|
import java.lang.Thread
|
2022-08-08 07:32:27 +00:00
|
|
|
|
|
|
|
abstract class MakePluginsJsonTask : DefaultTask() {
|
|
|
|
@get:OutputFile
|
|
|
|
abstract val outputFile: RegularFileProperty
|
|
|
|
|
|
|
|
@TaskAction
|
|
|
|
fun makePluginsJson() {
|
2022-08-08 09:54:17 +00:00
|
|
|
val lst = LinkedList<PluginEntry>()
|
2022-08-08 07:32:27 +00:00
|
|
|
|
|
|
|
for (subproject in project.allprojects) {
|
2022-08-19 14:10:03 +00:00
|
|
|
subproject.extensions.findCloudstream() ?: continue
|
2022-08-08 07:32:27 +00:00
|
|
|
|
2022-08-08 09:54:17 +00:00
|
|
|
lst.add(subproject.makePluginEntry())
|
2022-08-08 07:32:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
outputFile.asFile.get().writeText(
|
|
|
|
JsonBuilder(
|
|
|
|
lst,
|
|
|
|
JsonGenerator.Options()
|
|
|
|
.excludeNulls()
|
|
|
|
.build()
|
2022-08-08 07:40:35 +00:00
|
|
|
).toPrettyString()
|
2022-08-08 07:32:27 +00:00
|
|
|
)
|
2022-08-19 11:42:29 +00:00
|
|
|
|
|
|
|
logger.lifecycle("Created ${outputFile.asFile.get()}")
|
2022-08-08 07:32:27 +00:00
|
|
|
}
|
|
|
|
}
|