Add Build version
Main version can be set in config/default_config.yml Build version need to be set by build command: go build -ldflags "-X main.buildversion=$(date -u +.%Y%m%d.%H%M%S)" Or by using package.sh Or by using the godep command: godep go build -ldflags "-X main.buildversion=$(date -u +.%Y%m%d.%H%M%S)"
Cette révision appartient à :
Parent
e116b30b40
révision
9e0424ec5e
8 fichiers modifiés avec 21 ajouts et 3 suppressions
|
@ -1,6 +1,7 @@
|
||||||
language: go
|
language: go
|
||||||
go:
|
go:
|
||||||
- 1.x
|
- 1.x
|
||||||
|
gobuild_args: -x -ldflags "-X main.buildversion $(date -u +.%Y%m%d.%H%M%S)"
|
||||||
before_install:
|
before_install:
|
||||||
- sudo apt-get install gcc-mingw-w64 gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 binutils-mingw-w64-i686 binutils-mingw-w64-x86-64
|
- sudo apt-get install gcc-mingw-w64 gcc-mingw-w64-i686 gcc-mingw-w64-x86-64 binutils-mingw-w64-i686 binutils-mingw-w64-x86-64
|
||||||
- go get -u github.com/tools/godep
|
- go get -u github.com/tools/godep
|
||||||
|
|
|
@ -20,7 +20,10 @@ All tested versions of Ubuntu fail to build, use a different OS or docker
|
||||||
* Install [Golang](https://golang.org/doc/install) (version >=1.8)
|
* Install [Golang](https://golang.org/doc/install) (version >=1.8)
|
||||||
* `go get -u github.com/tools/godep`
|
* `go get -u github.com/tools/godep`
|
||||||
* `go get github.com/NyaaPantsu/nyaa`
|
* `go get github.com/NyaaPantsu/nyaa`
|
||||||
|
Either use:
|
||||||
* `godep go build`
|
* `godep go build`
|
||||||
|
Or use this to have the build version in index.html:
|
||||||
|
* `go build -ldflags "-X main.buildversion=$(date -u +.%Y%m%d.%H%M%S)"`
|
||||||
* Download the DB and place it in your root folder named as "nyaa.db" (You want the merged.sqlite3 database, see the dev IRC for more info)
|
* Download the DB and place it in your root folder named as "nyaa.db" (You want the merged.sqlite3 database, see the dev IRC for more info)
|
||||||
* `./nyaa`
|
* `./nyaa`
|
||||||
* You can now access your local site over on [localhost:9999](http://localhost:9999)
|
* You can now access your local site over on [localhost:9999](http://localhost:9999)
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
# Host of server
|
# Host of server
|
||||||
host: localhost
|
host: localhost
|
||||||
|
# Version of the app
|
||||||
|
version: "0.9"
|
||||||
# port of server
|
# port of server
|
||||||
port: 9999
|
port: 9999
|
||||||
# database type
|
# database type
|
||||||
|
|
|
@ -13,6 +13,8 @@ type Config struct {
|
||||||
// structure depends on the dialect for each db type
|
// structure depends on the dialect for each db type
|
||||||
DBParams string `json:"db_params" yaml:"db_params,omitempty"`
|
DBParams string `json:"db_params" yaml:"db_params,omitempty"`
|
||||||
DBLogMode string `json:"db_logmode" yaml:"db_logmode,omitempty"`
|
DBLogMode string `json:"db_logmode" yaml:"db_logmode,omitempty"`
|
||||||
|
Version string `json:"version" yaml:"version,omitempty"`
|
||||||
|
Build string `yaml:"-"`
|
||||||
// tracker scraper config (required)
|
// tracker scraper config (required)
|
||||||
Scrape ScraperConfig `json:"scraper" yaml:"scraper,flow,omitempty"`
|
Scrape ScraperConfig `json:"scraper" yaml:"scraper,flow,omitempty"`
|
||||||
// cache config
|
// cache config
|
||||||
|
|
7
main.go
7
main.go
|
@ -23,6 +23,8 @@ import (
|
||||||
"github.com/NyaaPantsu/nyaa/util/signals"
|
"github.com/NyaaPantsu/nyaa/util/signals"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var buildversion string
|
||||||
|
|
||||||
// RunServer runs webapp mainloop
|
// RunServer runs webapp mainloop
|
||||||
func RunServer(conf *config.Config) {
|
func RunServer(conf *config.Config) {
|
||||||
// TODO Use config from cli
|
// TODO Use config from cli
|
||||||
|
@ -112,6 +114,11 @@ func RunMetainfoFetcher(conf *config.Config) {
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
conf := config.Conf
|
conf := config.Conf
|
||||||
|
if buildversion != "" {
|
||||||
|
conf.Build = buildversion
|
||||||
|
} else {
|
||||||
|
conf.Build = "unknown"
|
||||||
|
}
|
||||||
processFlags := conf.BindFlags()
|
processFlags := conf.BindFlags()
|
||||||
defaults := flag.Bool("print-defaults", false, "print the default configuration file on stdout")
|
defaults := flag.Bool("print-defaults", false, "print the default configuration file on stdout")
|
||||||
mode := flag.String("mode", "webapp", "which mode to run daemon in, either webapp, scraper or metainfo_fetcher")
|
mode := flag.String("mode", "webapp", "which mode to run daemon in, either webapp, scraper or metainfo_fetcher")
|
||||||
|
|
|
@ -15,7 +15,7 @@ for i in "${OSes[@]}"; do
|
||||||
cc=${arr[1]}
|
cc=${arr[1]}
|
||||||
rm -f nyaa nyaa.exe
|
rm -f nyaa nyaa.exe
|
||||||
echo -e "\nBuilding $os..."
|
echo -e "\nBuilding $os..."
|
||||||
echo GOOS=$os GOARCH=amd64 CC=$cc CGO_ENABLED=1 go build -v
|
echo GOOS=$os GOARCH=amd64 CC=$cc CGO_ENABLED=1 go build -v -ldflags="-X main.buildversion=$(date -u +.%Y%m%d.%H%M%S)"
|
||||||
GOOS=$os GOARCH=amd64 CC=$cc CGO_ENABLED=1 go build -v
|
GOOS=$os GOARCH=amd64 CC=$cc CGO_ENABLED=1 go build -v -ldflags="-X main.buildversion=$(date -u +.%Y%m%d.%H%M%S)"
|
||||||
zip -9 -r dist/nyaa-${version}_${os}_amd64.zip os public templates service/user/locale *.md nyaa nyaa.exe
|
zip -9 -r dist/nyaa-${version}_${os}_amd64.zip os public templates service/user/locale *.md nyaa nyaa.exe
|
||||||
done
|
done
|
||||||
|
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
"github.com/NyaaPantsu/nyaa/common"
|
"github.com/NyaaPantsu/nyaa/common"
|
||||||
|
"github.com/NyaaPantsu/nyaa/config"
|
||||||
"github.com/NyaaPantsu/nyaa/model"
|
"github.com/NyaaPantsu/nyaa/model"
|
||||||
"github.com/NyaaPantsu/nyaa/service/user"
|
"github.com/NyaaPantsu/nyaa/service/user"
|
||||||
userForms "github.com/NyaaPantsu/nyaa/service/user/form"
|
userForms "github.com/NyaaPantsu/nyaa/service/user/form"
|
||||||
|
@ -106,6 +107,7 @@ type commonTemplateVariables struct {
|
||||||
URL *url.URL // for parsing URL in templates
|
URL *url.URL // for parsing URL in templates
|
||||||
Route *mux.Route // for getting current route in templates
|
Route *mux.Route // for getting current route in templates
|
||||||
CsrfField template.HTML
|
CsrfField template.HTML
|
||||||
|
Config *config.Config
|
||||||
}
|
}
|
||||||
|
|
||||||
type navigation struct {
|
type navigation struct {
|
||||||
|
@ -158,5 +160,6 @@ func newCommonVariables(r *http.Request) commonTemplateVariables {
|
||||||
URL: r.URL,
|
URL: r.URL,
|
||||||
Route: mux.CurrentRoute(r),
|
Route: mux.CurrentRoute(r),
|
||||||
CsrfField: csrf.TemplateField(r),
|
CsrfField: csrf.TemplateField(r),
|
||||||
|
Config: config.Conf,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,7 +85,7 @@
|
||||||
<div class="footer-opt">
|
<div class="footer-opt">
|
||||||
<p><a href="/settings">{{ call $.T "change_settings" }}</a></p>
|
<p><a href="/settings">{{ call $.T "change_settings" }}</a></p>
|
||||||
</div>
|
</div>
|
||||||
<span><i>Powered by <a href="#">NyaaPantsu</a></i></span>
|
<span><i>Powered by <a href="#">NyaaPantsu</a> v{{ .Config.Version }}{{ .Config.Build }}</i></span>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
|
Référencer dans un nouveau ticket