Skip to content

feat: dependency bootstrap and patch workflow#5

Merged
anonymoussoft merged 1 commit intomasterfrom
feature/dependency-bootstrap-and-patches
Mar 13, 2026
Merged

feat: dependency bootstrap and patch workflow#5
anonymoussoft merged 1 commit intomasterfrom
feature/dependency-bootstrap-and-patches

Conversation

@anonymoussoft
Copy link
Copy Markdown
Owner

  • Add third_party layout with .gitmodules (tim2tox, chat-uikit-flutter)
  • Add bootstrap_deps.dart, refresh_sdk_patch.sh, test_bootstrap_smoke.sh, verify_bootstrap_local.sh
  • Docs: DEPENDENCY_BOOTSTRAP, DEPENDENCY_LAYOUT, PATCH_MAINTENANCE, BUILD_AND_DEPLOY updates
  • Update .gitignore, pubspec.yaml, run_toxee*.sh, build_all.sh, analyze.yml, README
  • Update Podfile.lock and pubspec.lock

Made-with: Cursor

- Add third_party layout with .gitmodules (tim2tox, chat-uikit-flutter)
- Add bootstrap_deps.dart, refresh_sdk_patch.sh, test_bootstrap_smoke.sh, verify_bootstrap_local.sh
- Docs: DEPENDENCY_BOOTSTRAP, DEPENDENCY_LAYOUT, PATCH_MAINTENANCE, BUILD_AND_DEPLOY updates
- Update .gitignore, pubspec.yaml, run_toxee*.sh, build_all.sh, analyze.yml, README
- Update Podfile.lock and pubspec.lock

Made-with: Cursor
@anonymoussoft anonymoussoft merged commit 59ba0f3 into master Mar 13, 2026
1 check failed
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bf420608bd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread tool/bootstrap_deps.dart
Comment on lines +17 to +20
final lockFile = File('$repoRoot/third_party/tim2tox/tool/tencent_cloud_chat_sdk.lock.json');
if (!lockFile.existsSync()) {
stderr.writeln('bootstrap_deps: missing third_party/tim2tox/tool/tencent_cloud_chat_sdk.lock.json (init submodules first)');
exit(1);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Initialize submodules before reading tim2tox lock file

The bootstrap script reads third_party/tim2tox/tool/tencent_cloud_chat_sdk.lock.json before running any git submodule or clone step, so a fresh clone (where third_party/tim2tox does not exist yet) exits immediately and never performs the intended initialization. This breaks the documented first-run flow and CI jobs that call dart run tool/bootstrap_deps.dart on a clean checkout.

Useful? React with 👍 / 👎.

Comment thread tool/bootstrap_deps.dart
Comment on lines +104 to +105
final entries = tempDir.listSync().whereType<FileSystemEntity>().toList();
if (entries.length == 1 && entries.first is Directory) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Ignore archive file when detecting extracted SDK root

After extraction, entries is collected from the same temp directory that still contains sdk.tar.gz, so the entries.length == 1 flattening branch is never taken for normal pub tarballs. The code then copies the extracted top-level directory (for example package/) as a nested folder under third_party/tencent_cloud_chat_sdk, leaving pubspec.yaml in the wrong place and causing the generated path override to point at a non-package root.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant