Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6050c3c3 authored by Paul Duffin's avatar Paul Duffin Committed by Gerrit Code Review
Browse files

Merge "Support UNSAFE_DISABLE_HIDDENAPI_FLAGS in platform_bootclasspath"

parents 149e19ef 0b659866
Loading
Loading
Loading
Loading
+17 −3
Original line number Diff line number Diff line
@@ -73,13 +73,13 @@ type platformBootclasspathModule struct {
	fragments []android.Module

	// Path to the monolithic hiddenapi-flags.csv file.
	hiddenAPIFlagsCSV android.Path
	hiddenAPIFlagsCSV android.OutputPath

	// Path to the monolithic hiddenapi-index.csv file.
	hiddenAPIIndexCSV android.Path
	hiddenAPIIndexCSV android.OutputPath

	// Path to the monolithic hiddenapi-unsupported.csv file.
	hiddenAPIMetadataCSV android.Path
	hiddenAPIMetadataCSV android.OutputPath
}

// ApexVariantReference specifies a particular apex variant of a module.
@@ -266,6 +266,20 @@ func (b *platformBootclasspathModule) generateHiddenAPIBuildActions(ctx android.
	b.hiddenAPIIndexCSV = hiddenAPISingletonPaths(ctx).index
	b.hiddenAPIMetadataCSV = hiddenAPISingletonPaths(ctx).metadata

	// Don't run any hiddenapi rules if UNSAFE_DISABLE_HIDDENAPI_FLAGS=true. This is a performance
	// optimization that can be used to reduce the incremental build time but as its name suggests it
	// can be unsafe to use, e.g. when the changes affect anything that goes on the bootclasspath.
	if ctx.Config().IsEnvTrue("UNSAFE_DISABLE_HIDDENAPI_FLAGS") {
		paths := android.OutputPaths{b.hiddenAPIFlagsCSV, b.hiddenAPIIndexCSV, b.hiddenAPIMetadataCSV}
		for _, path := range paths {
			ctx.Build(pctx, android.BuildParams{
				Rule:   android.Touch,
				Output: path,
			})
		}
		return
	}

	moduleSpecificFlagsPaths := android.Paths{}
	for _, module := range modules {
		if h, ok := module.(hiddenAPIIntf); ok {