Hippy использует принцип управления версиями, согласно которому все модули используют одну и ту же версию.
Во фронтенде используется lerna для управления версиями и генерации CHANGELOG, но его функциональность публикации не может быть использована, поскольку необходимо обновить пакет терминала.
Использование обновления версии и CHANGELOG:
npx lerna version [VERSION] --force-publish --conventional-commits --tag-version-prefix='' --no-push
[версия]
— номер версии для выпуска, например 2.1.0.--conventional-commits
— генерирует CHANGELOG на основе спецификации обычных коммитов.--tag-version-prefix
— изменяется на нулевой символ, чтобы сгенерированный тег номера версии не предварялся префиксом по умолчанию v
.--no-push
— не отправляет теги на удалённый сервер.После того как Lerna сгенерирует номер версии и CHANGELOG, необходимо откатить версию, а все опубликованные изменения объединить в коммит.
git reset --soft HEAD^
Удалить тег одновременно, через некоторое время обновить необходимость перегенерировать тег
git tag -d [VERSION]
Собственный номер версии в основном находится в следующих файлах, которые необходимо обновить до номера версии, который будет выпущен.
iOS
Android
Изменить конфигурацию abi для Android, поддерживая armeabi-v7a и arm64-v8a
INCLUDE_ABI_ARMEABI_V7A=true
INCLUDE_ABI_ARM64_V8A=true
Новый фронтенд SDK затем компилируется с помощью
npm run build
Если какой-то код был обновлён под core/js
, вам нужно скомпилировать основной код с помощью
npm run buildcore
Затем обновите зависимости в целевой папке examples
и обновите встроенные пакеты native. Как правило, встроенный hippy-react-demo является стандартным, но обязательно убедитесь, что hippy-vue-demo работает правильно.
npm run buildexample hippy-react-demo
Ещё раз проверьте, что все файлы были изменены правильно
git status
Отправьте изменение документа
git add [FILES]
Введите сообщение о фиксации, соответствующее спецификациям Convention Commit
git commit -m 'chore(release): released [VERSION]'
Тег (если это основная версия, то тег ставится в основной ветке, если это исправление, то в ветке исправления, затем CHANGELOG объединяется обратно в основную ветку)
git tag -a [VERSION] -m "version release xxx"
Зафиксируйте код и подготовьтесь к публикации PR слияния в главную ветку.
git push origin branch # отправить код
git push origin tag # отправить тег
Фронтенд публикуется на npmjs.com
npx lerna exec "npm publish"
Если включена вторичная аутентификация npm, вам будет предложено ввести одноразовый пароль.
iOS публикуется на CocoaPods.org
pod trunk register [EMAIL] [NAME]
pod trunk push hippy.podspec
Если при публикации проверка параметров завершается неудачно, вы можете добавить параметр
COCOAPODS_VALIDATOR_SKIP_XCODEBUILD=1
перед командойpod
.
Android выпущен в Maven Central, исходный репозиторий jCenter больше не поддерживается запрос версии.
Следуйте инструкциям по публикации Maven Central и зарегистрируйтесь на sonatype.
Увеличьте конфигурацию системной переменной среды
SIGNING_KEY_ID=gpg公钥key后8位
SIGNING_PASSWORD=gpg密钥对密码
SIGNING_SECRET_KEY_RING_FILE=gpg文件存放路径, 如/Users/user/.gnupg/secring.gpg
OSSRH_USERNAME=sonatype账号
OSSRH_PASSWORD=sonatype密码
Запустите сборку Clean Project
Android
В файле gradle.properties включается комментарий #PUBLISH_ARTIFACT_ID=hippy-debug, и Gradle Task выполняет команду assembleDebug перед командой publish.
В файле Android gradle.properties включается комментарий #PUBLISH_ARTIFACT_ID=hippy-common, и Gradle Task выполняет команду assembleRelease перед командой publish.
После успешного выпуска SDK будет находиться в состоянии staging на Sonatype. В левой части Staging Repositories репозиториев Sonatype Staging можно найти только что выпущенный репозиторий. Если вы хотите протестировать перед выпуском, то можете скачать aar из раздела Content, заменив examples => android-demo => example => libs под aar (имя — android-sdk-release.aar).
// аннотация локальной ссылки в setting.gradle
// include 'android-sdk'
// project(':android-sdk').projectDir = new File('../../ android/sdk')
--------------
// `android-demo` => `example` => `build.gradle` зависимости можно изменить следующим образом, чтобы использовать локальный файл aar:
if (1) {
api (name: 'android-sdk-release', ext: 'aar')
} else {
api project(path: ':android-sdk')
}
После успешной проверки закройте репозиторий Staging Repositories и нажмите Release.
После успеха релиза можно искать в репозитории соответствующую версию aar. Страница Maven home должна синхронизироваться более двух часов.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )