cocoapods-kz 0.0.11 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/cocoapods-kz/gem_version.rb +1 -1
- data/lib/cocoapods-kz/helpers/kz_analyzer.rb +23 -0
- data/lib/cocoapods-kz/helpers/kz_framework_manager.rb +29 -4
- data/lib/cocoapods-kz/helpers/kz_generator.rb +364 -38
- data/lib/cocoapods-kz/helpers/kz_global_helper.rb +32 -6
- data/lib/cocoapods-kz/helpers/kz_pod_target.rb +24 -2
- data/lib/cocoapods-kz/native/dls.rb +10 -0
- data/lib/cocoapods-kz/native/dsl_spec.rb +7 -0
- data/lib/cocoapods-kz/native/file_accessor.rb +25 -5
- data/lib/cocoapods-kz/native/installer.rb +4 -0
- data/lib/cocoapods-kz/native/pod_target_installer.rb +23 -0
- data/lib/cocoapods-kz/native/target_installer_helper.rb +52 -0
- data/lib/cocoapods-kz/native/target_integrator.rb +34 -0
- data/lib/cocoapods-kz/native.rb +1 -0
- data/lib/cocoapods-kz/resources/FlexCompiler_V1 +0 -0
- data/lib/cocoapods-kz/resources/arm64ToSimulator +0 -0
- data/lib/cocoapods-kz/resources/kz_generator_framework.sh +6 -2
- data/lib/cocoapods-kz/resources/kz_improve_custom_yaml.sh +25 -0
- data/lib/cocoapods-kz/resources/kz_refresh_pods_pbxproj.rb +9 -7
- data/lib/cocoapods-kz/resources/on_demand_resources/kz_complete_asset_pack_output_spec_plist.rb +26 -0
- data/lib/cocoapods-kz/resources/on_demand_resources/kz_create_asset_pack_manifest_plist.rb +44 -0
- data/lib/cocoapods-kz/resources/on_demand_resources/kz_create_on_demand_resources_plis.rb +26 -0
- data/lib/cocoapods-kz/resources/on_demand_resources/kz_on_demand_resources_xocde.sh +162 -0
- metadata +11 -3
@@ -0,0 +1,162 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
set -e
|
4
|
+
set -u
|
5
|
+
set -o pipefail
|
6
|
+
|
7
|
+
function on_error {
|
8
|
+
echo "$(realpath -mq "${0}"):$1: error: Unexpected failure"
|
9
|
+
}
|
10
|
+
trap 'on_error $LINENO' ERR
|
11
|
+
|
12
|
+
if [ -z ${UNLOCALIZED_RESOURCES_FOLDER_PATH+x} ]; then
|
13
|
+
exit 0
|
14
|
+
fi
|
15
|
+
|
16
|
+
TARGET_DIR=${TARGET_BUILD_DIR}
|
17
|
+
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]] ; then
|
18
|
+
TARGET_DIR=${INSTALL_DIR}
|
19
|
+
fi
|
20
|
+
|
21
|
+
KZ_ON_DEMAND_RESOURCES_PATH="${KZ_POD_CONFIG_ROOT}/OnDemandResources/Bundles"
|
22
|
+
if [ ! -d $KZ_ON_DEMAND_RESOURCES_PATH ]; then
|
23
|
+
exit 0
|
24
|
+
fi
|
25
|
+
|
26
|
+
case "${TARGETED_DEVICE_FAMILY:-}" in
|
27
|
+
1,2)
|
28
|
+
TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone"
|
29
|
+
;;
|
30
|
+
1)
|
31
|
+
TARGET_DEVICE_ARGS="--target-device iphone"
|
32
|
+
;;
|
33
|
+
2)
|
34
|
+
TARGET_DEVICE_ARGS="--target-device ipad"
|
35
|
+
;;
|
36
|
+
3)
|
37
|
+
TARGET_DEVICE_ARGS="--target-device tv"
|
38
|
+
;;
|
39
|
+
4)
|
40
|
+
TARGET_DEVICE_ARGS="--target-device watch"
|
41
|
+
;;
|
42
|
+
*)
|
43
|
+
TARGET_DEVICE_ARGS="--target-device mac"
|
44
|
+
;;
|
45
|
+
esac
|
46
|
+
|
47
|
+
RUBY_PATH=""
|
48
|
+
function find_ruby_path {
|
49
|
+
if [[ "$1" = /* ]] ; then
|
50
|
+
RESOURCE_PATH="$1"
|
51
|
+
else
|
52
|
+
RESOURCE_PATH="${HOME}/$1"
|
53
|
+
fi
|
54
|
+
|
55
|
+
ON_DEMAND_RESOURCES_SHELL_ENV="${TARGET_TEMP_DIR}/kz_on_demand_resources_env_$1"
|
56
|
+
if [ -f $ON_DEMAND_RESOURCES_SHELL_ENV ] ; then
|
57
|
+
rm $ON_DEMAND_RESOURCES_SHELL_ENV
|
58
|
+
fi
|
59
|
+
touch $ON_DEMAND_RESOURCES_SHELL_ENV
|
60
|
+
|
61
|
+
if [ -f $RESOURCE_PATH ] ; then
|
62
|
+
while read line; do
|
63
|
+
if [[ "$line" = export* ]] ; then
|
64
|
+
echo $line >> $ON_DEMAND_RESOURCES_SHELL_ENV
|
65
|
+
fi
|
66
|
+
done < $RESOURCE_PATH
|
67
|
+
|
68
|
+
source $ON_DEMAND_RESOURCES_SHELL_ENV >/dev/null 2>&1
|
69
|
+
if (gem list | grep cocoapods >/dev/null) ; then
|
70
|
+
RUBY_PATH=$(which ruby)
|
71
|
+
fi
|
72
|
+
fi
|
73
|
+
}
|
74
|
+
|
75
|
+
if (gem list | grep cocoapods >/dev/null) ; then
|
76
|
+
RUBY_PATH=$(which ruby)
|
77
|
+
fi
|
78
|
+
|
79
|
+
if [ -z $RUBY_PATH ];then
|
80
|
+
find_ruby_path ".bash_profile"
|
81
|
+
fi
|
82
|
+
|
83
|
+
if [ -z $RUBY_PATH ];then
|
84
|
+
find_ruby_path ".zshrc"
|
85
|
+
fi
|
86
|
+
|
87
|
+
if [ -z $RUBY_PATH ];then
|
88
|
+
exit 1
|
89
|
+
fi
|
90
|
+
|
91
|
+
BUILDE_ON_DEMAND_RESOURCES_PATH="${TARGET_BUILD_DIR}/OnDemandResources"
|
92
|
+
if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]] ; then
|
93
|
+
BUILDE_ON_DEMAND_RESOURCES_PATH="${INSTALL_ROOT}/OnDemandResources"
|
94
|
+
fi
|
95
|
+
mkdir -p $BUILDE_ON_DEMAND_RESOURCES_PATH
|
96
|
+
|
97
|
+
# 拷贝所有配置,供代码中读取
|
98
|
+
KZ_ON_DEMAND_RESOURCES_ALL_CONFIG_PATH="${KZ_POD_CONFIG_ROOT}/OnDemandResources/KZOnDemandResourcesAllConfig.plist"
|
99
|
+
if [ -e $KZ_ON_DEMAND_RESOURCES_ALL_CONFIG_PATH ]; then
|
100
|
+
cp "${KZ_ON_DEMAND_RESOURCES_ALL_CONFIG_PATH}" "${TARGET_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/"
|
101
|
+
fi
|
102
|
+
|
103
|
+
ls $KZ_ON_DEMAND_RESOURCES_PATH | while read line
|
104
|
+
do
|
105
|
+
KZ_ON_DEMAND_RESOURCES_BUNDLE_INFO_PATH="${KZ_ON_DEMAND_RESOURCES_PATH}/${line}/TargetBundleInfo.plist"
|
106
|
+
if [ ! -f $KZ_ON_DEMAND_RESOURCES_BUNDLE_INFO_PATH ] ; then
|
107
|
+
continue
|
108
|
+
fi
|
109
|
+
|
110
|
+
TARGET_BUILD_DIR_BUNDLE="${TARGET_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${line}.bundle"
|
111
|
+
|
112
|
+
if [ ! -d $TARGET_BUILD_DIR_BUNDLE ] ; then
|
113
|
+
mkdir -p $TARGET_BUILD_DIR_BUNDLE
|
114
|
+
fi
|
115
|
+
|
116
|
+
KZ_BUILDE_ON_DEMAND_RESOURCES_PATH="${TARGET_TEMP_DIR}/${line}/KZOnDemandResources"
|
117
|
+
mkdir -p $KZ_BUILDE_ON_DEMAND_RESOURCES_PATH
|
118
|
+
|
119
|
+
# copy on demand resources
|
120
|
+
BUNDLE_ON_DEMAND_RESOURCES="${KZ_ON_DEMAND_RESOURCES_PATH}/${line}/OnDemandResources"
|
121
|
+
if [ -d $BUNDLE_ON_DEMAND_RESOURCES ] ; then
|
122
|
+
cp -r $BUNDLE_ON_DEMAND_RESOURCES/ $BUILDE_ON_DEMAND_RESOURCES_PATH/
|
123
|
+
fi
|
124
|
+
# copy on demand resources plist
|
125
|
+
BUNDLE_ON_DEMAND_RESOURCES_PLIST="${KZ_ON_DEMAND_RESOURCES_PATH}/${line}/OnDemandResources.plist"
|
126
|
+
if [ -f $BUNDLE_ON_DEMAND_RESOURCES_PLIST ] ; then
|
127
|
+
cp $BUNDLE_ON_DEMAND_RESOURCES_PLIST $TARGET_BUILD_DIR_BUNDLE
|
128
|
+
fi
|
129
|
+
# complete asset pack output specifications plist
|
130
|
+
ASSET_PACK_OUTPUT_SPECIFICATIONS="${KZ_ON_DEMAND_RESOURCES_PATH}/${line}/AssetPackOutputSpecifications.plist"
|
131
|
+
if [ ! -f $ASSET_PACK_OUTPUT_SPECIFICATIONS ] ; then
|
132
|
+
continue
|
133
|
+
fi
|
134
|
+
cp -f $ASSET_PACK_OUTPUT_SPECIFICATIONS $KZ_BUILDE_ON_DEMAND_RESOURCES_PATH
|
135
|
+
ASSET_PACK_OUTPUT_SPECIFICATIONS="${KZ_BUILDE_ON_DEMAND_RESOURCES_PATH}/AssetPackOutputSpecifications.plist"
|
136
|
+
$RUBY_PATH "${KZ_POD_CONFIG_ROOT}/SupportFiles/on_demand_resources/kz_complete_asset_pack_output_spec_plist.rb" "${BUILDE_ON_DEMAND_RESOURCES_PATH}" "${ASSET_PACK_OUTPUT_SPECIFICATIONS}"
|
137
|
+
ORIGIN_ASSETS_CAR=$TARGET_BUILD_DIR_BUNDLE/"Assets.car"
|
138
|
+
if [ -f $ORIGIN_ASSETS_CAR ] ; then
|
139
|
+
rm $ORIGIN_ASSETS_CAR
|
140
|
+
fi
|
141
|
+
XCASSET_FILES=()
|
142
|
+
XCASSETS_PATHS=$(/usr/libexec/PlistBuddy -c "Print xcassets_paths" $KZ_ON_DEMAND_RESOURCES_BUNDLE_INFO_PATH)
|
143
|
+
while read xcassets; do
|
144
|
+
if [[ $xcassets != "Array {" ]] && [[ $xcassets != "}" ]] ; then
|
145
|
+
if [ ! -d $xcassets ] ; then
|
146
|
+
continue
|
147
|
+
else
|
148
|
+
XCASSET_FILES+=("$xcassets")
|
149
|
+
fi
|
150
|
+
fi
|
151
|
+
done <<<"$XCASSETS_PATHS"
|
152
|
+
if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "${XCASSET_FILES:-}" ] ; then
|
153
|
+
printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --platform "${PLATFORM_NAME}" --compress-pngs --enable-on-demand-resources YES --asset-pack-output-specifications "${ASSET_PACK_OUTPUT_SPECIFICATIONS}" --compile "${TARGET_BUILD_DIR_BUNDLE}"
|
154
|
+
fi
|
155
|
+
done
|
156
|
+
|
157
|
+
ASSET_PACK_MANIFEST_TEMPLATE_PATH="${TARGET_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/AssetPackManifestTemplate.plist"
|
158
|
+
ON_DEMAND_RESOUCES_PATH="${TARGET_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/OnDemandResources.plist"
|
159
|
+
# create asset pack manifest template
|
160
|
+
$RUBY_PATH "${KZ_POD_CONFIG_ROOT}/SupportFiles/on_demand_resources/kz_create_asset_pack_manifest_plist.rb" "${BUILDE_ON_DEMAND_RESOURCES_PATH}" "${ASSET_PACK_MANIFEST_TEMPLATE_PATH}"
|
161
|
+
# create on demand resources to .app
|
162
|
+
$RUBY_PATH "${KZ_POD_CONFIG_ROOT}/SupportFiles/on_demand_resources/kz_create_on_demand_resources_plis.rb" "${KZ_ON_DEMAND_RESOURCES_PATH}" "${ON_DEMAND_RESOUCES_PATH}"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-kz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- yixiong
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-02-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,7 @@ files:
|
|
66
66
|
- lib/cocoapods-kz/native.rb
|
67
67
|
- lib/cocoapods-kz/native/acknowledgements.rb
|
68
68
|
- lib/cocoapods-kz/native/dls.rb
|
69
|
+
- lib/cocoapods-kz/native/dsl_spec.rb
|
69
70
|
- lib/cocoapods-kz/native/file_accessor.rb
|
70
71
|
- lib/cocoapods-kz/native/installer.rb
|
71
72
|
- lib/cocoapods-kz/native/pod_target.rb
|
@@ -75,13 +76,20 @@ files:
|
|
75
76
|
- lib/cocoapods-kz/native/specification.rb
|
76
77
|
- lib/cocoapods-kz/native/target.rb
|
77
78
|
- lib/cocoapods-kz/native/target_installer_helper.rb
|
79
|
+
- lib/cocoapods-kz/native/target_integrator.rb
|
78
80
|
- lib/cocoapods-kz/resources/FlexCompiler
|
81
|
+
- lib/cocoapods-kz/resources/FlexCompiler_V1
|
79
82
|
- lib/cocoapods-kz/resources/arm64ToSimulator
|
80
83
|
- lib/cocoapods-kz/resources/hmap
|
81
84
|
- lib/cocoapods-kz/resources/kz_fix_force_load_exe.sh
|
82
85
|
- lib/cocoapods-kz/resources/kz_generator_framework.sh
|
86
|
+
- lib/cocoapods-kz/resources/kz_improve_custom_yaml.sh
|
83
87
|
- lib/cocoapods-kz/resources/kz_refresh_pods_pbxproj.rb
|
84
88
|
- lib/cocoapods-kz/resources/kz_xml_build.sh
|
89
|
+
- lib/cocoapods-kz/resources/on_demand_resources/kz_complete_asset_pack_output_spec_plist.rb
|
90
|
+
- lib/cocoapods-kz/resources/on_demand_resources/kz_create_asset_pack_manifest_plist.rb
|
91
|
+
- lib/cocoapods-kz/resources/on_demand_resources/kz_create_on_demand_resources_plis.rb
|
92
|
+
- lib/cocoapods-kz/resources/on_demand_resources/kz_on_demand_resources_xocde.sh
|
85
93
|
- lib/cocoapods_plugin.rb
|
86
94
|
homepage: https://github.com/EXAMPLE/cocoapods-kz
|
87
95
|
licenses:
|
@@ -102,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
110
|
- !ruby/object:Gem::Version
|
103
111
|
version: '0'
|
104
112
|
requirements: []
|
105
|
-
rubygems_version: 3.
|
113
|
+
rubygems_version: 3.5.11
|
106
114
|
signing_key:
|
107
115
|
specification_version: 4
|
108
116
|
summary: Kanzhun's cocoapods manage tools.
|