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