1*333d2b36SAndroid Build Coastguard Worker// Copyright (C) 2021 The Android Open Source Project 2*333d2b36SAndroid Build Coastguard Worker// 3*333d2b36SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*333d2b36SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*333d2b36SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*333d2b36SAndroid Build Coastguard Worker// 7*333d2b36SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*333d2b36SAndroid Build Coastguard Worker// 9*333d2b36SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*333d2b36SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*333d2b36SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*333d2b36SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*333d2b36SAndroid Build Coastguard Worker// limitations under the License. 14*333d2b36SAndroid Build Coastguard Worker 15*333d2b36SAndroid Build Coastguard Workerpackage sdk 16*333d2b36SAndroid Build Coastguard Worker 17*333d2b36SAndroid Build Coastguard Workerimport ( 18*333d2b36SAndroid Build Coastguard Worker "testing" 19*333d2b36SAndroid Build Coastguard Worker 20*333d2b36SAndroid Build Coastguard Worker "android/soong/android" 21*333d2b36SAndroid Build Coastguard Worker) 22*333d2b36SAndroid Build Coastguard Worker 23*333d2b36SAndroid Build Coastguard Workerfunc TestSnapshotWithPackageDefaultLicense(t *testing.T) { 24*333d2b36SAndroid Build Coastguard Worker result := android.GroupFixturePreparers( 25*333d2b36SAndroid Build Coastguard Worker prepareForSdkTestWithJava, 26*333d2b36SAndroid Build Coastguard Worker android.PrepareForTestWithLicenses, 27*333d2b36SAndroid Build Coastguard Worker android.PrepareForTestWithLicenseDefaultModules, 28*333d2b36SAndroid Build Coastguard Worker android.MockFS{ 29*333d2b36SAndroid Build Coastguard Worker "NOTICE1": nil, 30*333d2b36SAndroid Build Coastguard Worker "NOTICE2": nil, 31*333d2b36SAndroid Build Coastguard Worker }.AddToFixture(), 32*333d2b36SAndroid Build Coastguard Worker ).RunTestWithBp(t, ` 33*333d2b36SAndroid Build Coastguard Worker package { 34*333d2b36SAndroid Build Coastguard Worker default_applicable_licenses: ["mylicense"], 35*333d2b36SAndroid Build Coastguard Worker } 36*333d2b36SAndroid Build Coastguard Worker 37*333d2b36SAndroid Build Coastguard Worker license { 38*333d2b36SAndroid Build Coastguard Worker name: "mylicense", 39*333d2b36SAndroid Build Coastguard Worker license_kinds: [ 40*333d2b36SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 41*333d2b36SAndroid Build Coastguard Worker "legacy_unencumbered", 42*333d2b36SAndroid Build Coastguard Worker ], 43*333d2b36SAndroid Build Coastguard Worker license_text: [ 44*333d2b36SAndroid Build Coastguard Worker "NOTICE1", 45*333d2b36SAndroid Build Coastguard Worker "NOTICE2", 46*333d2b36SAndroid Build Coastguard Worker ], 47*333d2b36SAndroid Build Coastguard Worker } 48*333d2b36SAndroid Build Coastguard Worker 49*333d2b36SAndroid Build Coastguard Worker sdk { 50*333d2b36SAndroid Build Coastguard Worker name: "mysdk", 51*333d2b36SAndroid Build Coastguard Worker java_header_libs: ["myjavalib"], 52*333d2b36SAndroid Build Coastguard Worker } 53*333d2b36SAndroid Build Coastguard Worker 54*333d2b36SAndroid Build Coastguard Worker java_library { 55*333d2b36SAndroid Build Coastguard Worker name: "myjavalib", 56*333d2b36SAndroid Build Coastguard Worker srcs: ["Test.java"], 57*333d2b36SAndroid Build Coastguard Worker system_modules: "none", 58*333d2b36SAndroid Build Coastguard Worker sdk_version: "none", 59*333d2b36SAndroid Build Coastguard Worker } 60*333d2b36SAndroid Build Coastguard Worker `) 61*333d2b36SAndroid Build Coastguard Worker 62*333d2b36SAndroid Build Coastguard Worker CheckSnapshot(t, result, "mysdk", "", 63*333d2b36SAndroid Build Coastguard Worker checkAndroidBpContents(` 64*333d2b36SAndroid Build Coastguard Worker// This is auto-generated. DO NOT EDIT. 65*333d2b36SAndroid Build Coastguard Worker 66*333d2b36SAndroid Build Coastguard Workerpackage { 67*333d2b36SAndroid Build Coastguard Worker // A default list here prevents the license LSC from adding its own list which would 68*333d2b36SAndroid Build Coastguard Worker // be unnecessary as every module in the sdk already has its own licenses property. 69*333d2b36SAndroid Build Coastguard Worker default_applicable_licenses: ["Android-Apache-2.0"], 70*333d2b36SAndroid Build Coastguard Worker} 71*333d2b36SAndroid Build Coastguard Worker 72*333d2b36SAndroid Build Coastguard Workerapex_contributions_defaults { 73*333d2b36SAndroid Build Coastguard Worker name: "mysdk.contributions", 74*333d2b36SAndroid Build Coastguard Worker contents: ["prebuilt_myjavalib"], 75*333d2b36SAndroid Build Coastguard Worker} 76*333d2b36SAndroid Build Coastguard Worker 77*333d2b36SAndroid Build Coastguard Workerjava_import { 78*333d2b36SAndroid Build Coastguard Worker name: "myjavalib", 79*333d2b36SAndroid Build Coastguard Worker prefer: false, 80*333d2b36SAndroid Build Coastguard Worker visibility: ["//visibility:public"], 81*333d2b36SAndroid Build Coastguard Worker apex_available: ["//apex_available:platform"], 82*333d2b36SAndroid Build Coastguard Worker licenses: ["mysdk_mylicense"], 83*333d2b36SAndroid Build Coastguard Worker jars: ["java/myjavalib.jar"], 84*333d2b36SAndroid Build Coastguard Worker} 85*333d2b36SAndroid Build Coastguard Worker 86*333d2b36SAndroid Build Coastguard Workerlicense { 87*333d2b36SAndroid Build Coastguard Worker name: "mysdk_mylicense", 88*333d2b36SAndroid Build Coastguard Worker visibility: ["//visibility:private"], 89*333d2b36SAndroid Build Coastguard Worker license_kinds: [ 90*333d2b36SAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 91*333d2b36SAndroid Build Coastguard Worker "legacy_unencumbered", 92*333d2b36SAndroid Build Coastguard Worker ], 93*333d2b36SAndroid Build Coastguard Worker license_text: [ 94*333d2b36SAndroid Build Coastguard Worker "licenses/NOTICE1", 95*333d2b36SAndroid Build Coastguard Worker "licenses/NOTICE2", 96*333d2b36SAndroid Build Coastguard Worker ], 97*333d2b36SAndroid Build Coastguard Worker} 98*333d2b36SAndroid Build Coastguard Worker `), 99*333d2b36SAndroid Build Coastguard Worker checkAllCopyRules(` 100*333d2b36SAndroid Build Coastguard Worker.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar 101*333d2b36SAndroid Build Coastguard WorkerNOTICE1 -> licenses/NOTICE1 102*333d2b36SAndroid Build Coastguard WorkerNOTICE2 -> licenses/NOTICE2 103*333d2b36SAndroid Build Coastguard Worker`), 104*333d2b36SAndroid Build Coastguard Worker ) 105*333d2b36SAndroid Build Coastguard Worker} 106