/info endpoint (#85)
This commit is contained in:
parent
c3ea45d900
commit
e2d9de191d
11 changed files with 200 additions and 36 deletions
13
Makefile
13
Makefile
|
@ -19,7 +19,7 @@ GOFMT ?= gofmt -s
|
||||||
GOFLAGS := -v -mod=vendor
|
GOFLAGS := -v -mod=vendor
|
||||||
EXTRA_GOFLAGS ?=
|
EXTRA_GOFLAGS ?=
|
||||||
|
|
||||||
LDFLAGS := -X "code.vikunja.io/api/pkg/cmd.Version=$(shell git describe --tags --always --abbrev=10 | sed 's/-/+/' | sed 's/^v//' | sed 's/-g/-/')" -X "main.Tags=$(TAGS)"
|
LDFLAGS := -X "code.vikunja.io/api/pkg/version.Version=$(shell git describe --tags --always --abbrev=10 | sed 's/-/+/' | sed 's/^v//' | sed 's/-g/-/')" -X "main.Tags=$(TAGS)"
|
||||||
|
|
||||||
PACKAGES ?= $(filter-out code.vikunja.io/api/pkg/integrations,$(shell go list -mod=vendor ./... | grep -v /vendor/))
|
PACKAGES ?= $(filter-out code.vikunja.io/api/pkg/integrations,$(shell go list -mod=vendor ./... | grep -v /vendor/))
|
||||||
SOURCES ?= $(shell find . -name "*.go" -type f)
|
SOURCES ?= $(shell find . -name "*.go" -type f)
|
||||||
|
@ -187,13 +187,12 @@ do-the-swag:
|
||||||
@hash swag > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
@hash swag > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
|
||||||
go install $(GOFLAGS) github.com/swaggo/swag/cmd/swag; \
|
go install $(GOFLAGS) github.com/swaggo/swag/cmd/swag; \
|
||||||
fi
|
fi
|
||||||
swag init -g pkg/routes/routes.go -s ./pkg/swagger;
|
swag init -g pkg/routes/routes.go -o ./pkg/swagger;
|
||||||
# Fix the generated swagger file, currently a workaround until swaggo can properly use go mod
|
# Fix the generated swagger file, currently a workaround until swaggo can properly use go mod
|
||||||
sed -i '/"definitions": {/a "code.vikunja.io.web.HTTPError": {"type": "object","properties": {"code": {"type": "integer"},"message": {"type": "string"}}},' docs/docs.go;
|
sed -i '/"definitions": {/a "code.vikunja.io.web.HTTPError": {"type": "object","properties": {"code": {"type": "integer"},"message": {"type": "string"}}},' pkg/swagger/docs.go;
|
||||||
sed -i 's/code.vikunja.io\/web.HTTPError/code.vikunja.io.web.HTTPError/g' docs/docs.go;
|
sed -i 's/code.vikunja.io\/web.HTTPError/code.vikunja.io.web.HTTPError/g' pkg/swagger/docs.go;
|
||||||
sed -i 's/package\ docs/package\ swagger/g' docs/docs.go;
|
sed -i 's/package\ docs/package\ swagger/g' pkg/swagger/docs.go;
|
||||||
sed -i 's/` + \\"`\\" + `/` + "`" + `/g' docs/docs.go;
|
sed -i 's/` + \\"`\\" + `/` + "`" + `/g' pkg/swagger/docs.go;
|
||||||
mv ./docs/docs.go ./pkg/swagger/docs.go;
|
|
||||||
|
|
||||||
.PHONY: misspell-check
|
.PHONY: misspell-check
|
||||||
misspell-check:
|
misspell-check:
|
||||||
|
|
|
@ -28,9 +28,6 @@ import (
|
||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Version sets the version to be printed to the user. Gets overwritten by "make release" or "make build" with last git commit or tag.
|
|
||||||
var Version = "0.1"
|
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
cobra.OnInitialize(initialize)
|
cobra.OnInitialize(initialize)
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"code.vikunja.io/api/pkg/version"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
@ -29,6 +30,6 @@ var versionCmd = &cobra.Command{
|
||||||
Use: "version",
|
Use: "version",
|
||||||
Short: "Print the version number of Vikunja",
|
Short: "Print the version number of Vikunja",
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
fmt.Println("Vikunja api version " + Version)
|
fmt.Println("Vikunja api version " + version.Version)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ import (
|
||||||
"code.vikunja.io/api/pkg/log"
|
"code.vikunja.io/api/pkg/log"
|
||||||
"code.vikunja.io/api/pkg/routes"
|
"code.vikunja.io/api/pkg/routes"
|
||||||
"code.vikunja.io/api/pkg/swagger"
|
"code.vikunja.io/api/pkg/swagger"
|
||||||
|
"code.vikunja.io/api/pkg/version"
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
|
@ -39,10 +40,10 @@ var webCmd = &cobra.Command{
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
|
||||||
// Version notification
|
// Version notification
|
||||||
fmt.Printf("Vikunja version %s\n", Version)
|
fmt.Printf("Vikunja version %s\n", version.Version)
|
||||||
|
|
||||||
// Additional swagger information
|
// Additional swagger information
|
||||||
swagger.SwaggerInfo.Version = Version
|
swagger.SwaggerInfo.Version = version.Version
|
||||||
|
|
||||||
// Start the webserver
|
// Start the webserver
|
||||||
e := routes.NewEcho()
|
e := routes.NewEcho()
|
||||||
|
|
|
@ -40,6 +40,7 @@ const (
|
||||||
ServiceRootpath Key = `service.rootpath`
|
ServiceRootpath Key = `service.rootpath`
|
||||||
ServicePageCount Key = `service.pagecount`
|
ServicePageCount Key = `service.pagecount`
|
||||||
ServiceEnableMetrics Key = `service.enablemetrics`
|
ServiceEnableMetrics Key = `service.enablemetrics`
|
||||||
|
ServiceMotd Key = `service.motd`
|
||||||
|
|
||||||
DatabaseType Key = `database.type`
|
DatabaseType Key = `database.type`
|
||||||
DatabaseHost Key = `database.host`
|
DatabaseHost Key = `database.host`
|
||||||
|
@ -133,6 +134,8 @@ func InitConfig() {
|
||||||
ServiceRootpath.setDefault(exPath)
|
ServiceRootpath.setDefault(exPath)
|
||||||
ServicePageCount.setDefault(50)
|
ServicePageCount.setDefault(50)
|
||||||
ServiceEnableMetrics.setDefault(false)
|
ServiceEnableMetrics.setDefault(false)
|
||||||
|
ServiceMotd.setDefault("")
|
||||||
|
|
||||||
// Database
|
// Database
|
||||||
DatabaseType.setDefault("sqlite")
|
DatabaseType.setDefault("sqlite")
|
||||||
DatabaseHost.setDefault("localhost")
|
DatabaseHost.setDefault("localhost")
|
||||||
|
|
45
pkg/routes/api/v1/info.go
Normal file
45
pkg/routes/api/v1/info.go
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
// Vikunja is a todo-list application to facilitate your life.
|
||||||
|
// Copyright 2019 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 General Public License 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 General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
package v1
|
||||||
|
|
||||||
|
import (
|
||||||
|
"code.vikunja.io/api/pkg/config"
|
||||||
|
"code.vikunja.io/api/pkg/version"
|
||||||
|
"github.com/labstack/echo/v4"
|
||||||
|
"net/http"
|
||||||
|
)
|
||||||
|
|
||||||
|
type vikunjaInfos struct {
|
||||||
|
Version string `json:"version"`
|
||||||
|
FrontendURL string `json:"frontend_url"`
|
||||||
|
Motd string `json:"motd"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Info is the handler to get infos about this vikunja instance
|
||||||
|
// @Summary Info
|
||||||
|
// @Description Returns the version, frontendurl and motd of Vikunja
|
||||||
|
// @tags service
|
||||||
|
// @Produce json
|
||||||
|
// @Success 200 {object} v1.vikunjaInfos
|
||||||
|
// @Router /info [get]
|
||||||
|
func Info(c echo.Context) error {
|
||||||
|
return c.JSON(http.StatusOK, vikunjaInfos{
|
||||||
|
Version: version.Version,
|
||||||
|
FrontendURL: config.ServiceFrontendurl.GetString(),
|
||||||
|
Motd: config.ServiceMotd.GetString(),
|
||||||
|
})
|
||||||
|
}
|
|
@ -215,6 +215,9 @@ func registerAPIRoutes(a *echo.Group) {
|
||||||
a.POST("/user/password/reset", apiv1.UserResetPassword)
|
a.POST("/user/password/reset", apiv1.UserResetPassword)
|
||||||
a.POST("/user/confirm", apiv1.UserConfirmEmail)
|
a.POST("/user/confirm", apiv1.UserConfirmEmail)
|
||||||
|
|
||||||
|
// Info endpoint
|
||||||
|
a.GET("/info", apiv1.Info)
|
||||||
|
|
||||||
// ===== Routes with Authetification =====
|
// ===== Routes with Authetification =====
|
||||||
// Authetification
|
// Authetification
|
||||||
a.Use(middleware.JWT([]byte(config.ServiceJWTSecret.GetString())))
|
a.Use(middleware.JWT([]byte(config.ServiceJWTSecret.GetString())))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
// GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
|
||||||
// This file was generated by swaggo/swag at
|
// This file was generated by swaggo/swag at
|
||||||
// 2019-06-04 19:35:31.322131656 +0200 CEST m=+0.130618199
|
// 2019-07-16 00:32:48.008049583 +0200 CEST m=+0.169009519
|
||||||
|
|
||||||
package swagger
|
package swagger
|
||||||
|
|
||||||
|
@ -30,6 +30,27 @@ var doc = `{
|
||||||
"host": "{{.Host}}",
|
"host": "{{.Host}}",
|
||||||
"basePath": "/api/v1",
|
"basePath": "/api/v1",
|
||||||
"paths": {
|
"paths": {
|
||||||
|
"/info": {
|
||||||
|
"get": {
|
||||||
|
"description": "Returns the version, frontendurl and motd of Vikunja",
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"service"
|
||||||
|
],
|
||||||
|
"summary": "Info",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"type": "object",
|
||||||
|
"$ref": "#/definitions/v1.vikunjaInfos"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"/labels": {
|
"/labels": {
|
||||||
"get": {
|
"get": {
|
||||||
"security": [
|
"security": [
|
||||||
|
@ -37,7 +58,7 @@ var doc = `{
|
||||||
"JWTKeyAuth": []
|
"JWTKeyAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Returns all labels which are either created by the user or associated with a task the user has at least read-access to.",
|
"description": "Returns an array with all assignees for this task.",
|
||||||
"consumes": [
|
"consumes": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
|
@ -45,9 +66,9 @@ var doc = `{
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"labels"
|
"assignees"
|
||||||
],
|
],
|
||||||
"summary": "Get all labels a user has access to",
|
"summary": "Get all assignees for a task",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
{
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
@ -57,18 +78,18 @@ var doc = `{
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Search labels by label text.",
|
"description": "Search assignees by their username.",
|
||||||
"name": "s",
|
"name": "s",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
"200": {
|
"200": {
|
||||||
"description": "The labels",
|
"description": "The assignees",
|
||||||
"schema": {
|
"schema": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/models.Label"
|
"$ref": "#/definitions/models.User"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3984,7 +4005,7 @@ var doc = `{
|
||||||
"description": "A unix timestamp when this relation was last updated. You cannot change this value.",
|
"description": "A unix timestamp when this relation was last updated. You cannot change this value.",
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"username": {
|
"userID": {
|
||||||
"description": "The username.",
|
"description": "The username.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
|
@ -4414,6 +4435,20 @@ var doc = `{
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"v1.vikunjaInfos": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"frontend_url": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"motd": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"version": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"securityDefinitions": {
|
"securityDefinitions": {
|
||||||
|
|
|
@ -17,6 +17,27 @@
|
||||||
"host": "{{.Host}}",
|
"host": "{{.Host}}",
|
||||||
"basePath": "/api/v1",
|
"basePath": "/api/v1",
|
||||||
"paths": {
|
"paths": {
|
||||||
|
"/info": {
|
||||||
|
"get": {
|
||||||
|
"description": "Returns the version, frontendurl and motd of Vikunja",
|
||||||
|
"produces": [
|
||||||
|
"application/json"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"service"
|
||||||
|
],
|
||||||
|
"summary": "Info",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "OK",
|
||||||
|
"schema": {
|
||||||
|
"type": "object",
|
||||||
|
"$ref": "#/definitions/v1.vikunjaInfos"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"/labels": {
|
"/labels": {
|
||||||
"get": {
|
"get": {
|
||||||
"security": [
|
"security": [
|
||||||
|
@ -24,7 +45,7 @@
|
||||||
"JWTKeyAuth": []
|
"JWTKeyAuth": []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"description": "Returns all labels which are either created by the user or associated with a task the user has at least read-access to.",
|
"description": "Returns an array with all assignees for this task.",
|
||||||
"consumes": [
|
"consumes": [
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
|
@ -32,9 +53,9 @@
|
||||||
"application/json"
|
"application/json"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"labels"
|
"assignees"
|
||||||
],
|
],
|
||||||
"summary": "Get all labels a user has access to",
|
"summary": "Get all assignees for a task",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
{
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
@ -44,18 +65,18 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Search labels by label text.",
|
"description": "Search assignees by their username.",
|
||||||
"name": "s",
|
"name": "s",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"responses": {
|
"responses": {
|
||||||
"200": {
|
"200": {
|
||||||
"description": "The labels",
|
"description": "The assignees",
|
||||||
"schema": {
|
"schema": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "#/definitions/models.Label"
|
"$ref": "#/definitions/models.User"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3970,7 +3991,7 @@
|
||||||
"description": "A unix timestamp when this relation was last updated. You cannot change this value.",
|
"description": "A unix timestamp when this relation was last updated. You cannot change this value.",
|
||||||
"type": "integer"
|
"type": "integer"
|
||||||
},
|
},
|
||||||
"username": {
|
"userID": {
|
||||||
"description": "The username.",
|
"description": "The username.",
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
|
@ -4400,6 +4421,20 @@
|
||||||
"type": "string"
|
"type": "string"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"v1.vikunjaInfos": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"frontend_url": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"motd": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"version": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"securityDefinitions": {
|
"securityDefinitions": {
|
||||||
|
|
|
@ -312,7 +312,7 @@ definitions:
|
||||||
description: A unix timestamp when this relation was last updated. You cannot
|
description: A unix timestamp when this relation was last updated. You cannot
|
||||||
change this value.
|
change this value.
|
||||||
type: integer
|
type: integer
|
||||||
username:
|
userID:
|
||||||
description: The username.
|
description: The username.
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
@ -658,6 +658,15 @@ definitions:
|
||||||
old_password:
|
old_password:
|
||||||
type: string
|
type: string
|
||||||
type: object
|
type: object
|
||||||
|
v1.vikunjaInfos:
|
||||||
|
properties:
|
||||||
|
frontend_url:
|
||||||
|
type: string
|
||||||
|
motd:
|
||||||
|
type: string
|
||||||
|
version:
|
||||||
|
type: string
|
||||||
|
type: object
|
||||||
host: '{{.Host}}'
|
host: '{{.Host}}'
|
||||||
info:
|
info:
|
||||||
contact:
|
contact:
|
||||||
|
@ -677,19 +686,32 @@ info:
|
||||||
title: Vikunja API
|
title: Vikunja API
|
||||||
version: '{{.Version}}'
|
version: '{{.Version}}'
|
||||||
paths:
|
paths:
|
||||||
|
/info:
|
||||||
|
get:
|
||||||
|
description: Returns the version, frontendurl and motd of Vikunja
|
||||||
|
produces:
|
||||||
|
- application/json
|
||||||
|
responses:
|
||||||
|
"200":
|
||||||
|
description: OK
|
||||||
|
schema:
|
||||||
|
$ref: '#/definitions/v1.vikunjaInfos'
|
||||||
|
type: object
|
||||||
|
summary: Info
|
||||||
|
tags:
|
||||||
|
- service
|
||||||
/labels:
|
/labels:
|
||||||
get:
|
get:
|
||||||
consumes:
|
consumes:
|
||||||
- application/json
|
- application/json
|
||||||
description: Returns all labels which are either created by the user or associated
|
description: Returns an array with all assignees for this task.
|
||||||
with a task the user has at least read-access to.
|
|
||||||
parameters:
|
parameters:
|
||||||
- description: The page number. Used for pagination. If not provided, the first
|
- description: The page number. Used for pagination. If not provided, the first
|
||||||
page of results is returned.
|
page of results is returned.
|
||||||
in: query
|
in: query
|
||||||
name: p
|
name: p
|
||||||
type: integer
|
type: integer
|
||||||
- description: Search labels by label text.
|
- description: Search assignees by their username.
|
||||||
in: query
|
in: query
|
||||||
name: s
|
name: s
|
||||||
type: string
|
type: string
|
||||||
|
@ -697,10 +719,10 @@ paths:
|
||||||
- application/json
|
- application/json
|
||||||
responses:
|
responses:
|
||||||
"200":
|
"200":
|
||||||
description: The labels
|
description: The assignees
|
||||||
schema:
|
schema:
|
||||||
items:
|
items:
|
||||||
$ref: '#/definitions/models.Label'
|
$ref: '#/definitions/models.User'
|
||||||
type: array
|
type: array
|
||||||
"500":
|
"500":
|
||||||
description: Internal error
|
description: Internal error
|
||||||
|
@ -709,9 +731,9 @@ paths:
|
||||||
type: object
|
type: object
|
||||||
security:
|
security:
|
||||||
- JWTKeyAuth: []
|
- JWTKeyAuth: []
|
||||||
summary: Get all labels a user has access to
|
summary: Get all assignees for a task
|
||||||
tags:
|
tags:
|
||||||
- labels
|
- assignees
|
||||||
put:
|
put:
|
||||||
consumes:
|
consumes:
|
||||||
- application/json
|
- application/json
|
||||||
|
|
23
pkg/version/version.go
Normal file
23
pkg/version/version.go
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
// Vikunja is a todo-list application to facilitate your life.
|
||||||
|
// Copyright 2019 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 General Public License 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 General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU General Public License
|
||||||
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
package version
|
||||||
|
|
||||||
|
// This package holds the version info
|
||||||
|
// It is an own package to avoid import cycles
|
||||||
|
|
||||||
|
// Version sets the version to be printed to the user. Gets overwritten by "make release" or "make build" with last git commit or tag.
|
||||||
|
var Version = "0.7"
|
Loading…
Reference in a new issue