serverpod-offline-sync/pubspec.yaml

137 lines
5 KiB
YAML
Raw Normal View History

name: serverpod_offline_sync_workspace
publish_to: none
environment:
sdk: '^3.12.2'
workspace:
- benchmark
- packages/serverpod_offline_sync
- packages/serverpod_offline_sync_client
- packages/serverpod_offline_sync_server
- test/serverpod_offline_sync_test_client
- test/serverpod_offline_sync_test_server
dev_dependencies:
melos: ^7.5.1
serverpod_cli: 4.0.0-rc.2
dependency_overrides:
serverpod_cli:
git:
url: https://github.com/serverpod/serverpod.git
path: tools/serverpod_cli
ref: 3e9ccff494c4fd2b190d013aa74bd93a619358e4
# dependency_overrides:
# serverpod:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: packages/serverpod
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_auth_core_client:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: modules/serverpod_auth/serverpod_auth_core/serverpod_auth_core_client
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_auth_core_server:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: modules/serverpod_auth/serverpod_auth_core/serverpod_auth_core_server
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_cli:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: tools/serverpod_cli
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_client:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: packages/serverpod_client
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_database:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: packages/serverpod_database
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_embedded_postgres:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: packages/serverpod_embedded_postgres
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_shared:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: packages/serverpod_shared
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_serialization:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: packages/serverpod_serialization
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_service_client:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: packages/serverpod_service_client
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
# serverpod_test:
# git:
# url: https://github.com/serverpod/serverpod.git
# path: packages/serverpod_test
# ref: 062691764e38c53b0db05f24a4d07780c11bf0ba
melos:
packages:
- benchmark
- packages/*
- tests/**
categories:
publish:
- packages/*
scripts:
cleanup: |
find . -type d \( -name generated -o -name protocol \) -print0 |
xargs -0 -I@ find @ -mindepth 1 -maxdepth 1 ! -name analysis_options.yaml -print0 |
xargs -0 rm -rf
setup:
run: dart pub get && melos generate && melos create-migration
lint:
exec: dart analyze . --fatal-infos --fatal-warnings
fix:
exec: dart fix --apply
generate:
# Must run the module first, or the test project won't have the tables.
run: |
melos exec --scope="serverpod_offline_sync_server" -- dart run serverpod_cli generate --force &&
melos exec --scope="serverpod_offline_sync_test_server" -- dart run serverpod_cli generate --force
create-migration:
# If the module does not run first, the test project will see no module tables.
run: >-
melos exec --scope="serverpod_offline_sync_server" -- dart run serverpod_cli create-migration --force &&
melos exec --scope="serverpod_offline_sync_test_server" -- dart run serverpod_cli create-migration --force
upgrade:
exec: dart pub upgrade
downgrade:
exec: dart pub downgrade
test:
run: >-
melos exec --scope="serverpod_offline_sync" -- dart test test/ --reporter=failures-only &&
melos exec --scope="serverpod_offline_sync_server" -- dart test test/ --reporter=failures-only --concurrency=1 &&
melos exec --scope="serverpod_offline_sync_test_server" -- dart test test/ --reporter=failures-only --concurrency=1
test-dst:
# The deterministic simulation suite, which `test` skips: it is slow and
# seeds from the clock, so it searches fresh schedules on every run and
# can fail for a defect unrelated to the change that triggered it.
#
# Widen the search with DST_SEEDS and DST_ROUNDS; a failure prints the
# command that replays it. Concurrency is pinned to one so the reported
# failures cannot interleave, which matters when reading a wide sweep.
run: >-
melos exec --scope="serverpod_offline_sync_test_server" --
dart test -P dst --reporter=failures-only --concurrency=1
reset:
exec: rm -f test.db*
publish-check:
run: melos exec --category="publish" -- dart pub publish --dry-run