1
- .PHONY : help install format update fastlane
1
+ .PHONY : help install format update update_bundle update_swiftformat fastlane
2
2
3
3
# Цвета ANSI
4
4
YELLOW =\033[1;33m
@@ -12,16 +12,19 @@ help:
12
12
@echo " "
13
13
@echo " Доступные команды Makefile:"
14
14
@echo " "
15
- @echo " make help - Показать это справочное сообщение."
16
- @echo " make install - Проверить и установить все необходимые инструменты и зависимости для проекта:"
17
- @echo " Homebrew, rbenv, Ruby, Bundler, Ruby-гемы (включая fastlane), SwiftFormat."
18
- @echo " make format - Запустить автоматическое форматирование Swift-кода с помощью SwiftFormat."
19
- @echo " make update - Обновить Ruby-зависимости (например, fastlane) до последних версий и обновить Gemfile.lock."
20
- @echo " make fastlane - Запустить fastlane snapshot для генерации скриншотов приложения (использует bundle exec fastlane snapshot)."
15
+ @echo " make help - Показать это справочное сообщение."
16
+ @echo " make install - Проверить и установить все необходимые инструменты и зависимости для проекта:"
17
+ @echo " Homebrew, rbenv, Ruby, Bundler, Ruby-гемы, fastlane snapshot, SwiftFormat."
18
+ @echo " make format - Запустить автоматическое форматирование Swift-кода с помощью SwiftFormat."
19
+ @echo " make update - Обновить Ruby-зависимости fastlane и SwiftFormat (вызывает update_bundle и update_swiftformat)."
20
+ @echo " make update_bundle - Обновить только Ruby-гемы fastlane и его зависимости."
21
+ @echo " make update_swiftformat - Обновить только SwiftFormat через Homebrew."
22
+ @echo " make fastlane - Запустить fastlane snapshot для генерации скриншотов приложения."
21
23
@echo " "
22
- @echo " Рекомендуется сначала выполнить 'make install' для установки всех зависимостей ."
24
+ @echo " Рекомендуется сначала выполнить 'make install' для подготовки окружения ."
23
25
@echo " "
24
26
27
+
25
28
install :
26
29
@printf " $( YELLOW) Проверка наличия Homebrew...$( RESET) \n"
27
30
@if ! command -v brew > /dev/null 2>&1 ; then \
@@ -141,6 +144,14 @@ install:
141
144
else \
142
145
printf "$(GREEN)SwiftFormat уже установлен.$(RESET)\n"; \
143
146
fi
147
+
148
+ @printf "$(YELLOW)Проверка установки fastlane snapshot...$(RESET)\n"
149
+ @if [ ! -f fastlane/Snapfile ]; then \
150
+ printf "$(YELLOW)Snapfile не найден, выполняется инициализация fastlane snapshot...$(RESET)\n"; \
151
+ bundle exec fastlane snapshot init; \
152
+ else \
153
+ printf "$(GREEN)fastlane snapshot уже готов к использованию.$(RESET)\n"; \
154
+ fi
144
155
145
156
format :
146
157
@if ! command -v brew > /dev/null 2>&1 || ! command -v swiftformat > /dev/null 2>&1 ; then \
@@ -165,7 +176,26 @@ fastlane:
165
176
@printf " $( YELLOW) Запуск fastlane snapshot...$( RESET) \n"
166
177
@bundle exec fastlane snapshot
167
178
168
- update :
169
- @printf " $( YELLOW) Обновление fastlane и других Ruby-зависимостей...$( RESET) \n"
170
- @bundle update
171
- @printf " $( GREEN) Гемы обновлены. Не забудьте закоммитить новый Gemfile.lock!$( RESET) \n"
179
+ update : update_bundle update_swiftformat
180
+
181
+ update_bundle :
182
+ @printf " $( YELLOW) Проверка наличия обновлений fastlane и его зависимостей...$( RESET) \n"
183
+ @if bundle outdated fastlane --parseable | grep . ; then \
184
+ printf " $( YELLOW) Есть обновления для fastlane или его зависимостей, выполняется обновление...$( RESET) \n" ; \
185
+ bundle update fastlane; \
186
+ printf " $( GREEN) fastlane и его зависимости обновлены. Не забудьте закоммитить новый Gemfile.lock!$( RESET) \n" ; \
187
+ else \
188
+ printf " $( GREEN) fastlane и его зависимости уже самые свежие.$( RESET) \n" ; \
189
+ fi
190
+
191
+ update_swiftformat :
192
+ @printf " $( YELLOW) Проверка наличия обновлений SwiftFormat...$( RESET) \n"
193
+ @INSTALLED_VER=$$(brew list --versions swiftformat | awk '{print $$2}' ) ; \
194
+ LATEST_VER=$$(brew info swiftformat --json=v1 | grep -m 1 '"versions"' -A 4 | grep '"stable"' | awk -F'"' '{print $$4}' ) ; \
195
+ if [ " $$ INSTALLED_VER" != " $$ LATEST_VER" ]; then \
196
+ printf " $( YELLOW) Доступна новая версия SwiftFormat ($$ INSTALLED_VER -> $$ LATEST_VER), обновление...$( RESET) \n" ; \
197
+ brew upgrade swiftformat; \
198
+ printf " $( GREEN) SwiftFormat обновлён до версии $$ LATEST_VER.$( RESET) \n" ; \
199
+ else \
200
+ printf " $( GREEN) SwiftFormat уже самой свежей версии ($$ INSTALLED_VER).$( RESET) \n" ; \
201
+ fi
0 commit comments