Merge "Add baseline test for license with sdk" am: 0d62615468
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1699189 Change-Id: I41b1eb3945c340ac61cc083ea2b69c1d38182af5
This commit is contained in:
commit
9fbe8bb506
|
@ -8,7 +8,7 @@ import (
|
|||
var prepareForLicenseTest = GroupFixturePreparers(
|
||||
// General preparers in alphabetical order.
|
||||
PrepareForTestWithDefaults,
|
||||
prepareForTestWithLicenses,
|
||||
PrepareForTestWithLicenses,
|
||||
PrepareForTestWithOverrides,
|
||||
PrepareForTestWithPackageModule,
|
||||
PrepareForTestWithPrebuilts,
|
||||
|
|
|
@ -6,18 +6,6 @@ import (
|
|||
"github.com/google/blueprint"
|
||||
)
|
||||
|
||||
var prepareForTestWithLicenses = GroupFixturePreparers(
|
||||
FixtureRegisterWithContext(RegisterLicenseKindBuildComponents),
|
||||
FixtureRegisterWithContext(RegisterLicenseBuildComponents),
|
||||
FixtureRegisterWithContext(registerLicenseMutators),
|
||||
)
|
||||
|
||||
func registerLicenseMutators(ctx RegistrationContext) {
|
||||
ctx.PreArchMutators(RegisterLicensesPackageMapper)
|
||||
ctx.PreArchMutators(RegisterLicensesPropertyGatherer)
|
||||
ctx.PostDepsMutators(RegisterLicensesDependencyChecker)
|
||||
}
|
||||
|
||||
var licensesTests = []struct {
|
||||
name string
|
||||
fs MockFS
|
||||
|
|
|
@ -74,6 +74,42 @@ var PrepareForTestWithOverrides = FixtureRegisterWithContext(func(ctx Registrati
|
|||
ctx.PostDepsMutators(RegisterOverridePostDepsMutators)
|
||||
})
|
||||
|
||||
var PrepareForTestWithLicenses = GroupFixturePreparers(
|
||||
FixtureRegisterWithContext(RegisterLicenseKindBuildComponents),
|
||||
FixtureRegisterWithContext(RegisterLicenseBuildComponents),
|
||||
FixtureRegisterWithContext(registerLicenseMutators),
|
||||
)
|
||||
|
||||
func registerLicenseMutators(ctx RegistrationContext) {
|
||||
ctx.PreArchMutators(RegisterLicensesPackageMapper)
|
||||
ctx.PreArchMutators(RegisterLicensesPropertyGatherer)
|
||||
ctx.PostDepsMutators(RegisterLicensesDependencyChecker)
|
||||
}
|
||||
|
||||
var PrepareForTestWithLicenseDefaultModules = GroupFixturePreparers(
|
||||
FixtureAddTextFile("build/soong/licenses/Android.bp", `
|
||||
license {
|
||||
name: "Android-Apache-2.0",
|
||||
package_name: "Android",
|
||||
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-Apache-2.0",
|
||||
conditions: ["notice"],
|
||||
url: "https://spdx.org/licenses/Apache-2.0.html",
|
||||
}
|
||||
|
||||
license_kind {
|
||||
name: "legacy_unencumbered",
|
||||
conditions: ["unencumbered"],
|
||||
}
|
||||
`),
|
||||
FixtureAddFile("build/soong/licenses/LICENSE", nil),
|
||||
)
|
||||
|
||||
// Test fixture preparer that will register most java build components.
|
||||
//
|
||||
// Singletons and mutators should only be added here if they are needed for a majority of java
|
||||
|
|
|
@ -26,6 +26,7 @@ bootstrap_go_package {
|
|||
"compat_config_sdk_test.go",
|
||||
"exports_test.go",
|
||||
"java_sdk_test.go",
|
||||
"license_sdk_test.go",
|
||||
"sdk_test.go",
|
||||
"testing.go",
|
||||
],
|
||||
|
|
|
@ -0,0 +1,95 @@
|
|||
// 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.
|
||||
|
||||
java_import {
|
||||
name: "myjavalib",
|
||||
prefer: false,
|
||||
visibility: ["//visibility:public"],
|
||||
apex_available: ["//apex_available:platform"],
|
||||
jars: ["java/myjavalib.jar"],
|
||||
}
|
||||
`),
|
||||
checkVersionedAndroidBpContents(`
|
||||
// This is auto-generated. DO NOT EDIT.
|
||||
|
||||
java_import {
|
||||
name: "mysdk_myjavalib@current",
|
||||
sdk_member_name: "myjavalib",
|
||||
visibility: ["//visibility:public"],
|
||||
apex_available: ["//apex_available:platform"],
|
||||
jars: ["java/myjavalib.jar"],
|
||||
}
|
||||
|
||||
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
|
||||
`),
|
||||
)
|
||||
}
|
Loading…
Reference in New Issue