diff --git a/magefile.go b/magefile.go index c35b6d619..136fbe70c 100644 --- a/magefile.go +++ b/magefile.go @@ -177,6 +177,9 @@ func init() { // Some variables have external dependencies (like git) which may not always be available. func initVars() { Tags = os.Getenv("TAGS") + if !strings.Contains(Tags, "swagger") { + Tags += " swagger" + } setVersion() setBinLocation() setPkgVersion() diff --git a/pkg/cmd/web.go b/pkg/cmd/web.go index c42262209..8309fddc9 100644 --- a/pkg/cmd/web.go +++ b/pkg/cmd/web.go @@ -23,15 +23,14 @@ import ( "os/signal" "time" - "code.vikunja.io/api/pkg/cron" - "code.vikunja.io/api/pkg/config" + "code.vikunja.io/api/pkg/cron" "code.vikunja.io/api/pkg/initialize" "code.vikunja.io/api/pkg/log" "code.vikunja.io/api/pkg/routes" - "code.vikunja.io/api/pkg/swagger" "code.vikunja.io/api/pkg/utils" "code.vikunja.io/api/pkg/version" + "github.com/labstack/echo/v4" "github.com/spf13/cobra" ) @@ -76,9 +75,6 @@ var webCmd = &cobra.Command{ // Version notification log.Infof("Vikunja version %s", version.Version) - // Additional swagger information - swagger.SwaggerInfo.Version = version.Version - // Start the webserver e := routes.NewEcho() routes.RegisterRoutes(e) diff --git a/pkg/routes/routes.go b/pkg/routes/routes.go index c9825fe68..379debe12 100644 --- a/pkg/routes/routes.go +++ b/pkg/routes/routes.go @@ -71,7 +71,6 @@ import ( vikunja_file "code.vikunja.io/api/pkg/modules/migration/vikunja-file" apiv1 "code.vikunja.io/api/pkg/routes/api/v1" "code.vikunja.io/api/pkg/routes/caldav" - _ "code.vikunja.io/api/pkg/swagger" // To generate swagger docs "code.vikunja.io/api/pkg/version" "code.vikunja.io/web" "code.vikunja.io/web/handler" diff --git a/pkg/version/swagger.go b/pkg/version/swagger.go new file mode 100644 index 000000000..c9628082f --- /dev/null +++ b/pkg/version/swagger.go @@ -0,0 +1,26 @@ +// Vikunja is a to-do list application to facilitate your life. +// Copyright 2018-2023 Vikunja and contributors. All rights reserved. +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public Licensee as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public Licensee for more details. +// +// You should have received a copy of the GNU Affero General Public Licensee +// along with this program. If not, see . +//go:build swagger +// +build swagger + +package version + +import "code.vikunja.io/api/pkg/swagger" + +func init() { + // Additional swagger information + swagger.SwaggerInfo.Version = Version +}