2014-02-19 22:04:31 +04:00
// Copyright 2014 The Gogs Authors. All rights reserved.
2016-12-21 15:13:17 +03:00
// Copyright 2016 The Gitea Authors. All rights reserved.
2014-02-19 22:04:31 +04:00
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
2014-02-19 13:50:53 +04:00
2016-11-11 16:56:35 +03:00
// Gitea (git with a cup of tea) is a painless self-hosted Git Service.
package main // import "code.gitea.io/gitea"
2014-02-12 21:49:46 +04:00
import (
2014-02-19 13:50:53 +04:00
"os"
2019-01-24 18:22:51 +03:00
"runtime"
2017-02-28 03:40:02 +03:00
"strings"
2016-12-01 02:56:15 +03:00
2016-11-10 19:24:48 +03:00
"code.gitea.io/gitea/cmd"
2017-01-04 16:16:03 +03:00
"code.gitea.io/gitea/modules/log"
2016-11-10 19:24:48 +03:00
"code.gitea.io/gitea/modules/setting"
2018-11-01 16:41:07 +03:00
2017-09-21 08:20:14 +03:00
// register supported doc types
2018-07-21 00:08:15 +03:00
_ "code.gitea.io/gitea/modules/markup/csv"
2017-09-21 08:20:14 +03:00
_ "code.gitea.io/gitea/modules/markup/markdown"
_ "code.gitea.io/gitea/modules/markup/orgmode"
2016-11-04 15:44:23 +03:00
"github.com/urfave/cli"
2014-02-12 21:49:46 +04:00
)
2016-11-04 14:32:04 +03:00
// Version holds the current Gitea version
2018-02-03 18:03:43 +03:00
var Version = "1.5.0-dev"
2014-02-12 21:49:46 +04:00
2017-02-28 03:40:02 +03:00
// Tags holds the build tags used
var Tags = ""
2014-02-12 23:54:09 +04:00
func init ( ) {
2016-11-04 14:32:04 +03:00
setting . AppVer = Version
2017-02-28 03:40:02 +03:00
setting . AppBuiltWith = formatBuiltWith ( Tags )
2014-02-12 23:54:09 +04:00
}
2014-02-12 21:49:46 +04:00
func main ( ) {
2014-02-19 13:50:53 +04:00
app := cli . NewApp ( )
2016-11-11 16:56:35 +03:00
app . Name = "Gitea"
app . Usage = "A painless self-hosted Git service"
2018-01-10 07:58:08 +03:00
app . Description = ` By default , gitea will start serving using the webserver with no
arguments - which can alternatively be run by running the subcommand web . `
2017-02-28 03:40:02 +03:00
app . Version = Version + formatBuiltWith ( Tags )
2014-02-19 13:50:53 +04:00
app . Commands = [ ] cli . Command {
2014-05-02 05:21:46 +04:00
cmd . CmdWeb ,
cmd . CmdServ ,
2017-02-23 06:40:44 +03:00
cmd . CmdHook ,
2014-06-11 03:11:53 +04:00
cmd . CmdDump ,
2014-09-23 01:30:58 +04:00
cmd . CmdCert ,
2016-08-14 02:11:52 +03:00
cmd . CmdAdmin ,
2018-02-18 21:14:37 +03:00
cmd . CmdGenerate ,
2018-10-31 06:14:42 +03:00
cmd . CmdMigrate ,
2018-11-01 16:41:07 +03:00
cmd . CmdKeys ,
2014-02-19 13:50:53 +04:00
}
2018-11-01 03:36:41 +03:00
app . Flags = append ( app . Flags , cmd . CmdWeb . Flags ... )
2018-01-10 07:58:08 +03:00
app . Action = cmd . CmdWeb . Action
2016-12-01 02:56:15 +03:00
err := app . Run ( os . Args )
if err != nil {
2017-01-29 23:13:57 +03:00
log . Fatal ( 4 , "Failed to run app with %s: %v" , os . Args , err )
2016-12-01 02:56:15 +03:00
}
2014-02-12 21:49:46 +04:00
}
2017-02-28 03:40:02 +03:00
func formatBuiltWith ( Tags string ) string {
if len ( Tags ) == 0 {
2019-01-24 18:22:51 +03:00
return " built with " + runtime . Version ( )
2017-02-28 03:40:02 +03:00
}
2019-01-24 18:22:51 +03:00
return " built with " + runtime . Version ( ) + " : " + strings . Replace ( Tags , " " , ", " , - 1 )
2017-02-28 03:40:02 +03:00
}