mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-08 22:45:51 +01:00
Enable plugin system
This commit is contained in:
@@ -10,6 +10,7 @@ import ssh.SshServer
|
|||||||
import org.apache.commons.io.FileUtils
|
import org.apache.commons.io.FileUtils
|
||||||
import java.io.FileInputStream
|
import java.io.FileInputStream
|
||||||
import plugin.{Plugin, PluginSystem}
|
import plugin.{Plugin, PluginSystem}
|
||||||
|
import org.scalatra.Ok
|
||||||
|
|
||||||
class SystemSettingsController extends SystemSettingsControllerBase
|
class SystemSettingsController extends SystemSettingsControllerBase
|
||||||
with AccountService with AdminAuthenticator
|
with AccountService with AdminAuthenticator
|
||||||
@@ -82,44 +83,43 @@ trait SystemSettingsControllerBase extends ControllerBase {
|
|||||||
redirect("/admin/system")
|
redirect("/admin/system")
|
||||||
})
|
})
|
||||||
|
|
||||||
// TODO Enable commented code to enable plug-in system
|
get("/admin/plugins")(adminOnly {
|
||||||
// get("/admin/plugins")(adminOnly {
|
val installedPlugins = plugin.PluginSystem.plugins
|
||||||
// val installedPlugins = plugin.PluginSystem.plugins
|
val updatablePlugins = getAvailablePlugins(installedPlugins).filter(_.status == "updatable")
|
||||||
// val updatablePlugins = getAvailablePlugins(installedPlugins).filter(_.status == "updatable")
|
admin.plugins.html.installed(installedPlugins, updatablePlugins)
|
||||||
// admin.plugins.html.installed(installedPlugins, updatablePlugins)
|
})
|
||||||
// })
|
|
||||||
//
|
|
||||||
// post("/admin/plugins/_update", pluginForm)(adminOnly { form =>
|
|
||||||
// deletePlugins(form.pluginIds)
|
|
||||||
// installPlugins(form.pluginIds)
|
|
||||||
// redirect("/admin/plugins")
|
|
||||||
// })
|
|
||||||
//
|
|
||||||
// post("/admin/plugins/_delete", pluginForm)(adminOnly { form =>
|
|
||||||
// deletePlugins(form.pluginIds)
|
|
||||||
// redirect("/admin/plugins")
|
|
||||||
// })
|
|
||||||
//
|
|
||||||
// get("/admin/plugins/available")(adminOnly {
|
|
||||||
// val installedPlugins = plugin.PluginSystem.plugins
|
|
||||||
// val availablePlugins = getAvailablePlugins(installedPlugins).filter(_.status == "available")
|
|
||||||
// admin.plugins.html.available(availablePlugins)
|
|
||||||
// })
|
|
||||||
//
|
|
||||||
// post("/admin/plugins/_install", pluginForm)(adminOnly { form =>
|
|
||||||
// installPlugins(form.pluginIds)
|
|
||||||
// redirect("/admin/plugins")
|
|
||||||
// })
|
|
||||||
|
|
||||||
// get("/admin/plugins/console")(adminOnly {
|
post("/admin/plugins/_update", pluginForm)(adminOnly { form =>
|
||||||
// admin.plugins.html.console()
|
deletePlugins(form.pluginIds)
|
||||||
// })
|
installPlugins(form.pluginIds)
|
||||||
//
|
redirect("/admin/plugins")
|
||||||
// post("/admin/plugins/console")(adminOnly {
|
})
|
||||||
// val script = request.getParameter("script")
|
|
||||||
// val result = plugin.JavaScriptPlugin.evaluateJavaScript(script)
|
post("/admin/plugins/_delete", pluginForm)(adminOnly { form =>
|
||||||
// Ok(result)
|
deletePlugins(form.pluginIds)
|
||||||
// })
|
redirect("/admin/plugins")
|
||||||
|
})
|
||||||
|
|
||||||
|
get("/admin/plugins/available")(adminOnly {
|
||||||
|
val installedPlugins = plugin.PluginSystem.plugins
|
||||||
|
val availablePlugins = getAvailablePlugins(installedPlugins).filter(_.status == "available")
|
||||||
|
admin.plugins.html.available(availablePlugins)
|
||||||
|
})
|
||||||
|
|
||||||
|
post("/admin/plugins/_install", pluginForm)(adminOnly { form =>
|
||||||
|
installPlugins(form.pluginIds)
|
||||||
|
redirect("/admin/plugins")
|
||||||
|
})
|
||||||
|
|
||||||
|
get("/admin/plugins/console")(adminOnly {
|
||||||
|
admin.plugins.html.console()
|
||||||
|
})
|
||||||
|
|
||||||
|
post("/admin/plugins/console")(adminOnly {
|
||||||
|
val script = request.getParameter("script")
|
||||||
|
val result = plugin.JavaScriptPlugin.evaluateJavaScript(script)
|
||||||
|
Ok(result)
|
||||||
|
})
|
||||||
|
|
||||||
// TODO Move these methods to PluginSystem or Service?
|
// TODO Move these methods to PluginSystem or Service?
|
||||||
private def deletePlugins(pluginIds: List[String]): Unit = {
|
private def deletePlugins(pluginIds: List[String]): Unit = {
|
||||||
|
|||||||
@@ -50,18 +50,17 @@ class PluginUpdateJob extends Job {
|
|||||||
object PluginUpdateJob {
|
object PluginUpdateJob {
|
||||||
|
|
||||||
def schedule(scheduler: Scheduler): Unit = {
|
def schedule(scheduler: Scheduler): Unit = {
|
||||||
// TODO Enable commented code to enable plug-in system
|
val job = newJob(classOf[PluginUpdateJob])
|
||||||
// val job = newJob(classOf[PluginUpdateJob])
|
.withIdentity("pluginUpdateJob")
|
||||||
// .withIdentity("pluginUpdateJob")
|
.build()
|
||||||
// .build()
|
|
||||||
//
|
val trigger = newTrigger()
|
||||||
// val trigger = newTrigger()
|
.withIdentity("pluginUpdateTrigger")
|
||||||
// .withIdentity("pluginUpdateTrigger")
|
.startNow()
|
||||||
// .startNow()
|
.withSchedule(simpleSchedule().withIntervalInHours(24).repeatForever())
|
||||||
// .withSchedule(simpleSchedule().withIntervalInHours(24).repeatForever())
|
.build()
|
||||||
// .build()
|
|
||||||
//
|
scheduler.scheduleJob(job, trigger)
|
||||||
// scheduler.scheduleJob(job, trigger)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user