Revert "Improve error reporting when depending on prebuilt implementation jar"
This reverts commit c61783b20d70789d657dcb82050369480cc443c7.
Bug: 257969510
Reason for revert: b/255275437 - breaks checkbuild target
Change-Id: I01f88053cc24dbc1a4eb5c009f15473bdff3d565
diff --git a/sdk/bootclasspath_fragment_sdk_test.go b/sdk/bootclasspath_fragment_sdk_test.go
index 58c1647..1b64130 100644
--- a/sdk/bootclasspath_fragment_sdk_test.go
+++ b/sdk/bootclasspath_fragment_sdk_test.go
@@ -169,15 +169,7 @@
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["com.android.art"],
- jars: [":mysdk_core1-error"],
-}
-
-genrule {
- name: "mysdk_core1-error",
- visibility: ["//visibility:private"],
- out: ["this-file-will-never-be-created.jar"],
- tool_files: ["scripts/invalid_implementation_jar.sh"],
- cmd: "$(location scripts/invalid_implementation_jar.sh) core1",
+ jars: ["java_boot_libs/snapshot/jars/are/invalid/core1.jar"],
}
java_import {
@@ -185,15 +177,7 @@
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["com.android.art"],
- jars: [":mysdk_core2-error"],
-}
-
-genrule {
- name: "mysdk_core2-error",
- visibility: ["//visibility:private"],
- out: ["this-file-will-never-be-created.jar"],
- tool_files: ["scripts/invalid_implementation_jar.sh"],
- cmd: "$(location scripts/invalid_implementation_jar.sh) core2",
+ jars: ["java_boot_libs/snapshot/jars/are/invalid/core2.jar"],
}
`),
checkAllCopyRules(`
@@ -203,7 +187,8 @@
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/signature-patterns.csv -> hiddenapi/signature-patterns.csv
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-stub-flags.csv -> hiddenapi/filtered-stub-flags.csv
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-flags.csv -> hiddenapi/filtered-flags.csv
-build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh
+.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/core1.jar
+.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/core2.jar
`),
snapshotTestPreparer(checkSnapshotWithoutSource, preparerForSnapshot),
@@ -372,18 +357,10 @@
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["myapex"],
- jars: [":mysdk_mybootlib-error"],
+ jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
permitted_packages: ["mybootlib"],
}
-genrule {
- name: "mysdk_mybootlib-error",
- visibility: ["//visibility:private"],
- out: ["this-file-will-never-be-created.jar"],
- tool_files: ["scripts/invalid_implementation_jar.sh"],
- cmd: "$(location scripts/invalid_implementation_jar.sh) mybootlib",
-}
-
java_sdk_library_import {
name: "myothersdklibrary",
prefer: false,
@@ -490,7 +467,7 @@
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/signature-patterns.csv -> hiddenapi/signature-patterns.csv
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-stub-flags.csv -> hiddenapi/filtered-stub-flags.csv
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-flags.csv -> hiddenapi/filtered-flags.csv
-build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh
+.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
.intermediates/myothersdklibrary.stubs/android_common/javac/myothersdklibrary.stubs.jar -> sdk_library/public/myothersdklibrary-stubs.jar
.intermediates/myothersdklibrary.stubs.source/android_common/metalava/myothersdklibrary.stubs.source_api.txt -> sdk_library/public/myothersdklibrary.txt
.intermediates/myothersdklibrary.stubs.source/android_common/metalava/myothersdklibrary.stubs.source_removed.txt -> sdk_library/public/myothersdklibrary-removed.txt
@@ -510,7 +487,7 @@
.intermediates/mybootclasspathfragment/android_common_myapex/modular-hiddenapi/signature-patterns.csv -> hiddenapi/signature-patterns.csv
.intermediates/mybootclasspathfragment/android_common_myapex/modular-hiddenapi/filtered-stub-flags.csv -> hiddenapi/filtered-stub-flags.csv
.intermediates/mybootclasspathfragment/android_common_myapex/modular-hiddenapi/filtered-flags.csv -> hiddenapi/filtered-flags.csv
-build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh
+.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
.intermediates/myothersdklibrary.stubs/android_common/javac/myothersdklibrary.stubs.jar -> sdk_library/public/myothersdklibrary-stubs.jar
.intermediates/myothersdklibrary.stubs.source/android_common/metalava/myothersdklibrary.stubs.source_api.txt -> sdk_library/public/myothersdklibrary.txt
.intermediates/myothersdklibrary.stubs.source/android_common/metalava/myothersdklibrary.stubs.source_removed.txt -> sdk_library/public/myothersdklibrary-removed.txt
@@ -899,18 +876,10 @@
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["myapex"],
- jars: [":mysdk_mybootlib-error"],
+ jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
permitted_packages: ["mybootlib"],
}
-genrule {
- name: "mysdk_mybootlib-error",
- visibility: ["//visibility:private"],
- out: ["this-file-will-never-be-created.jar"],
- tool_files: ["scripts/invalid_implementation_jar.sh"],
- cmd: "$(location scripts/invalid_implementation_jar.sh) mybootlib",
-}
-
java_sdk_library_import {
name: "mynewlibrary",
prefer: false,
@@ -961,7 +930,7 @@
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/signature-patterns.csv -> hiddenapi/signature-patterns.csv
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-stub-flags.csv -> hiddenapi/filtered-stub-flags.csv
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/filtered-flags.csv -> hiddenapi/filtered-flags.csv
-build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh
+.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
.intermediates/mynewlibrary.stubs/android_common/javac/mynewlibrary.stubs.jar -> sdk_library/public/mynewlibrary-stubs.jar
.intermediates/mynewlibrary.stubs.source/android_common/metalava/mynewlibrary.stubs.source_api.txt -> sdk_library/public/mynewlibrary.txt
.intermediates/mynewlibrary.stubs.source/android_common/metalava/mynewlibrary.stubs.source_removed.txt -> sdk_library/public/mynewlibrary-removed.txt
diff --git a/sdk/java_sdk_test.go b/sdk/java_sdk_test.go
index c6cb6c2..51903ce3 100644
--- a/sdk/java_sdk_test.go
+++ b/sdk/java_sdk_test.go
@@ -19,13 +19,11 @@
"testing"
"android/soong/android"
- "android/soong/genrule"
"android/soong/java"
)
var prepareForSdkTestWithJava = android.GroupFixturePreparers(
java.PrepareForTestWithJavaBuildComponents,
- genrule.PrepareForTestWithGenRuleBuildComponents,
PrepareForTestWithSdkBuildComponents,
// Ensure that all source paths are provided. This helps ensure that the snapshot generation is
@@ -36,7 +34,6 @@
// Files needs by most of the tests.
android.MockFS{
"Test.java": nil,
- "build/soong/java/invalid_implementation_jar.sh": nil,
}.AddToFixture(),
)
@@ -291,26 +288,18 @@
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["//apex_available:platform"],
- jars: [":mysdk_myjavalib-error"],
+ jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"],
permitted_packages: ["pkg.myjavalib"],
}
-
-genrule {
- name: "mysdk_myjavalib-error",
- visibility: ["//visibility:private"],
- out: ["this-file-will-never-be-created.jar"],
- tool_files: ["scripts/invalid_implementation_jar.sh"],
- cmd: "$(location scripts/invalid_implementation_jar.sh) myjavalib",
-}
`),
checkAllCopyRules(`
-build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh
+.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar
`),
)
}
func TestSnapshotWithJavaBootLibrary_UpdatableMedia(t *testing.T) {
- runTest := func(t *testing.T, targetBuildRelease, expectedJarPath, expectedGenRule, expectedCopyRule string) {
+ runTest := func(t *testing.T, targetBuildRelease, expectedJarPath, expectedCopyRule string) {
result := android.GroupFixturePreparers(
prepareForSdkTestWithJava,
android.FixtureMergeEnv(map[string]string{
@@ -345,27 +334,20 @@
jars: ["%s"],
permitted_packages: ["pkg.media"],
}
-%s`, expectedJarPath, expectedGenRule)),
+`, expectedJarPath)),
checkAllCopyRules(expectedCopyRule),
)
}
t.Run("updatable-media in S", func(t *testing.T) {
- runTest(t, "S", "java/updatable-media.jar", "", `
+ runTest(t, "S", "java/updatable-media.jar", `
.intermediates/updatable-media/android_common/package-check/updatable-media.jar -> java/updatable-media.jar
`)
})
t.Run("updatable-media in T", func(t *testing.T) {
- runTest(t, "Tiramisu", ":mysdk_updatable-media-error", `
-genrule {
- name: "mysdk_updatable-media-error",
- visibility: ["//visibility:private"],
- out: ["this-file-will-never-be-created.jar"],
- tool_files: ["scripts/invalid_implementation_jar.sh"],
- cmd: "$(location scripts/invalid_implementation_jar.sh) updatable-media",
-}`, `
-build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh
+ runTest(t, "Tiramisu", "java_boot_libs/snapshot/jars/are/invalid/updatable-media.jar", `
+.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/updatable-media.jar
`)
})
}
@@ -407,20 +389,12 @@
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["//apex_available:platform"],
- jars: [":myexports_myjavalib-error"],
+ jars: ["java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar"],
permitted_packages: ["pkg.myjavalib"],
}
-
-genrule {
- name: "myexports_myjavalib-error",
- visibility: ["//visibility:private"],
- out: ["this-file-will-never-be-created.jar"],
- tool_files: ["scripts/invalid_implementation_jar.sh"],
- cmd: "$(location scripts/invalid_implementation_jar.sh) myjavalib",
-}
`),
checkAllCopyRules(`
-build/soong/java/invalid_implementation_jar.sh -> scripts/invalid_implementation_jar.sh
+.intermediates/myexports/common_os/empty -> java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar
`),
)
}
diff --git a/sdk/systemserverclasspath_fragment_sdk_test.go b/sdk/systemserverclasspath_fragment_sdk_test.go
index 9540a6b..1ac405d 100644
--- a/sdk/systemserverclasspath_fragment_sdk_test.go
+++ b/sdk/systemserverclasspath_fragment_sdk_test.go
@@ -119,18 +119,10 @@
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["myapex"],
- jars: [":mysdk_mylib-error"],
+ jars: ["java_systemserver_libs/snapshot/jars/are/invalid/mylib.jar"],
permitted_packages: ["mylib"],
}
-genrule {
- name: "mysdk_mylib-error",
- visibility: ["//visibility:private"],
- out: ["this-file-will-never-be-created.jar"],
- tool_files: ["scripts/invalid_implementation_jar.sh"],
- cmd: "$(location scripts/invalid_implementation_jar.sh) mylib",
-}
-
prebuilt_systemserverclasspath_fragment {
name: "mysystemserverclasspathfragment",
prefer: false,
@@ -188,18 +180,10 @@
prefer: false,
visibility: ["//visibility:public"],
apex_available: ["myapex"],
- jars: [":mysdk_mylib-error"],
+ jars: ["java_systemserver_libs/snapshot/jars/are/invalid/mylib.jar"],
permitted_packages: ["mylib"],
}
-genrule {
- name: "mysdk_mylib-error",
- visibility: ["//visibility:private"],
- out: ["this-file-will-never-be-created.jar"],
- tool_files: ["scripts/invalid_implementation_jar.sh"],
- cmd: "$(location scripts/invalid_implementation_jar.sh) mylib",
-}
-
prebuilt_systemserverclasspath_fragment {
name: "mysystemserverclasspathfragment",
prefer: false,
diff --git a/sdk/update.go b/sdk/update.go
index 6ebbf09..92a13fa 100644
--- a/sdk/update.go
+++ b/sdk/update.go
@@ -1049,6 +1049,9 @@
filesToZip android.Paths
zipsToMerge android.Paths
+ // The path to an empty file.
+ emptyFile android.WritablePath
+
prebuiltModules map[string]*bpModule
prebuiltOrder []*bpModule
@@ -1108,6 +1111,19 @@
s.zipsToMerge = append(s.zipsToMerge, tmpZipPath)
}
+func (s *snapshotBuilder) EmptyFile() android.Path {
+ if s.emptyFile == nil {
+ ctx := s.ctx
+ s.emptyFile = android.PathForModuleOut(ctx, "empty")
+ s.ctx.Build(pctx, android.BuildParams{
+ Rule: android.Touch,
+ Output: s.emptyFile,
+ })
+ }
+
+ return s.emptyFile
+}
+
func (s *snapshotBuilder) AddPrebuiltModule(member android.SdkMember, moduleType string) android.BpModule {
name := member.Name()
if s.prebuiltModules[name] != nil {
@@ -1184,24 +1200,6 @@
return m
}
-func (s *snapshotBuilder) AddInternalModule(properties android.SdkMemberProperties, moduleType string, nameSuffix string) android.BpModule {
- name := properties.Name() + "-" + nameSuffix
-
- if s.prebuiltModules[name] != nil {
- panic(fmt.Sprintf("Duplicate module detected, module %s has already been added", name))
- }
-
- m := s.bpFile.newModule(moduleType)
- m.AddProperty("name", name)
- m.AddProperty("visibility", []string{"//visibility:private"})
-
- s.prebuiltModules[name] = m
- s.prebuiltOrder = append(s.prebuiltOrder, m)
-
- s.allMembersByName[name] = struct{}{}
- return m
-}
-
func addHostDeviceSupportedProperties(deviceSupported bool, hostSupported bool, bpModule *bpModule) {
// If neither device or host is supported then this module does not support either so will not
// recognize the properties.
@@ -1232,23 +1230,18 @@
// Get a name for sdk snapshot member. If the member is private then generate a snapshot specific
// name. As part of the processing this checks to make sure that any required members are part of
// the snapshot.
-func (s *snapshotBuilder) snapshotSdkMemberName(reference string, required bool) string {
- prefix := ""
- name := strings.TrimPrefix(reference, ":")
- if name != reference {
- prefix = ":"
- }
+func (s *snapshotBuilder) snapshotSdkMemberName(name string, required bool) string {
if _, ok := s.allMembersByName[name]; !ok {
if required {
s.ctx.ModuleErrorf("Required member reference %s is not a member of the sdk", name)
}
- return reference
+ return name
}
if s.isInternalMember(name) {
- return prefix + s.ctx.ModuleName() + "_" + name
+ return s.ctx.ModuleName() + "_" + name
} else {
- return reference
+ return name
}
}
@@ -2064,7 +2057,6 @@
variantPropertiesFactory := func() android.SdkMemberProperties {
properties := memberType.CreateVariantPropertiesStruct()
base := properties.Base()
- base.MemberName = member.Name()
base.Os_count = osCount
return properties
}