Skip to content

Deprecated Порядок действий при инициализации зеркалирования артефакта

Margarita Volodina edited this page May 30, 2022 · 1 revision
  1. Склонировать репозиторий артефакта из одноименного репозитория на github: https://github.com/surfstudio/$MODULE_NAME$ в отдельную папку. ($MODULE_NAME$ - имя модуля из android-standard).

  2. В модуле, подлежащем зеркалированию, перевести всю документацию (модуля, тестов, примера) и README на английский язык. README не должен содержать локальные ссылки на другие модули AndroidStandard, так как эти ссылки будут невалидны в репо зеркала.

  3. В проекте android-standard перейти в ветку, из которой будет совершаться релиз, и обновить ее до последней версии (например, ветка dev/G-0.5.0)

  4. Создать одноименную ветку с таким же именем в репозитории артефакта из github.

  5. Скопировать из android-standard в папку репозитория артефакта:

    • Папку c самим артефактом (например, core-ui)

    • Папку buildSrc

    • Папку gradle

    • Папку common (только в том случае, если модуль содержит sample)

    • Файл .gitignore

    • Файл build.gradle

    • Файл gradle.properties

    • Файл settings.gradle

  6. Скопировать все файлы из шаблонного репозитория в папку репозитория артефакта:

    • gradlew

    • gradlew.bat

    • README.md

    • mirror.properties

  7. Исправить README.md в репозитории артефакта:

    1. Исправить заголовок и описание, соответствующие модулю. Описание не следует делать слишком объемным, хватит пары предложений на английском языке.

    2. Добавить небольшой пример работы модуля в раздел Getting started.

    3. Заменить текст $MODULE_NAME$ во всех местах на имя артефакта из android-standard.

    4. Заменить переменные build_version_link build_version_icon на переменные иконок из bintray модуля по аналогии с шаблонной версией. Если модуль не выложен в bintray - удалить из README вставку изображения с версией.

    5. Заменить переменные build_status_link, build_status_icon на переменные из Jenkins CI. Найти их можно в Jenkins: Projects -> Android_Standard -> Android_Standard_Component_Mirroring_Job -> вкладка слева "Embeddable Build Status". Если модуль не выложен в bintray - удалить из README вставку изображения со статусом билда.

    6. Заменить переменные wiki_link и issue_tracker на нужные, либо удалить места их использования, если их нет.

  8. Исправить mirror_properties в зеркалируемом репозитории: заменить $MODULE_NAME$ на имя артефакта из android-standard. Удалить surf.commonComponentName, если компонент common не был добавлен в репо зеркала.

  9. В репозитории android-standard, в ветке, из которой были скопированы файлы, вычислить commit-hash последнего коммита. Это можно сделать с помощью команды git rev-parse HEAD и взяв первые 8 символов из полученной строки.

  10. Сделать коммит в зеркалируемый репозиторий со всеми сделанными и с сообщением Initial commit(commit-hash), где commit-hash - хеш, вычисленный на предыдущем шаге. Запушить этот коммит в зеркалируемый репозиторий.

  11. В репозитории android-standard присвоить артефакту в файле /buildSrc/components.json, переменные hasMirror и mirrorRepo. Закоммитить и запушить эти изменения.

  12. Если все предыдущие шаги были сделаны верно - через некоторое время (20-60 минут) в репозитории артефакта появится коммит от Surf_Builder, означающий, что зеркалирование настроено.