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

Commit c6fcf298 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Remove duplicate entries from hiddenapi files"

parents 41905bf7 219b1772
Loading
Loading
Loading
Loading
+12 −10
Original line number Diff line number Diff line
@@ -108,23 +108,25 @@ func (h *hiddenAPI) hiddenAPI(ctx android.ModuleContext, name string, primary bo
		// not on the list then that will cause failures in the CtsHiddenApiBlacklist...
		// tests.
		if inList(bootJarName, ctx.Config().BootJars()) {
			// More than one library with the same classes may need to be encoded but only one should be
			// used as a source of information for hidden API processing otherwise it will result in
			// duplicate entries in the files.
			if primary {
				// Create ninja rules to generate various CSV files needed by hiddenapi and store the paths
				// in the hiddenAPI structure.
				h.hiddenAPIGenerateCSV(ctx, implementationJar)

				// Save the unencoded dex jar so it can be used when generating the
				// hiddenAPISingletonPathsStruct.stubFlags file.
				h.bootDexJarPath = dexJar
			}

			// If this module is actually on the boot jars list and not providing
			// hiddenapi information for a module on the boot jars list then encode
			// the gathered information in the generated dex file.
			if name == bootJarName {
				hiddenAPIJar := android.PathForModuleOut(ctx, "hiddenapi", name+".jar").OutputPath

				// More than one library with the same classes can be encoded but only one can
				// be added to the global set of flags, otherwise it will result in duplicate
				// classes which is an error. Therefore, only add the dex jar of one of them
				// to the global set of flags.
				if primary {
					h.bootDexJarPath = dexJar
				}
				hiddenAPIEncodeDex(ctx, hiddenAPIJar, dexJar, uncompressDex)
				dexJar = hiddenAPIJar
			}
+0 −2
Original line number Diff line number Diff line
@@ -109,10 +109,8 @@ func TestHiddenAPIIndexSingleton(t *testing.T) {
	hiddenAPIIndex := ctx.SingletonForTests("hiddenapi_index")
	indexRule := hiddenAPIIndex.Rule("singleton-merged-hiddenapi-index")
	checkRuleInputs(t, `
.intermediates/bar.impl/android_common/hiddenapi/index.csv
.intermediates/bar/android_common/hiddenapi/index.csv
.intermediates/foo/android_common/hiddenapi/index.csv
.intermediates/prebuilt_foo/android_common/hiddenapi/index.csv
`,
		indexRule)
}