diff options
Diffstat (limited to 'sdk/license_sdk_test.go')
-rw-r--r-- | sdk/license_sdk_test.go | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/sdk/license_sdk_test.go b/sdk/license_sdk_test.go new file mode 100644 index 000000000..1ef6fe684 --- /dev/null +++ b/sdk/license_sdk_test.go @@ -0,0 +1,138 @@ +// 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. + +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"], +} + +java_import { + name: "myjavalib", + prefer: false, + visibility: ["//visibility:public"], + apex_available: ["//apex_available:platform"], + licenses: ["mysdk_mylicense"], + jars: ["java/myjavalib.jar"], +} + +license { + name: "mysdk_mylicense", + visibility: ["//visibility:private"], + license_kinds: [ + "SPDX-license-identifier-Apache-2.0", + "legacy_unencumbered", + ], + license_text: [ + "licenses/NOTICE1", + "licenses/NOTICE2", + ], +} + `), + checkVersionedAndroidBpContents(` +// This is auto-generated. DO NOT EDIT. + +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"], +} + +java_import { + name: "mysdk_myjavalib@current", + sdk_member_name: "myjavalib", + visibility: ["//visibility:public"], + apex_available: ["//apex_available:platform"], + licenses: ["mysdk_mylicense@current"], + jars: ["java/myjavalib.jar"], +} + +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", + ], +} + +sdk_snapshot { + name: "mysdk@current", + visibility: ["//visibility:public"], + java_header_libs: ["mysdk_myjavalib@current"], +} + `), + checkAllCopyRules(` +.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar +NOTICE1 -> licenses/NOTICE1 +NOTICE2 -> licenses/NOTICE2 +`), + ) +} |