mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-01 11:06:06 +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"
|
val pluginsDir = temp / "WEB-INF" / "classes" / "plugins"
|
||||||
IO createDirectory (pluginsDir)
|
IO createDirectory (pluginsDir)
|
||||||
IO copyFile(Keys.baseDirectory.value / "plugins.json", pluginsDir / "plugins.json")
|
IO copyFile(Keys.baseDirectory.value / "plugins.json", pluginsDir / "plugins.json")
|
||||||
val plugins = Seq(
|
|
||||||
("gitbucket-gist-plugin", "4.9.1"),
|
val json = IO read(Keys.baseDirectory.value / "plugins.json")
|
||||||
("gitbucket-emoji-plugin", "4.4.0")
|
PluginsJson.parse(json).foreach { case (plugin, version) =>
|
||||||
)
|
|
||||||
plugins.foreach { case (plugin, version) =>
|
|
||||||
IO download(new java.net.URL(s"https://github.com/gitbucket/${plugin}/releases/download/${version}/${plugin}_${scalaBinaryVersion.value}-${version}.jar"),
|
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")
|
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