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

Commit e12c8620 authored by Jiyong Park's avatar Jiyong Park
Browse files

Avoid path conflicts for the notice files

Path conflicts could happen when following conditions are met.
1) a java library named "foo" is not installable.
2) a java library named "bar" is installable, and its stem is set to
"foo".

Then the notice file for 1) becomes foo.jar.txt following its
LOCAL_MODULE, while the notice file for 2) becomes foo.jar.txt following
its stem. Since the file for 1) is a synthetic one, the actual name
isn't important. Avoid the conflict by appending a suffix
(_non_installable, but could be anything) to the file name for 1).

There still is a chance for the conflict; if the stem for "bar" is set
to "foo_non_installable". But practically, the chances are very low.

Bug: 139391334
Bug: 143700028
Test: m
Change-Id: Id50b30774bbf65cc180baf963a95ea56fe6eb74f
parent aff6c12f
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -71,8 +71,11 @@ else
      # javalib.jar is the default name for the build module (and isn't meaningful)
      # If that's what we have, substitute the module name instead.  These files
      # aren't included on the device, so this name is synthetic anyway.
      # Extra path "static" is added to try to avoid name conflict between the notice file of
      # this 'uninstallable' Java module and the notice file for another 'installable' Java module
      # whose stem is the same as this module's name.
      ifneq ($(filter javalib.jar,$(module_leaf)),)
        module_leaf := $(LOCAL_MODULE).jar
        module_leaf := static/$(LOCAL_MODULE).jar
      endif
      module_installed_filename := \
          $(patsubst $(PRODUCT_OUT)/%,%,$($(my_prefix)OUT_JAVA_LIBRARIES))/$(module_leaf)