Skip to content

Commit 9117452

Browse files
committed
Improves swift files sync logic
1 parent b5a545a commit 9117452

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

kmp-composeuiviewcontroller-gradle-plugin/src/main/resources/exportToXcode.sh

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ install_gem() {
3232
install_result=$?
3333

3434
if [ $install_result -eq 0 ]; then
35-
local user_gem_bin="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin"
35+
local user_gem_bin
36+
user_gem_bin="$(ruby -r rubygems -e 'puts Gem.user_dir')/bin"
3637
if [ -d "$user_gem_bin" ] && [[ ":$PATH:" != *":$user_gem_bin:"* ]]; then
3738
export PATH="$user_gem_bin:$PATH"
3839
echo " >Added $user_gem_bin to PATH"
@@ -97,14 +98,18 @@ smart_sync_files() {
9798
local files_removed=0
9899
local has_changes=0
99100

100-
local source_files_list=$(mktemp)
101-
local source_files_map=$(mktemp)
102-
trap "rm -f $source_files_list $source_files_map" RETURN
101+
local source_files_list
102+
local source_files_map
103+
source_files_list=$(mktemp)
104+
source_files_map=$(mktemp)
105+
trap 'rm -f "$source_files_list" "$source_files_map"' RETURN
103106

104107
# First pass: find all Swift files and deduplicate by basename (keeping newest)
105108
while IFS= read -r -d '' source_file; do
106-
local filename=$(basename "$source_file")
107-
local existing_file=$(grep "^$filename|" "$source_files_map" 2>/dev/null | cut -d'|' -f2)
109+
local filename
110+
local existing_file
111+
filename=$(basename "$source_file")
112+
existing_file=$(grep "^$filename|" "$source_files_map" 2>/dev/null | cut -d'|' -f2)
108113

109114
if [ -z "$existing_file" ]; then
110115
# First occurrence of this filename
@@ -130,8 +135,10 @@ smart_sync_files() {
130135
should_copy=1
131136
echo " > New file: $filename"
132137
else
133-
local source_md5=$(md5 -q "$source_file" 2>/dev/null || md5sum "$source_file" | cut -d' ' -f1)
134-
local dest_md5=$(md5 -q "$dest_file" 2>/dev/null || md5sum "$dest_file" | cut -d' ' -f1)
138+
local source_md5
139+
local dest_md5
140+
source_md5=$(md5 -q "$source_file" 2>/dev/null || md5sum "$source_file" | cut -d' ' -f1)
141+
dest_md5=$(md5 -q "$dest_file" 2>/dev/null || md5sum "$dest_file" | cut -d' ' -f1)
135142

136143
if [ "$source_md5" != "$dest_md5" ]; then
137144
should_copy=1
@@ -150,7 +157,8 @@ smart_sync_files() {
150157

151158
if [ -d "$files_destination" ]; then
152159
while IFS= read -r -d '' dest_file; do
153-
local filename=$(basename "$dest_file")
160+
local filename
161+
filename=$(basename "$dest_file")
154162
if ! grep -Fxq "$filename" "$source_files_list"; then
155163
echo " > Removed: $filename"
156164
rm -f "$dest_file"

0 commit comments

Comments
 (0)