14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/cocoapods-tj/native/pod_target_installer.rb', line 14
def (native_target)
if $ARGV[1] == "auto"
if custom_module_map
raise Informative, 'Using Swift static libraries with custom module maps is currently not supported. ' \
"Please build `#{target.label}` as a framework or remove the custom module map."
end
build_phase = native_target.new_shell_script_build_phase('Copy generated compatibility header')
relative_module_map_path = target.module_map_path.relative_path_from(target.sandbox.root)
= target..relative_path_from(target.sandbox.root)
build_phase.shell_script = " COMPATIBILITY_HEADER_PATH=\"${BUILT_PRODUCTS_DIR}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\n MODULE_MAP_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\"\n\n ditto \"${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\" \"${COMPATIBILITY_HEADER_PATH}\"\n ditto \"${PODS_ROOT}/\#{relative_module_map_path}\" \"${MODULE_MAP_PATH}\"\n ditto \"${PODS_ROOT}/\#{relative_umbrella_header_path}\" \"${BUILT_PRODUCTS_DIR}\"\n \n COPY_PATH=\"${PODS_CONFIGURATION_BUILD_DIR}/${PRODUCT_MODULE_NAME}\"\n UMBRELLA_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}-umbrella.h\"\n SWIFTMODULE_PATH=\"${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.swiftmodule\" \n\n ditto \"${MODULE_MAP_PATH}\" \"${PODS_CONFIGURATION_BUILD_DIR}/${PRODUCT_MODULE_NAME}/${PRODUCT_MODULE_NAME}.modulemap\"\n ditto \"${COMPATIBILITY_HEADER_PATH}\" \"${COPY_PATH}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\"\n ditto \"${COMPATIBILITY_HEADER_PATH}\" \"${COPY_PATH}\"\n ditto \"${UMBRELLA_PATH}\" \"${COPY_PATH}\"\n ditto \"${SWIFTMODULE_PATH}\" \"${COPY_PATH}/${PRODUCT_MODULE_NAME}.swiftmodule\"\n ditto \"${SWIFTMODULE_PATH}\" \"${COPY_PATH}/${PRODUCT_MODULE_NAME}.swiftmodule\"\n \n if [ ${PRODUCT_MODULE_NAME} != ${PRODUCT_NAME} ] ; then\n ditto \"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}-umbrella.h\" \"${COPY_PATH}\"\n ditto \"${COPY_PATH}\" \"${PODS_CONFIGURATION_BUILD_DIR}/${PRODUCT_NAME}\"\n fi\n \n MODULE_MAP_SEARCH_PATH = \"${PODS_CONFIGURATION_BUILD_DIR}/${PRODUCT_MODULE_NAME}/${PRODUCT_MODULE_NAME}.modulemap\"\n \n if [${MODULE_MAP_PATH} != ${MODULE_MAP_SEARCH_PATH}] ; then\n printf \"\\\\n\\\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\\\n header \\\\\"${COPY_PATH}/Swift Compatibility Header/${PRODUCT_MODULE_NAME}-Swift.h\\\\\"\\\\n requires objc\\\\n}\\\\n\" >> \"${MODULE_MAP_SEARCH_PATH}\"\n fi\n\n printf \"\\\\n\\\\nmodule ${PRODUCT_MODULE_NAME}.Swift {\\\\n header \\\\\"${COMPATIBILITY_HEADER_PATH}\\\\\"\\\\n requires objc\\\\n}\\\\n\" >> \"${MODULE_MAP_PATH}\"\n\n SH\n build_phase.input_paths = %W(\n ${DERIVED_SOURCES_DIR}/${PRODUCT_MODULE_NAME}-Swift.h\n ${PODS_ROOT}/\#{relative_module_map_path}\n ${PODS_ROOT}/\#{relative_umbrella_header_path}\n )\n build_phase.output_paths = %W(\n ${BUILT_PRODUCTS_DIR}/${PRODUCT_MODULE_NAME}.modulemap\n ${BUILT_PRODUCTS_DIR}/\#{relative_umbrella_header_path.basename}\n ${BUILT_PRODUCTS_DIR}/Swift\\ Compatibility\\ Header/${PRODUCT_MODULE_NAME}-Swift.h\n )\n else\n old_add_swift_library_compatibility_header_phase(native_target)\n end\n\nend\n".strip_heredoc
|