From cb3c4895ef6d55738617c2c2726d58ddb6735ca4 Mon Sep 17 00:00:00 2001 From: Sundong Ahn Date: Fri, 19 Oct 2018 13:46:09 +0900 Subject: Support core library To support core library, "Openjdk9", "No_standard_libs" and metalava properties are added to java_sdk_library. If core_lib is true, dist paths are changed to apistubs/core/.... impl library name is changed to {module_name}.jar instead of {module_name}.impl.jar Bug: 110404779 Test: m -j Change-Id: Ieb6248ea714b4260333d8bf61573d4f3413f7f24 Merged-In: Ieb6248ea714b4260333d8bf61573d4f3413f7f24 (cherry picked from commit af4907fed798aa736d3d20f5439ba87be7ab0f10) --- java/java_test.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'java/java_test.go') diff --git a/java/java_test.go b/java/java_test.go index 570efb70c..7a37b7b93 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -861,7 +861,6 @@ func TestJavaSdkLibrary(t *testing.T) { ctx.ModuleForTests("foo"+sdkDocsSuffix, "android_common") ctx.ModuleForTests("foo"+sdkDocsSuffix+sdkSystemApiSuffix, "android_common") ctx.ModuleForTests("foo"+sdkDocsSuffix+sdkTestApiSuffix, "android_common") - ctx.ModuleForTests("foo"+sdkImplLibrarySuffix, "android_common") ctx.ModuleForTests("foo"+sdkXmlFileSuffix, "android_common") ctx.ModuleForTests("foo.api.public.28", "") ctx.ModuleForTests("foo.api.system.28", "") @@ -874,9 +873,9 @@ func TestJavaSdkLibrary(t *testing.T) { "foo.stubs.system.jar") } // ... and not to the impl lib - if strings.Contains(bazJavac.Args["classpath"], "foo.impl.jar") { + if strings.Contains(bazJavac.Args["classpath"], "foo.jar") { t.Errorf("baz javac classpath %v should not contain %q", bazJavac.Args["classpath"], - "foo.impl.jar") + "foo.jar") } // test if baz is not linked to the system variant of foo if strings.Contains(bazJavac.Args["classpath"], "foo.stubs.jar") { -- cgit v1.2.3-59-g8ed1b From 234338609bd5a611edb56080b0d85629bc6ce7d5 Mon Sep 17 00:00:00 2001 From: Insun Kang Date: Thu, 24 Jan 2019 20:46:28 +0900 Subject: Add updatable_media_stubs to prevent private API use. Bug: 123551910, Bug: 123253805 Test: build Change-Id: Id46ff05fa01db726d613ee2299b0c27921c88aae --- java/config/config.go | 3 ++- java/java_test.go | 3 ++- java/sdk_test.go | 4 ++-- 3 files changed, 6 insertions(+), 4 deletions(-) (limited to 'java/java_test.go') diff --git a/java/config/config.go b/java/config/config.go index 5c838a555..a43d790a8 100644 --- a/java/config/config.go +++ b/java/config/config.go @@ -29,7 +29,7 @@ var ( DefaultBootclasspathLibraries = []string{"core.platform.api.stubs", "core-lambda-stubs"} DefaultSystemModules = "core-platform-api-stubs-system-modules" - DefaultLibraries = []string{"ext", "framework"} + DefaultLibraries = []string{"ext", "framework", "updatable_media_stubs"} DefaultLambdaStubsLibrary = "core-lambda-stubs" SdkLambdaStubsPath = "prebuilts/sdk/tools/core-lambda-stubs.jar" @@ -43,6 +43,7 @@ var ( "android.car7", "core-oj", "core-libart", + "updatable-media", } ManifestMergerClasspath = []string{ diff --git a/java/java_test.go b/java/java_test.go index a0b8952c4..a8cbfd1de 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -117,6 +117,7 @@ func testContext(config android.Config, bp string, "core-lambda-stubs", "framework", "ext", + "updatable_media_stubs", "android_stubs_current", "android_system_stubs_current", "android_test_stubs_current", @@ -955,7 +956,7 @@ func TestPatchModule(t *testing.T) { checkPatchModuleFlag(t, ctx, "foo", "") expected := "java.base=.:" + buildDir checkPatchModuleFlag(t, ctx, "bar", expected) - expected = "java.base=" + strings.Join([]string{".", buildDir, moduleToPath("ext"), moduleToPath("framework")}, ":") + expected = "java.base=" + strings.Join([]string{".", buildDir, moduleToPath("ext"), moduleToPath("framework"), moduleToPath("updatable_media_stubs")}, ":") checkPatchModuleFlag(t, ctx, "baz", expected) }) } diff --git a/java/sdk_test.go b/java/sdk_test.go index 6924e2654..a11ea2f7f 100644 --- a/java/sdk_test.go +++ b/java/sdk_test.go @@ -39,14 +39,14 @@ var classpathTestcases = []struct { name: "default", bootclasspath: []string{"core.platform.api.stubs", "core-lambda-stubs"}, system: "core-platform-api-stubs-system-modules", - classpath: []string{"ext", "framework"}, + classpath: []string{"ext", "framework", "updatable_media_stubs"}, }, { name: "blank sdk version", properties: `sdk_version: "",`, bootclasspath: []string{"core.platform.api.stubs", "core-lambda-stubs"}, system: "core-platform-api-stubs-system-modules", - classpath: []string{"ext", "framework"}, + classpath: []string{"ext", "framework", "updatable_media_stubs"}, }, { -- cgit v1.2.3-59-g8ed1b From b19745363f3cc59ffd46c664997602f250892d4d Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 15 Feb 2019 10:37:39 -0800 Subject: Add java/testing.go for sysprop_test.go Share more of the setup code for java tests to sysprop_tests.go. Test: java_test.go, sysprop_test.go Change-Id: I0e3b287bf188c432d995a9a91a18ebef12aa47d1 --- Android.bp | 1 + java/java_test.go | 61 ++------------------------------- java/testing.go | 89 +++++++++++++++++++++++++++++++++++++++++++++++++ sysprop/sysprop_test.go | 60 +++------------------------------ 4 files changed, 96 insertions(+), 115 deletions(-) create mode 100644 java/testing.go (limited to 'java/java_test.go') diff --git a/Android.bp b/Android.bp index 2efc3954d..658eaf66b 100644 --- a/Android.bp +++ b/Android.bp @@ -267,6 +267,7 @@ bootstrap_go_package { "java/sdk_library.go", "java/support_libraries.go", "java/system_modules.go", + "java/testing.go", ], testSrcs: [ "java/app_test.go", diff --git a/java/java_test.go b/java/java_test.go index ded1f00e6..9202cdcb8 100644 --- a/java/java_test.go +++ b/java/java_test.go @@ -15,7 +15,6 @@ package java import ( - "fmt" "io/ioutil" "os" "path/filepath" @@ -54,16 +53,7 @@ func TestMain(m *testing.M) { } func testConfig(env map[string]string) android.Config { - if env == nil { - env = make(map[string]string) - } - if env["ANDROID_JAVA8_HOME"] == "" { - env["ANDROID_JAVA8_HOME"] = "jdk8" - } - config := android.TestArchConfig(buildDir, env) - config.TestProductVariables.DeviceSystemSdkVersions = []string{"14", "15"} - return config - + return TestConfig(buildDir, env) } func testContext(config android.Config, bp string, @@ -113,54 +103,7 @@ func testContext(config android.Config, bp string, ctx.Register() - extraModules := []string{ - "core-lambda-stubs", - "framework", - "ext", - "updatable_media_stubs", - "android_stubs_current", - "android_system_stubs_current", - "android_test_stubs_current", - "core.current.stubs", - "core.platform.api.stubs", - "kotlin-stdlib", - "kotlin-annotations", - } - - for _, extra := range extraModules { - bp += fmt.Sprintf(` - java_library { - name: "%s", - srcs: ["a.java"], - no_standard_libs: true, - sdk_version: "core_current", - system_modules: "core-platform-api-stubs-system-modules", - } - `, extra) - } - - bp += ` - android_app { - name: "framework-res", - no_framework_libs: true, - } - ` - - systemModules := []string{ - "core-system-modules", - "core-platform-api-stubs-system-modules", - "android_stubs_current_system_modules", - "android_system_stubs_current_system_modules", - "android_test_stubs_current_system_modules", - } - - for _, extra := range systemModules { - bp += fmt.Sprintf(` - java_system_modules { - name: "%s", - } - `, extra) - } + bp += GatherRequiredDepsForTest() mockFS := map[string][]byte{ "Android.bp": []byte(bp), diff --git a/java/testing.go b/java/testing.go new file mode 100644 index 000000000..713eca1a3 --- /dev/null +++ b/java/testing.go @@ -0,0 +1,89 @@ +// Copyright 2019 Google Inc. All rights reserved. +// +// 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 java + +import ( + "fmt" + + "android/soong/android" +) + +func TestConfig(buildDir string, env map[string]string) android.Config { + if env == nil { + env = make(map[string]string) + } + if env["ANDROID_JAVA8_HOME"] == "" { + env["ANDROID_JAVA8_HOME"] = "jdk8" + } + config := android.TestArchConfig(buildDir, env) + config.TestProductVariables.DeviceSystemSdkVersions = []string{"14", "15"} + + return config +} + +func GatherRequiredDepsForTest() string { + var bp string + + extraModules := []string{ + "core-lambda-stubs", + "framework", + "ext", + "updatable_media_stubs", + "android_stubs_current", + "android_system_stubs_current", + "android_test_stubs_current", + "core.current.stubs", + "core.platform.api.stubs", + "kotlin-stdlib", + "kotlin-annotations", + } + + for _, extra := range extraModules { + bp += fmt.Sprintf(` + java_library { + name: "%s", + srcs: ["a.java"], + no_standard_libs: true, + sdk_version: "core_current", + system_modules: "core-platform-api-stubs-system-modules", + } + `, extra) + } + + bp += ` + android_app { + name: "framework-res", + no_framework_libs: true, + } + ` + + systemModules := []string{ + "core-system-modules", + "core-platform-api-stubs-system-modules", + "android_stubs_current_system_modules", + "android_system_stubs_current_system_modules", + "android_test_stubs_current_system_modules", + } + + for _, extra := range systemModules { + bp += fmt.Sprintf(` + java_system_modules { + name: "%s", + } + `, extra) + } + + return bp +} diff --git a/sysprop/sysprop_test.go b/sysprop/sysprop_test.go index 92e0af4b6..745e42412 100644 --- a/sysprop/sysprop_test.go +++ b/sysprop/sysprop_test.go @@ -19,7 +19,6 @@ import ( "android/soong/cc" "android/soong/java" - "fmt" "io/ioutil" "os" "strings" @@ -90,54 +89,7 @@ func testContext(config android.Config, bp string, ctx.Register() - extraModules := []string{ - "core-lambda-stubs", - "framework", - "ext", - "updatable_media_stubs", - - "android_stubs_current", - "android_system_stubs_current", - "android_test_stubs_current", - "core.current.stubs", - "core.platform.api.stubs", - } - - for _, extra := range extraModules { - bp += fmt.Sprintf(` - java_library { - name: "%s", - srcs: ["a.java"], - no_standard_libs: true, - sdk_version: "core_current", - system_modules: "core-platform-api-stubs-system-modules", - } - `, extra) - } - - bp += ` - android_app { - name: "framework-res", - no_framework_libs: true, - } - ` - - systemModules := []string{ - "core-system-modules", - "core-platform-api-stubs-system-modules", - "android_stubs_current_system_modules", - "android_system_stubs_current_system_modules", - "android_test_stubs_current_system_modules", - } - - for _, extra := range systemModules { - bp += fmt.Sprintf(` - java_system_modules { - name: "%s", - } - `, extra) - } - + bp += java.GatherRequiredDepsForTest() bp += cc.GatherRequiredDepsForTest(android.Android) mockFS := map[string][]byte{ @@ -224,16 +176,12 @@ func run(t *testing.T, ctx *android.TestContext, config android.Config) { } func testConfig(env map[string]string) android.Config { - if env == nil { - env = make(map[string]string) - } - if env["ANDROID_JAVA8_HOME"] == "" { - env["ANDROID_JAVA8_HOME"] = "jdk8" - } - config := android.TestArchConfig(buildDir, env) + config := java.TestConfig(buildDir, env) + config.TestProductVariables.DeviceSystemSdkVersions = []string{"28"} config.TestProductVariables.DeviceVndkVersion = proptools.StringPtr("current") config.TestProductVariables.Platform_vndk_version = proptools.StringPtr("VER") + return config } -- cgit v1.2.3-59-g8ed1b