Merge "Make me an OWNER of the licenses/ files."
diff --git a/android/module.go b/android/module.go
index 68008c2..a20dc56 100644
--- a/android/module.go
+++ b/android/module.go
@@ -492,22 +492,39 @@
TransitivePackagingSpecs() []PackagingSpec
}
+// BazelTargetModule is a lightweight wrapper interface around Module for
+// bp2build conversion purposes.
+//
+// In bp2build's bootstrap.Main execution, Soong runs an alternate pipeline of
+// mutators that creates BazelTargetModules from regular Module objects,
+// performing the mapping from Soong properties to Bazel rule attributes in the
+// process. This process may optionally create additional BazelTargetModules,
+// resulting in a 1:many mapping.
+//
+// bp2build.Codegen is then responsible for visiting all modules in the graph,
+// filtering for BazelTargetModules, and code-generating BUILD targets from
+// them.
type BazelTargetModule interface {
Module
BazelTargetModuleProperties() *bazel.BazelTargetModuleProperties
}
+// InitBazelTargetModule is a wrapper function that decorates BazelTargetModule
+// with property structs containing metadata for bp2build conversion.
func InitBazelTargetModule(module BazelTargetModule) {
module.AddProperties(module.BazelTargetModuleProperties())
InitAndroidModule(module)
}
+// BazelTargetModuleBase contains the property structs with metadata for
+// bp2build conversion.
type BazelTargetModuleBase struct {
ModuleBase
Properties bazel.BazelTargetModuleProperties
}
+// BazelTargetModuleProperties getter.
func (btmb *BazelTargetModuleBase) BazelTargetModuleProperties() *bazel.BazelTargetModuleProperties {
return &btmb.Properties
}
diff --git a/apex/androidmk.go b/apex/androidmk.go
index 4408283..99cd75e 100644
--- a/apex/androidmk.go
+++ b/apex/androidmk.go
@@ -450,12 +450,21 @@
fmt.Fprintf(w, dist)
}
- if a.coverageOutputPath.String() != "" {
+ if a.apisUsedByModuleFile.String() != "" {
goal := "apps_only"
- distFile := a.coverageOutputPath.String()
+ distFile := a.apisUsedByModuleFile.String()
fmt.Fprintf(w, "ifneq (,$(filter $(my_register_name),$(TARGET_BUILD_APPS)))\n"+
" $(call dist-for-goals,%s,%s:ndk_apis_usedby_apex/$(notdir %s))\n"+
- "endif",
+ "endif\n",
+ goal, distFile, distFile)
+ }
+
+ if a.apisBackedByModuleFile.String() != "" {
+ goal := "apps_only"
+ distFile := a.apisBackedByModuleFile.String()
+ fmt.Fprintf(w, "ifneq (,$(filter $(my_register_name),$(TARGET_BUILD_APPS)))\n"+
+ " $(call dist-for-goals,%s,%s:ndk_apis_backedby_apex/$(notdir %s))\n"+
+ "endif\n",
goal, distFile, distFile)
}
}
diff --git a/apex/apex.go b/apex/apex.go
index 507d3ed..384d6c7 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -390,7 +390,8 @@
isCompressed bool
// Path of API coverage generate file
- coverageOutputPath android.ModuleOutPath
+ apisUsedByModuleFile android.ModuleOutPath
+ apisBackedByModuleFile android.ModuleOutPath
}
// apexFileClass represents a type of file that can be included in APEX.
diff --git a/apex/builder.go b/apex/builder.go
index e6bc3bd..67314d8 100644
--- a/apex/builder.go
+++ b/apex/builder.go
@@ -687,7 +687,7 @@
implicitInputs = append(implicitInputs, unsignedOutputFile)
// Run coverage analysis
- apisUsedbyOutputFile := android.PathForModuleOut(ctx, a.Name()+".txt")
+ apisUsedbyOutputFile := android.PathForModuleOut(ctx, a.Name()+"_using.txt")
ctx.Build(pctx, android.BuildParams{
Rule: generateAPIsUsedbyApexRule,
Implicits: implicitInputs,
@@ -698,7 +698,19 @@
"readelf": "${config.ClangBin}/llvm-readelf",
},
})
- a.coverageOutputPath = apisUsedbyOutputFile
+ a.apisUsedByModuleFile = apisUsedbyOutputFile
+
+ apisBackedbyOutputFile := android.PathForModuleOut(ctx, a.Name()+"_backing.txt")
+ ndkLibraryList := android.PathForSource(ctx, "system/core/rootdir/etc/public.libraries.android.txt")
+ rule := android.NewRuleBuilder(pctx, ctx)
+ rule.Command().
+ Tool(android.PathForSource(ctx, "build/soong/scripts/gen_ndk_backedby_apex.sh")).
+ Text(imageDir.String()).
+ Implicits(implicitInputs).
+ Output(apisBackedbyOutputFile).
+ Input(ndkLibraryList)
+ rule.Build("ndk_backedby_list", "Generate API libraries backed by Apex")
+ a.apisBackedByModuleFile = apisBackedbyOutputFile
bundleConfig := a.buildBundleConfig(ctx)
diff --git a/bp2build/Android.bp b/bp2build/Android.bp
index 8007574..2bbe4b5 100644
--- a/bp2build/Android.bp
+++ b/bp2build/Android.bp
@@ -11,6 +11,7 @@
deps: [
"soong-android",
"soong-bazel",
+ "soong-genrule",
],
testSrcs: [
"build_conversion_test.go",
diff --git a/bp2build/androidbp_to_build_templates.go b/bp2build/androidbp_to_build_templates.go
index 9bac86b..5fed4fa 100644
--- a/bp2build/androidbp_to_build_templates.go
+++ b/bp2build/androidbp_to_build_templates.go
@@ -25,10 +25,10 @@
// for expanding more attributes.
soongModuleTarget = `soong_module(
name = "%s",
- module_name = "%s",
- module_type = "%s",
- module_variant = "%s",
- module_deps = %s,
+ soong_module_name = "%s",
+ soong_module_type = "%s",
+ soong_module_variant = "%s",
+ soong_module_deps = %s,
%s)`
bazelTarget = `%s(
@@ -38,7 +38,7 @@
// A simple provider to mark and differentiate Soong module rule shims from
// regular Bazel rules. Every Soong module rule shim returns a
// SoongModuleInfo provider, and can only depend on rules returning
- // SoongModuleInfo in the `module_deps` attribute.
+ // SoongModuleInfo in the `soong_module_deps` attribute.
providersBzl = `SoongModuleInfo = provider(
fields = {
"name": "Name of module",
@@ -57,19 +57,19 @@
def _generic_soong_module_impl(ctx):
return [
SoongModuleInfo(
- name = ctx.attr.module_name,
- type = ctx.attr.module_type,
- variant = ctx.attr.module_variant,
+ name = ctx.attr.soong_module_name,
+ type = ctx.attr.soong_module_type,
+ variant = ctx.attr.soong_module_variant,
),
]
generic_soong_module = rule(
implementation = _generic_soong_module_impl,
attrs = {
- "module_name": attr.string(mandatory = True),
- "module_type": attr.string(mandatory = True),
- "module_variant": attr.string(),
- "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+ "soong_module_name": attr.string(mandatory = True),
+ "soong_module_type": attr.string(mandatory = True),
+ "soong_module_variant": attr.string(),
+ "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
},
)
@@ -89,20 +89,20 @@
else:
return False
-# soong_module is a macro that supports arbitrary kwargs, and uses module_type to
+# soong_module is a macro that supports arbitrary kwargs, and uses soong_module_type to
# expand to the right underlying shim.
-def soong_module(name, module_type, **kwargs):
- soong_module_rule = soong_module_rule_map.get(module_type)
+def soong_module(name, soong_module_type, **kwargs):
+ soong_module_rule = soong_module_rule_map.get(soong_module_type)
if soong_module_rule == None:
# This module type does not have an existing rule to map to, so use the
# generic_soong_module rule instead.
generic_soong_module(
name = name,
- module_type = module_type,
- module_name = kwargs.pop("module_name", ""),
- module_variant = kwargs.pop("module_variant", ""),
- module_deps = kwargs.pop("module_deps", []),
+ soong_module_type = soong_module_type,
+ soong_module_name = kwargs.pop("soong_module_name", ""),
+ soong_module_variant = kwargs.pop("soong_module_variant", ""),
+ soong_module_deps = kwargs.pop("soong_module_deps", []),
)
else:
supported_kwargs = dict()
diff --git a/bp2build/build_conversion_test.go b/bp2build/build_conversion_test.go
index 5fd3999..7fbd257 100644
--- a/bp2build/build_conversion_test.go
+++ b/bp2build/build_conversion_test.go
@@ -16,6 +16,7 @@
import (
"android/soong/android"
+ "android/soong/genrule"
"testing"
)
@@ -31,10 +32,10 @@
`,
expectedBazelTarget: `soong_module(
name = "foo",
- module_name = "foo",
- module_type = "custom",
- module_variant = "",
- module_deps = [
+ soong_module_name = "foo",
+ soong_module_type = "custom",
+ soong_module_variant = "",
+ soong_module_deps = [
],
)`,
},
@@ -46,10 +47,10 @@
`,
expectedBazelTarget: `soong_module(
name = "foo",
- module_name = "foo",
- module_type = "custom",
- module_variant = "",
- module_deps = [
+ soong_module_name = "foo",
+ soong_module_type = "custom",
+ soong_module_variant = "",
+ soong_module_deps = [
],
ramdisk = True,
)`,
@@ -62,10 +63,10 @@
`,
expectedBazelTarget: `soong_module(
name = "foo",
- module_name = "foo",
- module_type = "custom",
- module_variant = "",
- module_deps = [
+ soong_module_name = "foo",
+ soong_module_type = "custom",
+ soong_module_variant = "",
+ soong_module_deps = [
],
owner = "a_string_with\"quotes\"_and_\\backslashes\\\\",
)`,
@@ -78,10 +79,10 @@
`,
expectedBazelTarget: `soong_module(
name = "foo",
- module_name = "foo",
- module_type = "custom",
- module_variant = "",
- module_deps = [
+ soong_module_name = "foo",
+ soong_module_type = "custom",
+ soong_module_variant = "",
+ soong_module_deps = [
],
required = [
"bar",
@@ -96,10 +97,10 @@
`,
expectedBazelTarget: `soong_module(
name = "foo",
- module_name = "foo",
- module_type = "custom",
- module_variant = "",
- module_deps = [
+ soong_module_name = "foo",
+ soong_module_type = "custom",
+ soong_module_variant = "",
+ soong_module_deps = [
],
target_required = [
"qux",
@@ -124,10 +125,10 @@
`,
expectedBazelTarget: `soong_module(
name = "foo",
- module_name = "foo",
- module_type = "custom",
- module_variant = "",
- module_deps = [
+ soong_module_name = "foo",
+ soong_module_type = "custom",
+ soong_module_variant = "",
+ soong_module_deps = [
],
dist = {
"tag": ".foo",
@@ -162,10 +163,10 @@
`,
expectedBazelTarget: `soong_module(
name = "foo",
- module_name = "foo",
- module_type = "custom",
- module_variant = "",
- module_deps = [
+ soong_module_name = "foo",
+ soong_module_type = "custom",
+ soong_module_variant = "",
+ soong_module_deps = [
],
dists = [
{
@@ -302,6 +303,54 @@
],
)`,
},
+ {
+ moduleTypeUnderTest: "genrule",
+ moduleTypeUnderTestFactory: genrule.GenRuleFactory,
+ bp: `genrule {
+ name: "foo",
+ out: ["foo.out"],
+ srcs: ["foo.in"],
+ tool_files: [":foo.tool"],
+ cmd: "$(location :foo.tool) arg $(in) $(out)",
+}`,
+ expectedBazelTarget: `genrule(
+ name = "foo",
+ cmd = "$(location :foo.tool) arg $(SRCS) $(OUTS)",
+ outs = [
+ "foo.out",
+ ],
+ srcs = [
+ "foo.in",
+ ],
+ tools = [
+ ":foo.tool",
+ ],
+)`,
+ },
+ {
+ moduleTypeUnderTest: "genrule",
+ moduleTypeUnderTestFactory: genrule.GenRuleFactory,
+ bp: `genrule {
+ name: "foo",
+ out: ["foo.out"],
+ srcs: ["foo.in"],
+ tools: [":foo.tool"],
+ cmd: "$(location :foo.tool) --out-dir=$(genDir) $(in)",
+}`,
+ expectedBazelTarget: `genrule(
+ name = "foo",
+ cmd = "$(location :foo.tool) --out-dir=$(GENDIR) $(SRCS)",
+ outs = [
+ "foo.out",
+ ],
+ srcs = [
+ "foo.in",
+ ],
+ tools = [
+ ":foo.tool",
+ ],
+)`,
+ },
}
dir := "."
diff --git a/bp2build/bzl_conversion.go b/bp2build/bzl_conversion.go
index 04c4542..f2f6b01 100644
--- a/bp2build/bzl_conversion.go
+++ b/bp2build/bzl_conversion.go
@@ -109,9 +109,9 @@
factoryName := runtime.FuncForPC(reflect.ValueOf(factory).Pointer()).Name()
pkg := strings.Split(factoryName, ".")[0]
attrs := `{
- "module_name": attr.string(mandatory = True),
- "module_variant": attr.string(),
- "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+ "soong_module_name": attr.string(mandatory = True),
+ "soong_module_variant": attr.string(),
+ "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
`
attrs += getAttributes(factory)
attrs += " },"
diff --git a/bp2build/bzl_conversion_test.go b/bp2build/bzl_conversion_test.go
index 01c7271..c1e660e 100644
--- a/bp2build/bzl_conversion_test.go
+++ b/bp2build/bzl_conversion_test.go
@@ -83,9 +83,9 @@
custom = rule(
implementation = _custom_impl,
attrs = {
- "module_name": attr.string(mandatory = True),
- "module_variant": attr.string(),
- "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+ "soong_module_name": attr.string(mandatory = True),
+ "soong_module_variant": attr.string(),
+ "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
"bool_prop": attr.bool(),
"bool_ptr_prop": attr.bool(),
"int64_ptr_prop": attr.int(),
@@ -107,9 +107,9 @@
custom_defaults = rule(
implementation = _custom_defaults_impl,
attrs = {
- "module_name": attr.string(mandatory = True),
- "module_variant": attr.string(),
- "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+ "soong_module_name": attr.string(mandatory = True),
+ "soong_module_variant": attr.string(),
+ "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
"bool_prop": attr.bool(),
"bool_ptr_prop": attr.bool(),
"int64_ptr_prop": attr.int(),
@@ -131,9 +131,9 @@
custom_test_ = rule(
implementation = _custom_test__impl,
attrs = {
- "module_name": attr.string(mandatory = True),
- "module_variant": attr.string(),
- "module_deps": attr.label_list(providers = [SoongModuleInfo]),
+ "soong_module_name": attr.string(mandatory = True),
+ "soong_module_variant": attr.string(),
+ "soong_module_deps": attr.label_list(providers = [SoongModuleInfo]),
"bool_prop": attr.bool(),
"bool_ptr_prop": attr.bool(),
"int64_ptr_prop": attr.int(),
diff --git a/cc/config/tidy.go b/cc/config/tidy.go
index d5d01b4..7cc9f43 100644
--- a/cc/config/tidy.go
+++ b/cc/config/tidy.go
@@ -62,10 +62,8 @@
}, ",")
// clang-analyzer-* checks are too slow to be in the default for WITH_TIDY=1.
// nightly builds add CLANG_ANALYZER_CHECKS=1 to run those checks.
- // Some test code have clang-diagnostic-padded warnings that cannot be
- // suppressed, but only by disabling clang-analyzer-optin.performance.*.
if ctx.Config().IsEnvTrue("CLANG_ANALYZER_CHECKS") {
- checks += ",clang-analyzer-*,-clang-analyzer-optin.performance.*"
+ checks += ",clang-analyzer-*"
}
return checks
})
diff --git a/genrule/genrule.go b/genrule/genrule.go
index 8df32f2..1f47dec 100644
--- a/genrule/genrule.go
+++ b/genrule/genrule.go
@@ -46,6 +46,8 @@
ctx.FinalDepsMutators(func(ctx android.RegisterMutatorsContext) {
ctx.BottomUp("genrule_tool_deps", toolDepsMutator).Parallel()
})
+
+ android.RegisterBp2BuildMutator("genrule", bp2buildMutator)
}
var (
@@ -772,6 +774,70 @@
Out []string `android:"arch_variant"`
}
+type bazelGenruleAttributes struct {
+ Name *string
+ Srcs []string
+ Outs []string
+ Tools []string
+ Cmd string
+}
+
+type bazelGenrule struct {
+ android.BazelTargetModuleBase
+ bazelGenruleAttributes
+}
+
+func BazelGenruleFactory() android.Module {
+ module := &bazelGenrule{}
+ module.AddProperties(&module.bazelGenruleAttributes)
+ android.InitBazelTargetModule(module)
+ return module
+}
+
+func bp2buildMutator(ctx android.TopDownMutatorContext) {
+ if m, ok := ctx.Module().(*Module); ok {
+ name := "__bp2build__" + m.Name()
+ // Replace in and out variables with $< and $@
+ var cmd string
+ if m.properties.Cmd != nil {
+ cmd = strings.Replace(*m.properties.Cmd, "$(in)", "$(SRCS)", -1)
+ cmd = strings.Replace(cmd, "$(out)", "$(OUTS)", -1)
+ cmd = strings.Replace(cmd, "$(genDir)", "$(GENDIR)", -1)
+ }
+
+ // The Out prop is not in an immediately accessible field
+ // in the Module struct, so use GetProperties and cast it
+ // to the known struct prop.
+ var outs []string
+ for _, propIntf := range m.GetProperties() {
+ if props, ok := propIntf.(*genRuleProperties); ok {
+ outs = props.Out
+ break
+ }
+ }
+
+ // Bazel only has the "tools" attribute.
+ tools := append(m.properties.Tools, m.properties.Tool_files...)
+
+ // Create the BazelTargetModule.
+ ctx.CreateModule(BazelGenruleFactory, &bazelGenruleAttributes{
+ Name: proptools.StringPtr(name),
+ Srcs: m.properties.Srcs,
+ Outs: outs,
+ Cmd: cmd,
+ Tools: tools,
+ }, &bazel.BazelTargetModuleProperties{
+ Rule_class: "genrule",
+ })
+ }
+}
+
+func (m *bazelGenrule) Name() string {
+ return m.BaseModuleName()
+}
+
+func (m *bazelGenrule) GenerateAndroidBuildActions(ctx android.ModuleContext) {}
+
var Bool = proptools.Bool
var String = proptools.String
diff --git a/licenses/Android.bp b/licenses/Android.bp
index 8032dc5..e87bdcf 100644
--- a/licenses/Android.bp
+++ b/licenses/Android.bp
@@ -14,1074 +14,1216 @@
// limitations under the License.
package {
- default_visibility: ["//visibility:public"],
- default_applicable_licenses: ["Android-Apache-2.0"],
+ default_visibility: ["//visibility:public"],
+ default_applicable_licenses: ["Android-Apache-2.0"],
}
license {
- name: "Android-Apache-2.0",
- license_kinds: ["SPDX-license-identifier-Apache-2.0"],
- copyright_notice: "Copyright (C) The Android Open Source Project",
- license_text: ["LICENSE"],
+ name: "Android-Apache-2.0",
+ license_kinds: ["SPDX-license-identifier-Apache-2.0"],
+ copyright_notice: "Copyright (C) The Android Open Source Project",
+ license_text: ["LICENSE"],
}
license_kind {
- name: "SPDX-license-identifier-AFL-1.1",
- conditions: ["by_exception_only"],
- url: "https://spdx.org/licenses/AFL-1.1.html",
+ name: "SPDX-license-identifier-0BSD",
+ conditions: ["unencumbered"],
+ url: "https://spdx.org/licenses/0BSD",
}
license_kind {
- name: "SPDX-license-identifier-AFL-1.2",
- conditions: ["by_exception_only"],
- url: "https://spdx.org/licenses/AFL-1.2.html",
+ name: "SPDX-license-identifier-AFL-1.1",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/AFL-1.1.html",
}
license_kind {
- name: "SPDX-license-identifier-AFL-2.0",
- conditions: ["by_exception_only"],
- url: "https://spdx.org/licenses/AFL-2.0.html",
+ name: "SPDX-license-identifier-AFL-1.2",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/AFL-1.2.html",
}
license_kind {
- name: "SPDX-license-identifier-AFL-2.1",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/AFL-2.1.html",
+ name: "SPDX-license-identifier-AFL-2.0",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/AFL-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-AFL-3.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/AFL-3.0.html",
+ name: "SPDX-license-identifier-AFL-2.1",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/AFL-2.1.html",
}
license_kind {
- name: "SPDX-license-identifier-AGPL",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/AGPL.html",
+ name: "SPDX-license-identifier-AFL-3.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/AFL-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-AGPL-1.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/AGPL-1.0.html",
+ name: "SPDX-license-identifier-AGPL",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/AGPL.html",
}
license_kind {
- name: "SPDX-license-identifier-AGPL-1.0-only",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/AGPL-1.0-only.html",
+ name: "SPDX-license-identifier-AGPL-1.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/AGPL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-AGPL-1.0-or-later",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/AGPL-1.0-or-later.html",
+ name: "SPDX-license-identifier-AGPL-1.0-only",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/AGPL-1.0-only.html",
}
license_kind {
- name: "SPDX-license-identifier-AGPL-3.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/AGPL-3.0.html",
+ name: "SPDX-license-identifier-AGPL-1.0-or-later",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/AGPL-1.0-or-later.html",
}
license_kind {
- name: "SPDX-license-identifier-AGPL-3.0-only",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/AGPL-3.0-only.html",
+ name: "SPDX-license-identifier-AGPL-3.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/AGPL-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-AGPL-3.0-or-later",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/AGPL-3.0-or-later.html",
+ name: "SPDX-license-identifier-AGPL-3.0-only",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/AGPL-3.0-only.html",
}
license_kind {
- name: "SPDX-license-identifier-Apache",
- conditions: ["notice"],
+ name: "SPDX-license-identifier-AGPL-3.0-or-later",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/AGPL-3.0-or-later.html",
}
license_kind {
- name: "SPDX-license-identifier-Apache-1.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Apache-1.0.html",
+ name: "SPDX-license-identifier-Apache",
+ conditions: ["notice"],
}
license_kind {
- name: "SPDX-license-identifier-Apache-1.1",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Apache-1.1.html",
+ name: "SPDX-license-identifier-Apache-1.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Apache-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-Apache-2.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Apache-2.0.html",
+ name: "SPDX-license-identifier-Apache-1.1",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Apache-1.1.html",
}
license_kind {
- name: "SPDX-license-identifier-Artistic",
- conditions: ["notice"],
+ name: "SPDX-license-identifier-Apache-2.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Apache-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-Artistic-1.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Artistic-1.0.html",
+ name: "SPDX-license-identifier-Artistic",
+ conditions: ["notice"],
}
license_kind {
- name: "SPDX-license-identifier-Artistic-1.0-Perl",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Artistic-1.0-Perl.html",
+ name: "SPDX-license-identifier-Artistic-1.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Artistic-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-Artistic-1.0-cl8",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Artistic-1.0-cl8.html",
+ name: "SPDX-license-identifier-Artistic-1.0-Perl",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Artistic-1.0-Perl.html",
}
license_kind {
- name: "SPDX-license-identifier-Artistic-2.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Artistic-2.0.html",
+ name: "SPDX-license-identifier-Artistic-1.0-cl8",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Artistic-1.0-cl8.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD",
- conditions: ["notice"],
+ name: "SPDX-license-identifier-Artistic-2.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Artistic-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-1-Clause",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-1-Clause.html",
+ name: "SPDX-license-identifier-BSD",
+ conditions: ["notice"],
}
license_kind {
- name: "SPDX-license-identifier-BSD-2-Clause",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-2-Clause.html",
+ name: "SPDX-license-identifier-BSD-1-Clause",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-1-Clause.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-2-Clause-FreeBSD",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.html",
+ name: "SPDX-license-identifier-BSD-2-Clause",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-2-Clause.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-2-Clause-NetBSD",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-2-Clause-NetBSD.html",
+ name: "SPDX-license-identifier-BSD-2-Clause-FreeBSD",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-2-Clause-FreeBSD.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-2-Clause-Patent",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-2-Clause-Patent.html",
+ name: "SPDX-license-identifier-BSD-2-Clause-NetBSD",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-2-Clause-NetBSD.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-3-Clause",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-3-Clause.html",
+ name: "SPDX-license-identifier-BSD-2-Clause-Patent",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-2-Clause-Patent.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-3-Clause-Attribution",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-3-Clause-Attribution.html",
+ name: "SPDX-license-identifier-BSD-3-Clause",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-3-Clause.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-3-Clause-Clear",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-3-Clause-Clear.html",
+ name: "SPDX-license-identifier-BSD-3-Clause-Attribution",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-3-Clause-Attribution.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-3-Clause-LBNL",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-3-Clause-LBNL.html",
+ name: "SPDX-license-identifier-BSD-3-Clause-Clear",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-3-Clause-Clear.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-License",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html",
+ name: "SPDX-license-identifier-BSD-3-Clause-LBNL",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-3-Clause-LBNL.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-License-2014",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.html",
+ name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-License",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-Warranty",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html",
+ name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-License-2014",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-License-2014.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-3-Clause-Open-MPI",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html",
+ name: "SPDX-license-identifier-BSD-3-Clause-No-Nuclear-Warranty",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-3-Clause-No-Nuclear-Warranty.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-4-Clause",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-4-Clause.html",
+ name: "SPDX-license-identifier-BSD-3-Clause-Open-MPI",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-3-Clause-Open-MPI.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-4-Clause-UC",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-4-Clause-UC.html",
+ name: "SPDX-license-identifier-BSD-4-Clause",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-4-Clause.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-Protection",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-Protection.html",
+ name: "SPDX-license-identifier-BSD-4-Clause-UC",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-4-Clause-UC.html",
}
license_kind {
- name: "SPDX-license-identifier-BSD-Source-Code",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSD-Source-Code.html",
+ name: "SPDX-license-identifier-BSD-Protection",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-Protection.html",
}
license_kind {
- name: "SPDX-license-identifier-BSL-1.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/BSL-1.0.html",
+ name: "SPDX-license-identifier-BSD-Source-Code",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSD-Source-Code.html",
}
license_kind {
- name: "SPDX-license-identifier-Beerware",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/Beerware.html",
+ name: "SPDX-license-identifier-BSL-1.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/BSL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY",
- conditions: ["notice"],
+ name: "SPDX-license-identifier-Beerware",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/Beerware.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-1.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/CC-BY-1.0.html",
+ name: "SPDX-license-identifier-CC-BY",
+ conditions: ["notice"],
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-2.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/CC-BY-2.0.html",
+ name: "SPDX-license-identifier-CC-BY-1.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/CC-BY-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-2.5",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/CC-BY-2.5.html",
+ name: "SPDX-license-identifier-CC-BY-2.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/CC-BY-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-3.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/CC-BY-3.0.html",
+ name: "SPDX-license-identifier-CC-BY-2.5",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/CC-BY-2.5.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-4.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/CC-BY-4.0.html",
+ name: "SPDX-license-identifier-CC-BY-3.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/CC-BY-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC",
- conditions: ["by_exception_only", "not_allowed"],
+ name: "SPDX-license-identifier-CC-BY-4.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/CC-BY-4.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-1.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-1.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-2.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-2.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-1.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-2.5",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-2.5.html",
+ name: "SPDX-license-identifier-CC-BY-NC-2.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-3.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-3.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-2.5",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-2.5.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-4.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-4.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-3.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-ND-1.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-ND-1.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-4.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-4.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-ND-2.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-ND-2.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-ND-1.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-ND-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-ND-2.5",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html",
+ name: "SPDX-license-identifier-CC-BY-NC-ND-2.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-ND-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-ND-3.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-ND-3.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-ND-2.5",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-ND-2.5.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-ND-4.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-ND-4.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-ND-3.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-ND-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-SA-1.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-SA-1.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-ND-4.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-ND-4.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-SA-2.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-SA-2.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-SA-1.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-SA-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-SA-2.5",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-SA-2.5.html",
+ name: "SPDX-license-identifier-CC-BY-NC-SA-2.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-SA-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-SA-3.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-SA-2.5",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-SA-2.5.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-NC-SA-4.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html",
+ name: "SPDX-license-identifier-CC-BY-NC-SA-3.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-SA-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-ND",
- conditions: ["restricted"],
+ name: "SPDX-license-identifier-CC-BY-NC-SA-4.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CC-BY-NC-SA-4.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-ND-1.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-ND-1.0.html",
+ name: "SPDX-license-identifier-CC-BY-ND",
+ conditions: ["restricted"],
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-ND-2.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-ND-2.0.html",
+ name: "SPDX-license-identifier-CC-BY-ND-1.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-ND-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-ND-2.5",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-ND-2.5.html",
+ name: "SPDX-license-identifier-CC-BY-ND-2.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-ND-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-ND-3.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-ND-3.0.html",
+ name: "SPDX-license-identifier-CC-BY-ND-2.5",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-ND-2.5.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-ND-4.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-ND-4.0.html",
+ name: "SPDX-license-identifier-CC-BY-ND-3.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-ND-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-SA",
- conditions: ["restricted"],
+ name: "SPDX-license-identifier-CC-BY-ND-4.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-ND-4.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-SA-1.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-SA-1.0.html",
+ name: "SPDX-license-identifier-CC-BY-SA",
+ conditions: ["restricted"],
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-SA-2.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-SA-2.0.html",
+ name: "SPDX-license-identifier-CC-BY-SA-1.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-SA-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-SA-2.5",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-SA-2.5.html",
+ name: "SPDX-license-identifier-CC-BY-SA-2.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-SA-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-SA-3.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-SA-3.0.html",
+ name: "SPDX-license-identifier-CC-BY-SA-2.5",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-SA-2.5.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-SA-4.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/CC-BY-SA-4.0.html",
+ name: "SPDX-license-identifier-CC-BY-SA-3.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-SA-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC-BY-SA-ND",
- conditions: ["restricted"],
+ name: "SPDX-license-identifier-CC-BY-SA-4.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/CC-BY-SA-4.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CC0-1.0",
- conditions: ["unencumbered"],
- url: "https://spdx.org/licenses/CC0-1.0.html",
+ name: "SPDX-license-identifier-CC-BY-SA-ND",
+ conditions: ["restricted"],
}
license_kind {
- name: "SPDX-license-identifier-CPAL-1.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/CPAL-1.0.html",
+ name: "SPDX-license-identifier-CC0-1.0",
+ conditions: ["unencumbered"],
+ url: "https://spdx.org/licenses/CC0-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-CPL-1.0",
- conditions: ["reciprocal"],
- url: "https://spdx.org/licenses/CPL-1.0.html",
+ name: "SPDX-license-identifier-CPAL-1.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/CPAL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-EPL",
- conditions: ["reciprocal"],
+ name: "SPDX-license-identifier-CPL-1.0",
+ conditions: ["reciprocal"],
+ url: "https://spdx.org/licenses/CPL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-EPL-1.0",
- conditions: ["reciprocal"],
- url: "https://spdx.org/licenses/EPL-1.0.html",
+ name: "SPDX-license-identifier-EPL",
+ conditions: ["reciprocal"],
+}
+
+license_kind {
+ name: "SPDX-license-identifier-EPL-1.0",
+ conditions: ["reciprocal"],
+ url: "https://spdx.org/licenses/EPL-1.0.html",
+}
+
+license_kind {
+ name: "SPDX-license-identifier-EPL-2.0",
+ conditions: ["reciprocal"],
+ url: "https://spdx.org/licenses/EPL-2.0.html",
+}
+
+license_kind {
+ name: "SPDX-license-identifier-EUPL",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
}
license_kind {
- name: "SPDX-license-identifier-EPL-2.0",
- conditions: ["reciprocal"],
- url: "https://spdx.org/licenses/EPL-2.0.html",
+ name: "SPDX-license-identifier-EUPL-1.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/EUPL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-EUPL",
- conditions: ["by_exception_only", "not_allowed"],
+ name: "SPDX-license-identifier-EUPL-1.1",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/EUPL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-EUPL-1.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/EUPL-1.0.html",
+ name: "SPDX-license-identifier-EUPL-1.2",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/EUPL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-EUPL-1.1",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/EUPL-1.0.html",
+ name: "SPDX-license-identifier-FSFAP",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/FSFAP",
}
license_kind {
- name: "SPDX-license-identifier-EUPL-1.2",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/EUPL-1.0.html",
+ name: "SPDX-license-identifier-FTL",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/FTL.html",
}
license_kind {
- name: "SPDX-license-identifier-FTL",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/FTL.html",
+ name: "SPDX-license-identifier-GFDL",
+ conditions: ["by_exception_only"],
}
license_kind {
- name: "SPDX-license-identifier-GPL",
- conditions: ["restricted"],
+ name: "SPDX-license-identifier-GPL",
+ conditions: ["restricted"],
}
license_kind {
- name: "SPDX-license-identifier-GPL-1.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-1.0.html",
+ name: "SPDX-license-identifier-GPL-1.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-1.0+",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-1.0+.html",
+ name: "SPDX-license-identifier-GPL-1.0+",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-1.0+.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-1.0-only",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-1.0-only.html",
+ name: "SPDX-license-identifier-GPL-1.0-only",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-1.0-only.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-1.0-or-later",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-1.0-or-later.html",
+ name: "SPDX-license-identifier-GPL-1.0-or-later",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-1.0-or-later.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-2.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-2.0.html",
+ name: "SPDX-license-identifier-GPL-2.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-2.0+",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-2.0+.html",
+ name: "SPDX-license-identifier-GPL-2.0+",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-2.0+.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-2.0-only",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-2.0-only.html",
+ name: "SPDX-license-identifier-GPL-2.0-only",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-2.0-only.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-2.0-or-later",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-2.0-or-later.html",
+ name: "SPDX-license-identifier-GPL-2.0-or-later",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-2.0-or-later.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-2.0-with-GCC-exception",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.html",
+ name: "SPDX-license-identifier-GPL-2.0-with-GCC-exception",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-2.0-with-GCC-exception.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-2.0-with-autoconf-exception",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html",
+ name: "SPDX-license-identifier-GPL-2.0-with-autoconf-exception",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-2.0-with-autoconf-exception.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-2.0-with-bison-exception",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html",
+ name: "SPDX-license-identifier-GPL-2.0-with-bison-exception",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-2.0-with-bison-exception.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-2.0-with-classpath-exception",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.html",
+ name: "SPDX-license-identifier-GPL-2.0-with-classpath-exception",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-2.0-with-classpath-exception.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-2.0-with-font-exception",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-2.0-with-font-exception.html",
+ name: "SPDX-license-identifier-GPL-2.0-with-font-exception",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-2.0-with-font-exception.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-3.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-3.0.html",
+ name: "SPDX-license-identifier-GPL-3.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-3.0+",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-3.0+.html",
+ name: "SPDX-license-identifier-GPL-3.0+",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-3.0+.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-3.0-only",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-3.0-only.html",
+ name: "SPDX-license-identifier-GPL-3.0-only",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-3.0-only.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-3.0-or-later",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-3.0-or-later.html",
+ name: "SPDX-license-identifier-GPL-3.0-or-later",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-3.0-or-later.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-3.0-with-GCC-exception",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html",
+ name: "SPDX-license-identifier-GPL-3.0-with-GCC-exception",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-3.0-with-GCC-exception.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-3.0-with-autoconf-exception",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.html",
+ name: "SPDX-license-identifier-GPL-3.0-with-autoconf-exception",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/GPL-3.0-with-autoconf-exception.html",
}
license_kind {
- name: "SPDX-license-identifier-GPL-with-classpath-exception",
- conditions: ["restricted"],
+ name: "SPDX-license-identifier-GPL-with-classpath-exception",
+ conditions: ["restricted"],
}
license_kind {
- name: "SPDX-license-identifier-HPND",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/HPND.html",
+ name: "SPDX-license-identifier-HPND",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/HPND.html",
}
license_kind {
- name: "SPDX-license-identifier-ICU",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/ICU.html",
+ name: "SPDX-license-identifier-ICU",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/ICU.html",
}
license_kind {
- name: "SPDX-license-identifier-ISC",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/ISC.html",
+ name: "SPDX-license-identifier-ISC",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/ISC.html",
}
license_kind {
- name: "SPDX-license-identifier-JSON",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/JSON.html",
+ name: "SPDX-license-identifier-JSON",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/JSON.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL",
- conditions: ["restricted"],
+ name: "SPDX-license-identifier-LGPL",
+ conditions: ["restricted"],
}
license_kind {
- name: "SPDX-license-identifier-LGPL-2.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-2.0.html",
+ name: "SPDX-license-identifier-LGPL-2.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-2.0+",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-2.0+.html",
+ name: "SPDX-license-identifier-LGPL-2.0+",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-2.0+.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-2.0-only",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-2.0-only.html",
+ name: "SPDX-license-identifier-LGPL-2.0-only",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-2.0-only.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-2.0-or-later",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-2.0-or-later.html",
+ name: "SPDX-license-identifier-LGPL-2.0-or-later",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-2.0-or-later.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-2.1",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-2.1.html",
+ name: "SPDX-license-identifier-LGPL-2.1",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-2.1.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-2.1+",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-2.1+.html",
+ name: "SPDX-license-identifier-LGPL-2.1+",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-2.1+.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-2.1-only",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-2.1-only.html",
+ name: "SPDX-license-identifier-LGPL-2.1-only",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-2.1-only.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-2.1-or-later",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-2.1-or-later.html",
+ name: "SPDX-license-identifier-LGPL-2.1-or-later",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-2.1-or-later.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-3.0",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-3.0.html",
+ name: "SPDX-license-identifier-LGPL-3.0",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-3.0.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-3.0+",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-3.0+.html",
+ name: "SPDX-license-identifier-LGPL-3.0+",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-3.0+.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-3.0-only",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-3.0-only.html",
+ name: "SPDX-license-identifier-LGPL-3.0-only",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-3.0-only.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPL-3.0-or-later",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPL-3.0-or-later.html",
+ name: "SPDX-license-identifier-LGPL-3.0-or-later",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPL-3.0-or-later.html",
}
license_kind {
- name: "SPDX-license-identifier-LGPLLR",
- conditions: ["restricted"],
- url: "https://spdx.org/licenses/LGPLLR.html",
+ name: "SPDX-license-identifier-LGPLLR",
+ conditions: ["restricted"],
+ url: "https://spdx.org/licenses/LGPLLR.html",
}
license_kind {
- name: "SPDX-license-identifier-LPL-1.02",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/LPL-1.02.html",
+ name: "SPDX-license-identifier-LPL-1.02",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/LPL-1.02.html",
}
license_kind {
- name: "SPDX-license-identifier-MIT",
- conditions: ["notice"],
+ name: "SPDX-license-identifier-MIT",
+ conditions: ["notice"],
}
license_kind {
- name: "SPDX-license-identifier-MIT-0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/MIT-0.html",
+ name: "SPDX-license-identifier-MIT-0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/MIT-0.html",
}
license_kind {
- name: "SPDX-license-identifier-MIT-CMU",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/MIT-CMU.html",
+ name: "SPDX-license-identifier-MIT-CMU",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/MIT-CMU.html",
}
license_kind {
- name: "SPDX-license-identifier-MIT-advertising",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/MIT-advertising.html",
+ name: "SPDX-license-identifier-MIT-advertising",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/MIT-advertising.html",
}
license_kind {
- name: "SPDX-license-identifier-MIT-enna",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/MIT-enna.html",
+ name: "SPDX-license-identifier-MIT-enna",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/MIT-enna.html",
}
license_kind {
- name: "SPDX-license-identifier-MIT-feh",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/MIT-feh.html",
+ name: "SPDX-license-identifier-MIT-feh",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/MIT-feh.html",
}
license_kind {
- name: "SPDX-license-identifier-MITNFA",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/MITNFA.html",
+ name: "SPDX-license-identifier-MITNFA",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/MITNFA.html",
}
license_kind {
- name: "SPDX-license-identifier-MPL",
- conditions: ["reciprocal"],
+ name: "SPDX-license-identifier-MPL",
+ conditions: ["reciprocal"],
}
license_kind {
- name: "SPDX-license-identifier-MPL-1.0",
- conditions: ["reciprocal"],
- url: "https://spdx.org/licenses/MPL-1.0.html",
+ name: "SPDX-license-identifier-MPL-1.0",
+ conditions: ["reciprocal"],
+ url: "https://spdx.org/licenses/MPL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-MPL-1.1",
- conditions: ["reciprocal"],
- url: "https://spdx.org/licenses/MPL-1.1.html",
+ name: "SPDX-license-identifier-MPL-1.1",
+ conditions: ["reciprocal"],
+ url: "https://spdx.org/licenses/MPL-1.1.html",
}
license_kind {
- name: "SPDX-license-identifier-MPL-2.0",
- conditions: ["reciprocal"],
- url: "https://spdx.org/licenses/MPL-2.0.html",
+ name: "SPDX-license-identifier-MPL-2.0",
+ conditions: ["reciprocal"],
+ url: "https://spdx.org/licenses/MPL-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-MPL-2.0-no-copyleft-exception",
- conditions: ["reciprocal"],
- url: "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html",
+ name: "SPDX-license-identifier-MPL-2.0-no-copyleft-exception",
+ conditions: ["reciprocal"],
+ url: "https://spdx.org/licenses/MPL-2.0-no-copyleft-exception.html",
}
license_kind {
- name: "SPDX-license-identifier-MS-PL",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/MS-PL.html",
+ name: "SPDX-license-identifier-MS-PL",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/MS-PL.html",
}
license_kind {
- name: "SPDX-license-identifier-NCSA",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/NCSA.html",
+ name: "SPDX-license-identifier-MS-RL",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/MS-RL.html",
}
license_kind {
- name: "SPDX-license-identifier-OFL",
- conditions: ["by_exception_only"],
+ name: "SPDX-license-identifier-NCSA",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/NCSA.html",
}
license_kind {
- name: "SPDX-license-identifier-OFL-1.0",
- conditions: ["by_exception_only"],
- url: "https://spdx.org/licenses/OFL-1.0.html",
+ name: "SPDX-license-identifier-OFL",
+ conditions: ["by_exception_only"],
}
license_kind {
- name: "SPDX-license-identifier-OFL-1.0-RFN",
- conditions: ["by_exception_only"],
- url: "https://spdx.org/licenses/OFL-1.0-RFN.html",
+ name: "SPDX-license-identifier-OFL-1.0",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/OFL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-OFL-1.0-no-RFN",
- conditions: ["by_exception_only"],
- url: "https://spdx.org/licenses/OFL-1.0-no-RFN.html",
+ name: "SPDX-license-identifier-OFL-1.0-RFN",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/OFL-1.0-RFN.html",
}
license_kind {
- name: "SPDX-license-identifier-OFL-1.1",
- conditions: ["by_exception_only"],
- url: "https://spdx.org/licenses/OFL-1.1.html",
+ name: "SPDX-license-identifier-OFL-1.0-no-RFN",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/OFL-1.0-no-RFN.html",
}
license_kind {
- name: "SPDX-license-identifier-OFL-1.1-RFN",
- conditions: ["by_exception_only"],
- url: "https://spdx.org/licenses/OFL-1.1-RFN.html",
+ name: "SPDX-license-identifier-OFL-1.1",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/OFL-1.1.html",
}
license_kind {
- name: "SPDX-license-identifier-OFL-1.1-no-RFN",
- conditions: ["by_exception_only"],
- url: "https://spdx.org/licenses/OFL-1.1-no-RFN.html",
+ name: "SPDX-license-identifier-OFL-1.1-RFN",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/OFL-1.1-RFN.html",
}
license_kind {
- name: "SPDX-license-identifier-OpenSSL",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/OpenSSL.html",
+ name: "SPDX-license-identifier-OFL-1.1-no-RFN",
+ conditions: ["by_exception_only"],
+ url: "https://spdx.org/licenses/OFL-1.1-no-RFN.html",
}
license_kind {
- name: "SPDX-license-identifier-PSF-2.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/PSF-2.0.html",
+ name: "SPDX-license-identifier-OpenSSL",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/OpenSSL.html",
}
license_kind {
- name: "SPDX-license-identifier-SISSL",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/SISSL.html",
+ name: "SPDX-license-identifier-PSF-2.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/PSF-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-SISSL-1.2",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/SISSL-1.2.html",
+ name: "SPDX-license-identifier-SISSL",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/SISSL.html",
}
license_kind {
- name: "SPDX-license-identifier-SPL-1.0",
- conditions: ["by_exception_only", "reciprocal"],
- url: "https://spdx.org/licenses/SPL-1.0.html",
+ name: "SPDX-license-identifier-SISSL-1.2",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/SISSL-1.2.html",
}
license_kind {
- name: "SPDX-license-identifier-SSPL",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/SSPL.html",
+ name: "SPDX-license-identifier-SPL-1.0",
+ conditions: [
+ "by_exception_only",
+ "reciprocal",
+ ],
+ url: "https://spdx.org/licenses/SPL-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-UPL-1.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/UPL-1.-.html",
+ name: "SPDX-license-identifier-SSPL",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/SSPL.html",
}
license_kind {
- name: "SPDX-license-identifier-Unicode-DFS",
- conditions: ["notice"],
+ name: "SPDX-license-identifier-UPL-1.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/UPL-1.-.html",
}
license_kind {
- name: "SPDX-license-identifier-Unicode-DFS-2015",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Unicode-DFS-2015.html",
+ name: "SPDX-license-identifier-Unicode-DFS",
+ conditions: ["notice"],
}
license_kind {
- name: "SPDX-license-identifier-Unicode-DFS-2016",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Unicode-DFS-2016.html",
+ name: "SPDX-license-identifier-Unicode-DFS-2015",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Unicode-DFS-2015.html",
}
license_kind {
- name: "SPDX-license-identifier-Unlicense",
- conditions: ["unencumbered"],
- url: "https://spdx.org/licenses/Unlicense.html",
+ name: "SPDX-license-identifier-Unicode-DFS-2016",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Unicode-DFS-2016.html",
}
license_kind {
- name: "SPDX-license-identifier-W3C",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/W3C.html",
+ name: "SPDX-license-identifier-Unlicense",
+ conditions: ["unencumbered"],
+ url: "https://spdx.org/licenses/Unlicense.html",
}
license_kind {
- name: "SPDX-license-identifier-W3C-19980720",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/W3C-19980720.html",
+ name: "SPDX-license-identifier-W3C",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/W3C.html",
}
license_kind {
- name: "SPDX-license-identifier-W3C-20150513",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/W3C-20150513.html",
+ name: "SPDX-license-identifier-W3C-19980720",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/W3C-19980720.html",
}
license_kind {
- name: "SPDX-license-identifier-WTFPL",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/WTFPL.html",
+ name: "SPDX-license-identifier-W3C-20150513",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/W3C-20150513.html",
}
license_kind {
- name: "SPDX-license-identifier-Watcom-1.0",
- conditions: ["by_exception_only", "not_allowed"],
- url: "https://spdx.org/licenses/Watcom-1.0.html",
+ name: "SPDX-license-identifier-WTFPL",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/WTFPL.html",
}
license_kind {
- name: "SPDX-license-identifier-Xnet",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Xnet.html",
+ name: "SPDX-license-identifier-Watcom-1.0",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+ url: "https://spdx.org/licenses/Watcom-1.0.html",
}
license_kind {
- name: "SPDX-license-identifier-ZPL",
- conditions: ["notice"],
+ name: "SPDX-license-identifier-Xnet",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Xnet.html",
}
license_kind {
- name: "SPDX-license-identifier-ZPL-1.1",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/ZPL-1.1.html",
+ name: "SPDX-license-identifier-ZPL",
+ conditions: ["notice"],
}
license_kind {
- name: "SPDX-license-identifier-ZPL-2.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/ZPL-2.0.html",
+ name: "SPDX-license-identifier-ZPL-1.1",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/ZPL-1.1.html",
}
license_kind {
- name: "SPDX-license-identifier-ZPL-2.1",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/ZPL-2.1.html",
+ name: "SPDX-license-identifier-ZPL-2.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/ZPL-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-Zend-2.0",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Zend-2.0.html",
+ name: "SPDX-license-identifier-ZPL-2.1",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/ZPL-2.1.html",
}
license_kind {
- name: "SPDX-license-identifier-Zlib",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/Zlib.html",
+ name: "SPDX-license-identifier-Zend-2.0",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Zend-2.0.html",
}
license_kind {
- name: "SPDX-license-identifier-libtiff",
- conditions: ["notice"],
- url: "https://spdx.org/licenses/libtiff.html",
+ name: "SPDX-license-identifier-Zlib",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/Zlib.html",
}
+license_kind {
+ name: "SPDX-license-identifier-libtiff",
+ conditions: ["notice"],
+ url: "https://spdx.org/licenses/libtiff.html",
+}
// Legacy license kinds -- do not add new references -- use an spdx kind instead.
license_kind {
- name: "legacy_unknown",
- conditions: ["by_exception_only"],
+ name: "legacy_unknown",
+ conditions: ["by_exception_only"],
}
license_kind {
- name: "legacy_unencumbered",
- conditions: ["unencumbered"],
+ name: "legacy_unencumbered",
+ conditions: ["unencumbered"],
}
license_kind {
- name: "legacy_permissive",
- conditions: ["permissive"],
+ name: "legacy_permissive",
+ conditions: ["permissive"],
}
license_kind {
- name: "legacy_notice",
- conditions: ["notice"],
+ name: "legacy_notice",
+ conditions: ["notice"],
}
license_kind {
- name: "legacy_reciprocal",
- conditions: ["reciprocal"],
+ name: "legacy_reciprocal",
+ conditions: ["reciprocal"],
}
license_kind {
- name: "legacy_restricted",
- conditions: ["restricted"],
+ name: "legacy_restricted",
+ conditions: ["restricted"],
}
license_kind {
- name: "legacy_by_exception_only",
- conditions: ["by_exception_only"],
+ name: "legacy_by_exception_only",
+ conditions: ["by_exception_only"],
}
license_kind {
- name: "legacy_not_allowed",
- conditions: ["by_exception_only", "not_allowed"],
+ name: "legacy_not_a_contribution",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
}
license_kind {
- name: "legacy_proprietary",
- conditions: ["by_exception_only", "not_allowed", "proprietary"],
+ name: "legacy_not_allowed",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ ],
+}
+
+license_kind {
+ name: "legacy_proprietary",
+ conditions: [
+ "by_exception_only",
+ "not_allowed",
+ "proprietary",
+ ],
}
diff --git a/scripts/gen_ndk_backedby_apex.sh b/scripts/gen_ndk_backedby_apex.sh
new file mode 100755
index 0000000..e0da602
--- /dev/null
+++ b/scripts/gen_ndk_backedby_apex.sh
@@ -0,0 +1,55 @@
+#!/bin/bash -e
+
+# Copyright 2020 Google Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Generates NDK API txt file used by Mainline modules. NDK APIs would have value
+# "UND" in Ndx column and have suffix "@LIB_NAME" in Name column.
+# For example, current line llvm-readelf output is:
+# 1: 00000000 0 FUNC GLOBAL DEFAULT UND dlopen@LIBC
+# After the parse function below "dlopen" would be write to the output file.
+printHelp() {
+ echo "**************************** Usage Instructions ****************************"
+ echo "This script is used to generate the Mainline modules backed-by NDK symbols."
+ echo ""
+ echo "To run this script use: ./ndk_backedby_module.sh \$BINARY_IMAGE_DIRECTORY \$OUTPUT_FILE_PATH \$NDK_LIB_NAME_LIST"
+ echo "For example: If all the module image files that you would like to run is under directory '/myModule' and output write to /backedby.txt then the command would be:"
+ echo "./ndk_usedby_module.sh /myModule /backedby.txt /ndkLibList.txt"
+ echo "If the module1 is backing lib1 then the backedby.txt would contains: "
+ echo "lib1"
+}
+
+genBackedByList() {
+ dir="$1"
+ [[ ! -e "$2" ]] && echo "" >> "$2"
+ while IFS= read -r line
+ do
+ soFileName=$(echo "$line" | sed 's/\(.*so\).*/\1/')
+ if [[ ! -z "$soFileName" && "$soFileName" != *"#"* ]]
+ then
+ find "$dir" -type f -name "$soFileName" -exec echo "$soFileName" >> "$2" \;
+ fi
+ done < "$3"
+}
+
+if [[ "$1" == "help" ]]
+then
+ printHelp
+elif [[ "$#" -ne 3 ]]
+then
+ echo "Wrong argument length. Expecting 3 argument representing image file directory, output path, path to ndk library list."
+else
+ [[ -e "$2" ]] && rm "$2"
+ genBackedByList "$1" "$2" "$3"
+fi