ReactiveDataDisplayManager icon indicating copy to clipboard operation
ReactiveDataDisplayManager copied to clipboard

[SPT-1572] intro in macro

Open NullIsOne opened this issue 2 years ago • 3 comments

Что сделано?

  • Написан макрос 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"
  • Пример не крашится и визуально такой же как в предыдущем ПР

NullIsOne avatar Jun 19 '23 05:06 NullIsOne

Warnings
:warning:

The .yml file has been modified. Keep changelog.md up to date.

: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

github-actions[bot] avatar Jun 19 '23 05:06 github-actions[bot]

Обновил MutableMacroTests Теперь все кейсы теста корректно отрабатывают

NullIsOne avatar Jun 20 '23 11:06 NullIsOne

Перевожу 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 }

Не до конца установили (Не поставили симулятор)

NullIsOne avatar Jun 20 '23 12:06 NullIsOne