2021-05-06 17:39:27 +02:00
|
|
|
// Copyright (C) 2021 The Android Open Source Project
|
|
|
|
//
|
|
|
|
// 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.
|
|
|
|
|
|
|
|
package sdk
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"android/soong/android"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestSnapshotWithPackageDefaultLicense(t *testing.T) {
|
|
|
|
result := android.GroupFixturePreparers(
|
|
|
|
prepareForSdkTestWithJava,
|
|
|
|
android.PrepareForTestWithLicenses,
|
|
|
|
android.PrepareForTestWithLicenseDefaultModules,
|
|
|
|
android.MockFS{
|
|
|
|
"NOTICE1": nil,
|
|
|
|
"NOTICE2": nil,
|
|
|
|
}.AddToFixture(),
|
|
|
|
).RunTestWithBp(t, `
|
|
|
|
package {
|
|
|
|
default_applicable_licenses: ["mylicense"],
|
|
|
|
}
|
|
|
|
|
|
|
|
license {
|
|
|
|
name: "mylicense",
|
|
|
|
license_kinds: [
|
|
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
|
|
"legacy_unencumbered",
|
|
|
|
],
|
|
|
|
license_text: [
|
|
|
|
"NOTICE1",
|
|
|
|
"NOTICE2",
|
|
|
|
],
|
|
|
|
}
|
|
|
|
|
|
|
|
sdk {
|
|
|
|
name: "mysdk",
|
|
|
|
java_header_libs: ["myjavalib"],
|
|
|
|
}
|
|
|
|
|
|
|
|
java_library {
|
|
|
|
name: "myjavalib",
|
|
|
|
srcs: ["Test.java"],
|
|
|
|
system_modules: "none",
|
|
|
|
sdk_version: "none",
|
|
|
|
}
|
|
|
|
`)
|
|
|
|
|
|
|
|
CheckSnapshot(t, result, "mysdk", "",
|
|
|
|
checkUnversionedAndroidBpContents(`
|
|
|
|
// This is auto-generated. DO NOT EDIT.
|
|
|
|
|
2021-05-07 02:10:01 +02:00
|
|
|
package {
|
|
|
|
// A default list here prevents the license LSC from adding its own list which would
|
|
|
|
// be unnecessary as every module in the sdk already has its own licenses property.
|
|
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
|
|
}
|
|
|
|
|
2021-05-06 17:39:27 +02:00
|
|
|
java_import {
|
|
|
|
name: "myjavalib",
|
|
|
|
prefer: false,
|
|
|
|
visibility: ["//visibility:public"],
|
|
|
|
apex_available: ["//apex_available:platform"],
|
2021-05-06 17:48:05 +02:00
|
|
|
licenses: ["mysdk_mylicense"],
|
2021-05-06 17:39:27 +02:00
|
|
|
jars: ["java/myjavalib.jar"],
|
|
|
|
}
|
2021-05-06 17:48:05 +02:00
|
|
|
|
|
|
|
license {
|
|
|
|
name: "mysdk_mylicense",
|
|
|
|
visibility: ["//visibility:private"],
|
|
|
|
license_kinds: [
|
|
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
|
|
"legacy_unencumbered",
|
|
|
|
],
|
|
|
|
license_text: [
|
|
|
|
"licenses/NOTICE1",
|
|
|
|
"licenses/NOTICE2",
|
|
|
|
],
|
|
|
|
}
|
|
|
|
`),
|
2021-05-06 17:39:27 +02:00
|
|
|
checkVersionedAndroidBpContents(`
|
|
|
|
// This is auto-generated. DO NOT EDIT.
|
|
|
|
|
2021-05-07 02:10:01 +02:00
|
|
|
package {
|
|
|
|
// A default list here prevents the license LSC from adding its own list which would
|
|
|
|
// be unnecessary as every module in the sdk already has its own licenses property.
|
|
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
|
|
}
|
|
|
|
|
2021-05-06 17:39:27 +02:00
|
|
|
java_import {
|
|
|
|
name: "mysdk_myjavalib@current",
|
|
|
|
sdk_member_name: "myjavalib",
|
|
|
|
visibility: ["//visibility:public"],
|
|
|
|
apex_available: ["//apex_available:platform"],
|
2021-05-06 17:48:05 +02:00
|
|
|
licenses: ["mysdk_mylicense@current"],
|
2021-05-06 17:39:27 +02:00
|
|
|
jars: ["java/myjavalib.jar"],
|
|
|
|
}
|
|
|
|
|
2021-05-06 17:48:05 +02:00
|
|
|
license {
|
|
|
|
name: "mysdk_mylicense@current",
|
|
|
|
sdk_member_name: "mylicense",
|
|
|
|
visibility: ["//visibility:private"],
|
|
|
|
license_kinds: [
|
|
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
|
|
"legacy_unencumbered",
|
|
|
|
],
|
|
|
|
license_text: [
|
|
|
|
"licenses/NOTICE1",
|
|
|
|
"licenses/NOTICE2",
|
|
|
|
],
|
|
|
|
}
|
|
|
|
|
2021-05-06 17:39:27 +02:00
|
|
|
sdk_snapshot {
|
|
|
|
name: "mysdk@current",
|
|
|
|
visibility: ["//visibility:public"],
|
|
|
|
java_header_libs: ["mysdk_myjavalib@current"],
|
|
|
|
}
|
2021-05-06 17:48:05 +02:00
|
|
|
`),
|
2021-05-06 17:39:27 +02:00
|
|
|
checkAllCopyRules(`
|
|
|
|
.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar
|
2021-05-06 17:48:05 +02:00
|
|
|
NOTICE1 -> licenses/NOTICE1
|
|
|
|
NOTICE2 -> licenses/NOTICE2
|
2021-05-06 17:39:27 +02:00
|
|
|
`),
|
|
|
|
)
|
|
|
|
}
|