xref: /aosp_15_r20/external/spdx-tools/spdx/v2_3/snippet.go (revision ba677afa8f67bb56cbc794f4d0e378e0da058e16)
1*ba677afaSXin Li// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
2*ba677afaSXin Li
3*ba677afaSXin Lipackage v2_3
4*ba677afaSXin Li
5*ba677afaSXin Liimport "github.com/spdx/tools-golang/spdx/common"
6*ba677afaSXin Li
7*ba677afaSXin Li// Snippet is a Snippet section of an SPDX Document for version 2.3 of the spec.
8*ba677afaSXin Litype Snippet struct {
9*ba677afaSXin Li
10*ba677afaSXin Li	// 9.1: Snippet SPDX Identifier: "SPDXRef-[idstring]"
11*ba677afaSXin Li	// Cardinality: mandatory, one
12*ba677afaSXin Li	SnippetSPDXIdentifier common.ElementID `json:"SPDXID"`
13*ba677afaSXin Li
14*ba677afaSXin Li	// 9.2: Snippet from File SPDX Identifier
15*ba677afaSXin Li	// Cardinality: mandatory, one
16*ba677afaSXin Li	SnippetFromFileSPDXIdentifier common.ElementID `json:"snippetFromFile"`
17*ba677afaSXin Li
18*ba677afaSXin Li	// Ranges denotes the start/end byte offsets or line numbers that the snippet is relevant to
19*ba677afaSXin Li	Ranges []common.SnippetRange `json:"ranges"`
20*ba677afaSXin Li
21*ba677afaSXin Li	// 9.5: Snippet Concluded License: SPDX License Expression, "NONE" or "NOASSERTION"
22*ba677afaSXin Li	// Cardinality: optional, one
23*ba677afaSXin Li	SnippetLicenseConcluded string `json:"licenseConcluded,omitempty"`
24*ba677afaSXin Li
25*ba677afaSXin Li	// 9.6: License Information in Snippet: SPDX License Expression, "NONE" or "NOASSERTION"
26*ba677afaSXin Li	// Cardinality: optional, one or many
27*ba677afaSXin Li	LicenseInfoInSnippet []string `json:"licenseInfoInSnippets,omitempty"`
28*ba677afaSXin Li
29*ba677afaSXin Li	// 9.7: Snippet Comments on License
30*ba677afaSXin Li	// Cardinality: optional, one
31*ba677afaSXin Li	SnippetLicenseComments string `json:"licenseComments,omitempty"`
32*ba677afaSXin Li
33*ba677afaSXin Li	// 9.8: Snippet Copyright Text: copyright notice(s) text, "NONE" or "NOASSERTION"
34*ba677afaSXin Li	// Cardinality: mandatory, one
35*ba677afaSXin Li	SnippetCopyrightText string `json:"copyrightText"`
36*ba677afaSXin Li
37*ba677afaSXin Li	// 9.9: Snippet Comment
38*ba677afaSXin Li	// Cardinality: optional, one
39*ba677afaSXin Li	SnippetComment string `json:"comment,omitempty"`
40*ba677afaSXin Li
41*ba677afaSXin Li	// 9.10: Snippet Name
42*ba677afaSXin Li	// Cardinality: optional, one
43*ba677afaSXin Li	SnippetName string `json:"name,omitempty"`
44*ba677afaSXin Li
45*ba677afaSXin Li	// 9.11: Snippet Attribution Text
46*ba677afaSXin Li	// Cardinality: optional, one or many
47*ba677afaSXin Li	SnippetAttributionTexts []string `json:"-" yaml:"-"`
48*ba677afaSXin Li}
49