/* Version management tools. Authors: Georg Hopp Changes: 2018-10-02 [Georg Hopp] File created. Copyright © 2018 Georg Hopp 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 . */ package version import ( "encoding/json" ) type Version struct { Package string `json:"Package"` Version string `json:"Version"` Revision string `json:"Revision"` BuildTime string `json:"BuildTime"` } type versionMap map[string]Version var ( Versions = make(versionMap) ) func (v Version) Register() { Versions[v.Package] = v } func (vMap versionMap) Json() ([]byte, error) { vSlice := make([]Version, len(vMap)) for _, v := range vMap { vSlice = append(vSlice, v) } return json.Marshal(vSlice) } // vim: ts=4 sts=4 sw=4 noet tw=72: