Как собрать документацию DocC из CLI

Итак, я уже некоторое время просматриваю Интернет и, похоже, не могу найти ответа о том, как создать собственную документацию DocC Xcode с помощью команды CLI .

Оба xcodebuild commands и Fastlane не предоставляют команды для сборки документации - насколько мне известно.

Документы должны быть созданы внутри рабочего процесса CI / CD Github Actions. Если есть другие методы для достижения этой цели, приветствуется любая помощь.

3 ответа

Apple добавила новую команду в xcodebuild инструменты:

      xcodebuild docbuild

Вы также можете взглянуть на презентацию WWDC «Разместите и автоматизируйте свою документацию DocC». Начните просмотр с 7:06 мин и далее для автоматизации DocC: https://developer.apple.com/videos/play/wwdc2021/10236/

Размещайте и автоматизируйте документацию DocC ☁️

Тл;др

я подправил xcodebuild docbuildдля модульных проектов, как показано ниже:

      xcodebuild -project ModularSlothCreator.xcodeproj -derivedDataPath docsData -scheme ModularSlothCreator -destination 'platform=iOS Simulator,name=iPhone 13 Pro Max' -parallelizeTargets docbuild

я тоже доработал doccсоздание сайта с помощью transform-for-static-hostingфлаг:

      $(xcrun --find docc) process-archive transform-for-static-hosting "$ARCHIVE" --hosting-base-path ModularSlothCreator/$ARCHIVE_NAME --output-path docs/$ARCHIVE_NAME

БОНУС: автоматизируйте DocC с помощью GitHub Pages и CI

Я обновил исходную демонстрацию, представленную на WWDC, добавив поддержку статического хостинга модульных целевых приложений (вместо поддержки только одного пакета Swift, анонсированного на WWDC) с использованием GitHub Pages без необходимости определять конфигурацию сервера для удобства в своем .блоге

Чтобы дополнить первоначальный ответ, я хотел бы упомянуть это полное резюме всех видеороликов WWDC21, касающихся DocC, которые содержат ценную информацию об автоматизации.

Действительно, в Xcode 13 есть новая функция для создания документации через командную строку, которая включает действие docbuild со многими возможными параметрами, как описано ниже. Даже если @Colin уже предоставил решение, я счел важным добавить некоторую информацию, которая может иметь решающее значение для некоторых.

Другие вопросы по тегам