Merge "Revert "Export implementation class jars for java_boot_libs"" am: 52cc87959b
Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1768945 Change-Id: I7623a3f94150212349074da3312c44568851946d
This commit is contained in:
@@ -239,6 +239,12 @@ type SnapshotBuilder interface {
|
|||||||
// to the zip
|
// to the zip
|
||||||
CopyToSnapshot(src Path, dest string)
|
CopyToSnapshot(src Path, dest string)
|
||||||
|
|
||||||
|
// Return the path to an empty file.
|
||||||
|
//
|
||||||
|
// This can be used by sdk member types that need to create an empty file in the snapshot, simply
|
||||||
|
// pass the value returned from this to the CopyToSnapshot() method.
|
||||||
|
EmptyFile() Path
|
||||||
|
|
||||||
// Unzip the supplied zip into the snapshot relative directory destDir.
|
// Unzip the supplied zip into the snapshot relative directory destDir.
|
||||||
UnzipToSnapshot(zipPath Path, destDir string)
|
UnzipToSnapshot(zipPath Path, destDir string)
|
||||||
|
|
||||||
|
18
java/java.go
18
java/java.go
@@ -130,11 +130,19 @@ var (
|
|||||||
PropertyName: "java_boot_libs",
|
PropertyName: "java_boot_libs",
|
||||||
SupportsSdk: true,
|
SupportsSdk: true,
|
||||||
},
|
},
|
||||||
// Temporarily export implementation classes jar for java_boot_libs as it is required for the
|
func(ctx android.SdkMemberContext, j *Library) android.Path {
|
||||||
// hiddenapi processing.
|
// Java boot libs are only provided in the SDK to provide access to their dex implementation
|
||||||
// TODO(b/179354495): Revert once hiddenapi processing has been modularized.
|
// jar for use by dexpreopting and boot jars package check. They do not need to provide an
|
||||||
exportImplementationClassesJar,
|
// actual implementation jar but the java_import will need a file that exists so just copy an
|
||||||
sdkSnapshotFilePathForJar,
|
// empty file. Any attempt to use that file as a jar will cause a build error.
|
||||||
|
return ctx.SnapshotBuilder().EmptyFile()
|
||||||
|
},
|
||||||
|
func(osPrefix, name string) string {
|
||||||
|
// Create a special name for the implementation jar to try and provide some useful information
|
||||||
|
// to a developer that attempts to compile against this.
|
||||||
|
// TODO(b/175714559): Provide a proper error message in Soong not ninja.
|
||||||
|
return filepath.Join(osPrefix, "java_boot_libs", "snapshot", "jars", "are", "invalid", name+jarFileSuffix)
|
||||||
|
},
|
||||||
onlyCopyJarToSnapshot,
|
onlyCopyJarToSnapshot,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -147,7 +147,7 @@ java_import {
|
|||||||
prefer: false,
|
prefer: false,
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["com.android.art"],
|
apex_available: ["com.android.art"],
|
||||||
jars: ["java/mybootlib.jar"],
|
jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
|
||||||
}
|
}
|
||||||
`),
|
`),
|
||||||
checkVersionedAndroidBpContents(`
|
checkVersionedAndroidBpContents(`
|
||||||
@@ -174,7 +174,7 @@ java_import {
|
|||||||
sdk_member_name: "mybootlib",
|
sdk_member_name: "mybootlib",
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["com.android.art"],
|
apex_available: ["com.android.art"],
|
||||||
jars: ["java/mybootlib.jar"],
|
jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
|
||||||
}
|
}
|
||||||
|
|
||||||
sdk_snapshot {
|
sdk_snapshot {
|
||||||
@@ -190,7 +190,7 @@ sdk_snapshot {
|
|||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/all-flags.csv -> hiddenapi/all-flags.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/all-flags.csv -> hiddenapi/all-flags.csv
|
||||||
.intermediates/mybootlib/android_common/javac/mybootlib.jar -> java/mybootlib.jar
|
.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
||||||
`),
|
`),
|
||||||
snapshotTestPreparer(checkSnapshotWithoutSource, preparerForSnapshot),
|
snapshotTestPreparer(checkSnapshotWithoutSource, preparerForSnapshot),
|
||||||
|
|
||||||
@@ -345,7 +345,7 @@ java_import {
|
|||||||
prefer: false,
|
prefer: false,
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["myapex"],
|
apex_available: ["myapex"],
|
||||||
jars: ["java/mybootlib.jar"],
|
jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
|
||||||
permitted_packages: ["mybootlib"],
|
permitted_packages: ["mybootlib"],
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -429,7 +429,7 @@ java_import {
|
|||||||
sdk_member_name: "mybootlib",
|
sdk_member_name: "mybootlib",
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["myapex"],
|
apex_available: ["myapex"],
|
||||||
jars: ["java/mybootlib.jar"],
|
jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
|
||||||
permitted_packages: ["mybootlib"],
|
permitted_packages: ["mybootlib"],
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -499,7 +499,7 @@ sdk_snapshot {
|
|||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/all-flags.csv -> hiddenapi/all-flags.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/all-flags.csv -> hiddenapi/all-flags.csv
|
||||||
.intermediates/mybootlib/android_common/javac/mybootlib.jar -> java/mybootlib.jar
|
.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/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_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
|
.intermediates/myothersdklibrary.stubs.source/android_common/metalava/myothersdklibrary.stubs.source_removed.txt -> sdk_library/public/myothersdklibrary-removed.txt
|
||||||
@@ -851,7 +851,7 @@ java_import {
|
|||||||
prefer: false,
|
prefer: false,
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["myapex"],
|
apex_available: ["myapex"],
|
||||||
jars: ["java/mybootlib.jar"],
|
jars: ["java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar"],
|
||||||
permitted_packages: ["mybootlib"],
|
permitted_packages: ["mybootlib"],
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -886,7 +886,7 @@ my-unsupported-packages.txt -> hiddenapi/my-unsupported-packages.txt
|
|||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/metadata.csv -> hiddenapi/metadata.csv
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/index.csv -> hiddenapi/index.csv
|
||||||
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/all-flags.csv -> hiddenapi/all-flags.csv
|
.intermediates/mybootclasspathfragment/android_common/modular-hiddenapi/all-flags.csv -> hiddenapi/all-flags.csv
|
||||||
.intermediates/mybootlib/android_common/javac/mybootlib.jar -> java/mybootlib.jar
|
.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/mybootlib.jar
|
||||||
.intermediates/mysdklibrary.stubs/android_common/javac/mysdklibrary.stubs.jar -> sdk_library/public/mysdklibrary-stubs.jar
|
.intermediates/mysdklibrary.stubs/android_common/javac/mysdklibrary.stubs.jar -> sdk_library/public/mysdklibrary-stubs.jar
|
||||||
.intermediates/mysdklibrary.stubs.source/android_common/metalava/mysdklibrary.stubs.source_api.txt -> sdk_library/public/mysdklibrary.txt
|
.intermediates/mysdklibrary.stubs.source/android_common/metalava/mysdklibrary.stubs.source_api.txt -> sdk_library/public/mysdklibrary.txt
|
||||||
.intermediates/mysdklibrary.stubs.source/android_common/metalava/mysdklibrary.stubs.source_removed.txt -> sdk_library/public/mysdklibrary-removed.txt
|
.intermediates/mysdklibrary.stubs.source/android_common/metalava/mysdklibrary.stubs.source_removed.txt -> sdk_library/public/mysdklibrary-removed.txt
|
||||||
|
@@ -453,7 +453,7 @@ java_import {
|
|||||||
prefer: false,
|
prefer: false,
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"],
|
||||||
permitted_packages: ["pkg.myjavalib"],
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
`),
|
`),
|
||||||
@@ -465,7 +465,7 @@ java_import {
|
|||||||
sdk_member_name: "myjavalib",
|
sdk_member_name: "myjavalib",
|
||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
apex_available: ["//apex_available:platform"],
|
apex_available: ["//apex_available:platform"],
|
||||||
jars: ["java/myjavalib.jar"],
|
jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"],
|
||||||
permitted_packages: ["pkg.myjavalib"],
|
permitted_packages: ["pkg.myjavalib"],
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -474,9 +474,10 @@ module_exports_snapshot {
|
|||||||
visibility: ["//visibility:public"],
|
visibility: ["//visibility:public"],
|
||||||
java_boot_libs: ["myexports_myjavalib@current"],
|
java_boot_libs: ["myexports_myjavalib@current"],
|
||||||
}
|
}
|
||||||
|
|
||||||
`),
|
`),
|
||||||
checkAllCopyRules(`
|
checkAllCopyRules(`
|
||||||
.intermediates/myjavalib/android_common/withres/myjavalib.jar -> java/myjavalib.jar
|
.intermediates/myexports/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar
|
||||||
`),
|
`),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@@ -1029,6 +1029,9 @@ type snapshotBuilder struct {
|
|||||||
filesToZip android.Paths
|
filesToZip android.Paths
|
||||||
zipsToMerge android.Paths
|
zipsToMerge android.Paths
|
||||||
|
|
||||||
|
// The path to an empty file.
|
||||||
|
emptyFile android.WritablePath
|
||||||
|
|
||||||
prebuiltModules map[string]*bpModule
|
prebuiltModules map[string]*bpModule
|
||||||
prebuiltOrder []*bpModule
|
prebuiltOrder []*bpModule
|
||||||
|
|
||||||
@@ -1079,6 +1082,19 @@ func (s *snapshotBuilder) UnzipToSnapshot(zipPath android.Path, destDir string)
|
|||||||
s.zipsToMerge = append(s.zipsToMerge, tmpZipPath)
|
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 {
|
func (s *snapshotBuilder) AddPrebuiltModule(member android.SdkMember, moduleType string) android.BpModule {
|
||||||
name := member.Name()
|
name := member.Name()
|
||||||
if s.prebuiltModules[name] != nil {
|
if s.prebuiltModules[name] != nil {
|
||||||
|
Reference in New Issue
Block a user