name: customer_im_client publish_to: none environment: sdk: ^3.11.0 workspace: - packages/cipher_guard_sdk - packages/l10n_sdk - packages/media_sdk - packages/networks_sdk - packages/notification_sdk - packages/protocol_sdk - packages/rtc_sdk - packages/storage_sdk - packages/im_log_sdk dependency_overrides: # encrypt 5.0.3 限制 pointycastle ^3.6.2,但 dart_jsonwebtoken 需要 ^4.0.0。 # pointycastle 4.0.0 无破坏性 API 变更(主要是新增算法和泛型改进), # encrypt 在 4.0.0 下运行无问题,强制升级解决冲突。 pointycastle: ^4.0.0 dev_dependencies: melos: ^7.0.0 melos: name: customer_im_client packages: - apps/* - packages/* scripts: analyze: description: "Run flutter analyze in all packages" run: melos exec --concurrency=1 -- flutter analyze . test: description: "Run flutter test in all packages" run: melos exec -- flutter test build: description: "Run flutter pub get in all packages" run: melos exec -- flutter pub get clean: description: "Run flutter clean in all packages" run: melos exec -- flutter clean clean:deep: description: "Full clean: flutter clean + remove generated files + Android Gradle + pub get" run: bash scripts/clean.sh gen: description: "Run build_runner build in all packages that use it" run: bash scripts/table_gen.sh && melos exec --depends-on="build_runner" -- dart run build_runner build --delete-conflicting-outputs gen:watch: description: "Watch mode code generation in all packages that use build_runner" run: melos exec --depends-on="build_runner" -- dart run build_runner watch --delete-conflicting-outputs build:android:apk: description: "Build Android release APK (本地测试 / 内部分发)" run: bash scripts/build_android.sh apk build:android:aab: description: "Build Android release AAB (Google Play 上架)" run: bash scripts/build_android.sh aab build:ios: description: "Build iOS release IPA (macOS only)" run: bash scripts/build_ios.sh build:macos: description: "Build macOS release app" run: bash scripts/build_macos.sh build:windows: description: "Build Windows release EXE (Windows only)" run: bash scripts/build_windows.sh sdk:bump: description: "Bump SDK constraints to latest stable (from flutter.dev). Pin manually: melos run sdk:bump -- --dart 3.12.0 --flutter 3.40.0" run: bash scripts/bump_sdk.sh new:sdk: description: "Scaffold a new SDK package. Usage: melos run new:sdk -- " run: bash scripts/new_sdk.sh remove:sdk: description: "Remove an SDK package and clean up all references. Usage: melos run remove:sdk -- " run: bash scripts/remove_sdk.sh publish:sdk: description: "發布 SDK 並更新主項目依賴. Usage: melos run publish:sdk -- " run: bash scripts/release_sdk.sh $MELOS_ARG_1 $MELOS_ARG_2 bootstrap:dev: description: "本地開發模式: 鏈接所有 SDK 到主項目 (melos bootstrap)" run: melos bootstrap bootstrap:clean: description: "清理本地開發模式: 移除 pubspec.overrides.yaml" run: rm -f apps/im_app/pubspec.overrides.yaml