Сборочные, релизные и генерационные скрипты (Ruby + Bash, немного Python/JS). Запускаются
из корня репозитория. Общие хелперы — common.rb.
build_xcframeworks.rb— сборка XCFrameworks (всё или-m Mod1,Mod2). Артефакты в/build.build_all_static_dependencies.sh— собрать статические зависимости (нужно перед сборкой отдельного проекта без workspace).build_inputmask.rb,build_integrationcore_xcframeworks.rb,build_themes.rb— сборка отдельных частей.release/build_release.sh <tag>— все ассеты релиза вrelease-artifacts/: SDDSThemeCore, InputMask, SDDSComponents, темы,dsbuilder-ios-cli-<tag>.zip,SDDSSources-<tag>.zip. SDDSIcons собирается только как зависимость тем: иконки публикуетrelease_icons.ymlпо тегуSDDSIcons-v*. Тот же скрипт запускает.github/workflows/publish-release.yml;--skip-cli— без dsbuilder.
run_tests.rb—swift testдля пакетаDesignSystemBuilderплюс Xcode-схемы из массиваmodulesвнутри скрипта (xcodebuild ... test).
generate_themes/generate_themes.rb— для каждой темы из JSON-конфига запускает CLIdsbuilder, затемcreate_project.rb. Требует Ruby-гемxcodeproj, собранныйSDDSThemeCore.xcframeworkи бинарникdsbuilder.create_project/create_project.rb— создаёт per-theme Xcode-проект и подключаетSDDSThemeCore.xcframework.generate_docs_bundle.sh— собирает дерево документационного бандла:dsbuilder docs extract+dsbuilder docs aggregate(см. ../docs/DOCS_BUNDLE.md).fetch_sdds.sh— наполняетDesignSystemBuilder/.sdds/данными DS через внешний Kotlin/Nativedsbuilder(не путать с нашим бинарником того же имени). Идентификаторы/ключ — из окружения (DSBUILDER_API_KEY,DSBUILDER_PROJECT_ID,DSBUILDER_DESIGN_SYSTEM_ID); токены/палитра в.gitignore.
bump-versions.sh,bump_version.rb,update_versions_archived.rb— версии модулей.changed-modules.sh— какие модули изменились.parse-changelog*.{js,rb,sh}— обработка changelog.release_sync/,build-release-announcement.sh— релизные шаги.- Публикация релиза — один прогон
publish-release.yml(workflow_dispatch наmain):release/build_release.sh→ тег → draft-релиз → upload ассетов → снятие draft. Входdry_runсобирает ассеты без тега и релиза — так воркфлоу проверяют с любой ветки. package_sources.sh <version>— архив исходниковSDDSSources-<version>.zipдля релиза (build/). Его забираетdsbuilderв режиме--standalone --sources-version <tag>, поэтому внутри сохранено дерево путей репозитория. Список путей держи синхронным сApp.sourcesRootURLв ../DesignSystemBuilder/CLAUDE.md.
- Скрипты рассчитаны на запуск из корня репозитория (пути относительные).
- Ruby-зависимости — через Bundler (
Gemfile: fastlane, rubyzip) + отдельноgem install xcodeproj jsonдля генерации проектов. .sdds/-данные эфемерны и в git не коммитятся (кромеconfig.json).- Коммит-скоуп изменений в сборке:
sdds-ios/build-system.