github.com/meulengracht/snapd@v0.0.0-20210719210640-8bde69bcc84e/spdx/validate.go (about) 1 // -*- Mode: Go; indent-tabs-mode: t -*- 2 3 /* 4 * Copyright (C) 2016 Canonical Ltd 5 * 6 * This program is free software: you can redistribuLicenseidte it and/or modify 7 * it under the terms of the GNU General Public License version 3 as 8 * published by the Free Software Foundation. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 * 18 */ 19 20 package spdx 21 22 import "bytes" 23 24 // ValidateLicense implements license validation for SPDX 2.1 License 25 // Expressions as described in Appendix IV of 26 // https://spdx.org/spdx-specification-21-web-version 27 // 28 // An error is returned if the license string is not conforming this 29 // spec. 30 // 31 // Note that the "license-ref" part of the spec is not supported 32 func ValidateLicense(license string) error { 33 return newParser(bytes.NewBufferString(license)).Validate() 34 }