diff --git a/routers/init.go b/routers/init.go new file mode 100644 index 0000000000..07f84a25fb --- /dev/null +++ b/routers/init.go @@ -0,0 +1,82 @@ +// Copyright 2016 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package routers + +import ( + "path" + "strings" + + "code.gitea.io/git" + "code.gitea.io/gitea/models" + "code.gitea.io/gitea/modules/cron" + "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/mailer" + "code.gitea.io/gitea/modules/markdown" + "code.gitea.io/gitea/modules/setting" + "code.gitea.io/gitea/modules/ssh" + "code.gitea.io/gitea/modules/template/highlight" + macaron "gopkg.in/macaron.v1" +) + +func checkRunMode() { + switch setting.Cfg.Section("").Key("RUN_MODE").String() { + case "prod": + macaron.Env = macaron.PROD + macaron.ColorLog = false + setting.ProdMode = true + default: + git.Debug = true + } + log.Info("Run Mode: %s", strings.Title(macaron.Env)) +} + +// NewServices init new services +func NewServices() { + setting.NewServices() + mailer.NewContext() +} + +// GlobalInit is for global configuration reload-able. +func GlobalInit() { + setting.NewContext() + log.Trace("Custom path: %s", setting.CustomPath) + log.Trace("Log path: %s", setting.LogRootPath) + models.LoadConfigs() + NewServices() + + if setting.InstallLock { + highlight.NewContext() + markdown.BuildSanitizer() + if err := models.NewEngine(); err != nil { + log.Fatal(4, "Fail to initialize ORM engine: %v", err) + } + models.HasEngine = true + + models.LoadRepoConfig() + models.NewRepoContext() + + // Booting long running goroutines. + cron.NewContext() + models.InitSyncMirrors() + models.InitDeliverHooks() + models.InitTestPullRequests() + log.NewGitLogger(path.Join(setting.LogRootPath, "http.log")) + } + if models.EnableSQLite3 { + log.Info("SQLite3 Supported") + } + if models.EnableTiDB { + log.Info("TiDB Supported") + } + if setting.SupportMiniWinService { + log.Info("Builtin Windows Service Supported") + } + checkRunMode() + + if setting.InstallLock && setting.SSH.StartBuiltinServer { + ssh.Listen(setting.SSH.ListenPort) + log.Info("SSH server started on :%v", setting.SSH.ListenPort) + } +} diff --git a/routers/install.go b/routers/install.go index 5cc2136449..ab9c835507 100644 --- a/routers/install.go +++ b/routers/install.go @@ -15,21 +15,13 @@ import ( "github.com/Unknwon/com" "github.com/go-xorm/xorm" "gopkg.in/ini.v1" - "gopkg.in/macaron.v1" - - "code.gitea.io/git" "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/auth" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/context" - "code.gitea.io/gitea/modules/cron" "code.gitea.io/gitea/modules/log" - "code.gitea.io/gitea/modules/mailer" - "code.gitea.io/gitea/modules/markdown" "code.gitea.io/gitea/modules/setting" - "code.gitea.io/gitea/modules/ssh" - "code.gitea.io/gitea/modules/template/highlight" "code.gitea.io/gitea/modules/user" ) @@ -38,67 +30,6 @@ const ( tplInstall base.TplName = "install" ) -func checkRunMode() { - switch setting.Cfg.Section("").Key("RUN_MODE").String() { - case "prod": - macaron.Env = macaron.PROD - macaron.ColorLog = false - setting.ProdMode = true - default: - git.Debug = true - } - log.Info("Run Mode: %s", strings.Title(macaron.Env)) -} - -// NewServices init new services -func NewServices() { - setting.NewServices() - mailer.NewContext() -} - -// GlobalInit is for global configuration reload-able. -func GlobalInit() { - setting.NewContext() - log.Trace("Custom path: %s", setting.CustomPath) - log.Trace("Log path: %s", setting.LogRootPath) - models.LoadConfigs() - NewServices() - - if setting.InstallLock { - highlight.NewContext() - markdown.BuildSanitizer() - if err := models.NewEngine(); err != nil { - log.Fatal(4, "Fail to initialize ORM engine: %v", err) - } - models.HasEngine = true - - models.LoadRepoConfig() - models.NewRepoContext() - - // Booting long running goroutines. - cron.NewContext() - models.InitSyncMirrors() - models.InitDeliverHooks() - models.InitTestPullRequests() - log.NewGitLogger(path.Join(setting.LogRootPath, "http.log")) - } - if models.EnableSQLite3 { - log.Info("SQLite3 Supported") - } - if models.EnableTiDB { - log.Info("TiDB Supported") - } - if setting.SupportMiniWinService { - log.Info("Builtin Windows Service Supported") - } - checkRunMode() - - if setting.InstallLock && setting.SSH.StartBuiltinServer { - ssh.Listen(setting.SSH.ListenPort) - log.Info("SSH server started on :%v", setting.SSH.ListenPort) - } -} - // InstallInit prepare for rendering installation page func InstallInit(ctx *context.Context) { if setting.InstallLock {