mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-10-26 08:06:15 +01:00
Download bundle plugins from plugins.json
This commit is contained in:
@@ -149,11 +149,9 @@ executableKey := {
|
||||
val pluginsDir = temp / "WEB-INF" / "classes" / "plugins"
|
||||
IO createDirectory (pluginsDir)
|
||||
IO copyFile(Keys.baseDirectory.value / "plugins.json", pluginsDir / "plugins.json")
|
||||
val plugins = Seq(
|
||||
("gitbucket-gist-plugin", "4.9.1"),
|
||||
("gitbucket-emoji-plugin", "4.4.0")
|
||||
)
|
||||
plugins.foreach { case (plugin, version) =>
|
||||
|
||||
val json = IO read(Keys.baseDirectory.value / "plugins.json")
|
||||
PluginsJson.parse(json).foreach { case (plugin, version) =>
|
||||
IO download(new java.net.URL(s"https://github.com/gitbucket/${plugin}/releases/download/${version}/${plugin}_${scalaBinaryVersion.value}-${version}.jar"),
|
||||
pluginsDir / s"${plugin}_${scalaBinaryVersion.value}-${version}.jar")
|
||||
}
|
||||
|
||||
17
project/PluginsJson.scala
Normal file
17
project/PluginsJson.scala
Normal file
@@ -0,0 +1,17 @@
|
||||
import com.eclipsesource.json.Json
|
||||
import scala.collection.JavaConverters._
|
||||
|
||||
object PluginsJson {
|
||||
|
||||
def parse(json: String): Seq[(String, String)] = {
|
||||
val value = Json.parse(json)
|
||||
value.asArray.values.asScala.map { plugin =>
|
||||
val obj = plugin.asObject.get("versions").asArray.asScala.head.asObject
|
||||
val pluginName = obj.get("file").asString.split("_2.12-").head
|
||||
val version = obj.get("version").asString
|
||||
(pluginName, version)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
libraryDependencies += "org.json4s" %% "json4s-jackson" % "3.5.1"
|
||||
libraryDependencies += "com.eclipsesource.minimal-json" % "minimal-json" % "0.9.4"
|
||||
|
||||
Reference in New Issue
Block a user