Merge "Add baseline test for license with sdk"
This commit is contained in:
@@ -8,7 +8,7 @@ import (
|
|||||||
var prepareForLicenseTest = GroupFixturePreparers(
|
var prepareForLicenseTest = GroupFixturePreparers(
|
||||||
// General preparers in alphabetical order.
|
// General preparers in alphabetical order.
|
||||||
PrepareForTestWithDefaults,
|
PrepareForTestWithDefaults,
|
||||||
prepareForTestWithLicenses,
|
PrepareForTestWithLicenses,
|
||||||
PrepareForTestWithOverrides,
|
PrepareForTestWithOverrides,
|
||||||
PrepareForTestWithPackageModule,
|
PrepareForTestWithPackageModule,
|
||||||
PrepareForTestWithPrebuilts,
|
PrepareForTestWithPrebuilts,
|
||||||
|
@@ -6,18 +6,6 @@ import (
|
|||||||
"github.com/google/blueprint"
|
"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 {
|
var licensesTests = []struct {
|
||||||
name string
|
name string
|
||||||
fs MockFS
|
fs MockFS
|
||||||
|
@@ -74,6 +74,42 @@ var PrepareForTestWithOverrides = FixtureRegisterWithContext(func(ctx Registrati
|
|||||||
ctx.PostDepsMutators(RegisterOverridePostDepsMutators)
|
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.
|
// 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
|
// 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",
|
"compat_config_sdk_test.go",
|
||||||
"exports_test.go",
|
"exports_test.go",
|
||||||
"java_sdk_test.go",
|
"java_sdk_test.go",
|
||||||
|
"license_sdk_test.go",
|
||||||
"sdk_test.go",
|
"sdk_test.go",
|
||||||
"testing.go",
|
"testing.go",
|
||||||
],
|
],
|
||||||
|
95
sdk/license_sdk_test.go
Normal file
95
sdk/license_sdk_test.go
Normal file
@@ -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
|
||||||
|
`),
|
||||||
|
)
|
||||||
|
}
|
Reference in New Issue
Block a user