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

Commit 44b85d01 authored by Colin Cross's avatar Colin Cross
Browse files

Update soong copy of java binaries when Make copy is installed

m <modulename> is handled by Make and installs the Make copy of a host
java binary in out/host/linux-x86/bin, and doesn't depend on the Soong
copy in out/soong/host/linux-x86/bin.  That can leave a stale binary
in the Soong directory, and since the Soong directory is first in the
path set up by envsetup.sh, can result in confusing behavior to end
users.

cc_binary already has the Make binary depend on the Soong binary
so that they are both updated.  Do the same for java_binary.

Fixes: 180405155
Test: m metalava
Change-Id: Ic84a131a2851cc4a18ce3725da3c4067137d6120
parent d98f5b27
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -287,9 +287,16 @@ func (binary *Binary) AndroidMkEntries() []android.AndroidMkEntries {
			},
		}}
	} else {
		outputFile := binary.wrapperFile
		// Have Make installation trigger Soong installation by using Soong's install path as
		// the output file.
		if binary.Host() {
			outputFile = binary.binaryFile
		}

		return []android.AndroidMkEntries{android.AndroidMkEntries{
			Class:      "EXECUTABLES",
			OutputFile: android.OptionalPathForPath(binary.wrapperFile),
			OutputFile: android.OptionalPathForPath(outputFile),
			ExtraEntries: []android.AndroidMkExtraEntriesFunc{
				func(ctx android.AndroidMkExtraEntriesContext, entries *android.AndroidMkEntries) {
					entries.SetBool("LOCAL_STRIP_MODULE", false)