OSDN Git Service

Ensure prebuilt executables are executable
authorDan Willemsen <dwillemsen@google.com>
Wed, 2 Mar 2016 06:04:57 +0000 (22:04 -0800)
committerDan Willemsen <dwillemsen@google.com>
Mon, 11 Apr 2016 18:21:47 +0000 (11:21 -0700)
Use 'chmod +x' to make sure that they're executable, even if the source
file is not.

Bug: 28097475
Change-Id: Id155f6b4ff188f5c909fd6237fd64183af264f79
(cherry picked from commit 08420cbc8ac7dabe1ceb6334ee83727e18a80d96)

core/prebuilt_internal.mk
tools/apicheck/Android.mk

index 9d45645..ee68427 100644 (file)
@@ -341,12 +341,21 @@ else  # ! prebuilt_module_is_dex_javalib
 ifneq ($(LOCAL_PREBUILT_STRIP_COMMENTS),)
 $(built_module) : $(my_prebuilt_src_file)
        $(transform-prebuilt-to-target-strip-comments)
+ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES)
+       $(hide) chmod +x $@
+endif
 else ifneq ($(LOCAL_ACP_UNAVAILABLE),true)
 $(built_module) : $(my_prebuilt_src_file) | $(ACP)
        $(transform-prebuilt-to-target)
+ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES)
+       $(hide) chmod +x $@
+endif
 else
 $(built_module) : $(my_prebuilt_src_file)
        $(copy-file-to-target-with-cp)
+ifeq ($(LOCAL_MODULE_CLASS),EXECUTABLES)
+       $(hide) chmod +x $@
+endif
 endif
 endif # ! prebuilt_module_is_dex_javalib
 endif # LOCAL_MODULE_CLASS != APPS
index 1674a17..b547058 100644 (file)
 ifneq ($(TARGET_BUILD_PDK),true)
 LOCAL_PATH := $(call my-dir)
 
-# We use copy-file-to-new-target so that the installed
-# script file's timestamp is at least as new as the
-# .jar file it wraps.
-
-#TODO(dbort): add a template to do this stuff; share with jx
-
 # the hat script
 # ============================================================
 include $(CLEAR_VARS)
 LOCAL_IS_HOST_MODULE := true
 LOCAL_MODULE_CLASS := EXECUTABLES
 LOCAL_MODULE := apicheck
-
-include $(BUILD_SYSTEM)/base_rules.mk
-
-$(LOCAL_BUILT_MODULE): $(HOST_OUT_JAVA_LIBRARIES)/doclava$(COMMON_JAVA_PACKAGE_SUFFIX)
-$(LOCAL_BUILT_MODULE): $(LOCAL_PATH)/etc/apicheck | $(ACP)
-       @echo "Copy: $(PRIVATE_MODULE) ($@)"
-       $(copy-file-to-new-target)
-       $(hide) chmod 755 $@
+LOCAL_SRC_FILES := etc/apicheck
+LOCAL_REQUIRED_MODULES := doclava
+include $(BUILD_PREBUILT)
 
 # Apicheck is now part of Doclava -- See external/doclava.
 endif