Merge pull request #2065 from gitbucket/plugin-network-install
Install plugins from the plugin registry
commit 328403f973c6edba3915a64748a4957171862be9
2 parents d322f77 + 2678c69
@Naoki Takezoe Naoki Takezoe authored on 27 Jun 2018
GitHub committed on 27 Jun 2018
Showing 14 changed files
View
22
build.sbt
 
// include plugins
val pluginsDir = temp / "WEB-INF" / "classes" / "plugins"
IO createDirectory (pluginsDir)
IO copyFile (Keys.baseDirectory.value / "plugins.json", pluginsDir / "plugins.json")
 
val json = IO read (Keys.baseDirectory.value / "plugins.json")
PluginsJson.getUrls(json).foreach { url =>
log info s"Download: ${url}"
IO transfer (new java.net.URL(url).openStream, pluginsDir / url.substring(url.lastIndexOf("/") + 1))
 
val plugins = IO readLines (Keys.baseDirectory.value / "src" / "main" / "resources" / "bundle-plugins.txt")
plugins.foreach { plugin =>
plugin.trim.split(":") match {
case Array(pluginId, pluginVersion) =>
val url = "https://plugins.gitbucket-community.org/releases/" +
s"gitbucket-${pluginId}-plugin/gitbucket-${pluginId}-plugin-gitbucket_${version.value}-${pluginVersion}.jar"
log info s"Download: ${url}"
IO transfer (new java.net.URL(url).openStream, pluginsDir / url.substring(url.lastIndexOf("/") + 1))
case _ => ()
}
}
 
// zip it up
IO delete (temp / "META-INF" / "MANIFEST.MF")
View
55
plugins.json 100644 → 0
[
{
"id": "notifications",
"name": "Notifications Plugin",
"description": "Provides notifications feature on GitBucket.",
"versions": [
{
"version": "1.5.0",
"range": ">=4.23.0",
"url": "https://github.com/gitbucket/gitbucket-notifications-plugin/releases/download/1.5.0/gitbucket-notifications-plugin-assembly-1.5.0.jar"
}
],
"default": true
},
{
"id": "emoji",
"name": "Emoji Plugin",
"description": "Provides Emoji support for GitBucket.",
"versions": [
{
"version": "4.5.0",
"range": ">=4.18.0",
"url": "https://github.com/gitbucket/gitbucket-emoji-plugin/releases/download/4.5.0/gitbucket-emoji-plugin_2.12-4.5.0.jar"
}
],
"default": false
},
{
"id": "gist",
"name": "Gist Plugin",
"description": "Provides Gist feature on GitBucket.",
"versions": [
{
"version": "4.15.0",
"range": ">=4.25.0",
"url": "https://github.com/gitbucket/gitbucket-gist-plugin/releases/download/4.15.0/gitbucket-gist-plugin-gitbucket_4.25.0-4.15.0.jar"
}
],
"default": false
},
{
"id": "pages",
"name": "Pages Plugin",
"description": "Project pages for gitbucket",
"versions": [
{
"version": "1.7.0",
"range": ">=4.23.0",
"url": "https://github.com/gitbucket/gitbucket-pages-plugin/releases/download/v1.7.0/gitbucket-pages-plugin_2.12-1.7.0.jar"
}
],
"default": false
}
]
View
2
■■■
src/main/resources/bundle-plugins.txt 0 → 100644
notifications:1.5.1
View
src/main/scala/gitbucket/core/controller/SystemSettingsController.scala
View
src/main/scala/gitbucket/core/plugin/PluginRegistry.scala
View
src/main/scala/gitbucket/core/plugin/PluginRepository.scala
View
src/main/scala/gitbucket/core/service/RepositoryService.scala
View
src/main/scala/gitbucket/core/service/SystemSettingsService.scala
View
src/main/scala/gitbucket/core/servlet/InitializeListener.scala
View
src/main/twirl/gitbucket/core/account/menu.scala.html
View
src/main/twirl/gitbucket/core/admin/plugins.scala.html
View
src/main/twirl/gitbucket/core/admin/settings_system.scala.html
View
src/main/twirl/gitbucket/core/pulls/mergeguide.scala.html
View
src/test/scala/gitbucket/core/view/AvatarImageProviderSpec.scala