ReactiveDataDisplayManager
ReactiveDataDisplayManager copied to clipboard
[SPT-1572] intro in macro
Что сделано?
- Написан макрос
Mutableдобавляющий структуре - Подключен макро-таргет в package ReactiveDataComponents
- Подключен макро-таргет в основной пример на Xcodegen
- ...
Зачем это сделано?
Для освоения макросов и скрытия однотипного кода в компонентах.
На что обратить внимание?
- ~В тестах expansion не срабатывает, хотя по месту использования макрос генерирует функции как и ожидается~
- Рабочие конфигурации
- SPM project + Components + Macro
- Xcodegen + Example + Macro (привычный workspace)
- Нерабочие конфигурации
- Cocoapods project
- Code coverage был отключен из-за проблем с macro таргетом
- Стоит попробовать понизить iOS хотя бы до 12 (минимально поддерживаемая версия в Xcode 15)
- Надо еще написать макрос генерирующий тело структуры
Property - ...
Как протестировать?
- Тапнуть в примере на строчку "Table with custom components"
- Пример не крашится и визуально такой же как в предыдущем ПР
| Warnings | |
|---|---|
| :warning: |
The .yml file has been modified. Keep |
| :warning: | Oops! We have found some issues. It's better to fix them to keep code clean |
SwiftLint found issues
| Severity | File | Reason |
|---|---|---|
| Warning | Decl+Extensions.swift:37 | Lines should not have trailing whitespace. (trailing_whitespace) |
| Warning | Decl+Extensions.swift:22 | Limit vertical whitespace to a single empty line. Currently 2. (vertical_whitespace) |
| Warning | BuildableMacro.swift:75 | Force unwrapping should be avoided. (force_unwrapping) |
| Error | BuildableMacro.swift:16 | Line should be 145 characters or less: currently 277 characters (line_length) |
| Error | BuildableMacro.swift:20 | Line should be 145 characters or less: currently 231 characters (line_length) |
| Warning | BuildableMacro.swift:51 | Lines should not have trailing whitespace. (trailing_whitespace) |
| Error | MutableMacro.swift:8 | Line should be 145 characters or less: currently 231 characters (line_length) |
| Warning | MutableMacro.swift:41 | Lines should not have trailing whitespace. (trailing_whitespace) |
| Warning | MessageView.swift:253 | Line should be 145 characters or less: currently 151 characters (line_length) |
| Warning | MessageView.swift:123 | Lines should not have trailing whitespace. (trailing_whitespace) |
Generated by :no_entry_sign: Danger Swift against 1a5c5ad97810baf18b594b84b6125782cf9e9c7d
Обновил MutableMacroTests Теперь все кейсы теста корректно отрабатывают
Перевожу CI на Xcode 15 раз уж в Gihub Actions добавили его, а тут
{ platform:iOS, id:dvtdevice-DVTiPhonePlaceholder-iphoneos:placeholder, name:Any iOS Device, error:iOS 17.0 is not installed. To use with Xcode, first download and install the platform }
Не до конца установили (Не поставили симулятор)