Repository navigation
docs: say add-to-app releases and patches need a prebuilt module - #748
Conversation
The Flutter Concepts add-to-app page only showed the Android source dependency setup, which Shorebird can't release or patch. Split it into a source dependency (development) and a prebuilt AAR (release and patch), and add the Android guide note the iOS guide already has. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Adversarial review (by a separate agent that did not write the change)
|
Point the concepts page's prebuilt AAR section at the Android guide instead of duplicating (and getting wrong) its Gradle setup, add the matching iOS caution, say to switch to the AAR before releasing, fix the stale repo-path comment in the Android guide, and tighten wording. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Responses to the adversarial review (fixed in the latest push):
|
AbhishekDoshi26
left a comment
There was a problem hiding this comment.
2 findings.
-
src/content/docs/flutter-concepts/add-to-app.mdx:320-327: the caution sits right under the Swift Package Manager steps and says "a prebuilt iOS framework built by
shorebird release ios-framework", so a reader could wrap Shorebird's output in the local Swift package shown above it. The CLI never builds a Swift package, and it outputs two XCFrameworks:ios_framework_releaser.dart:87-92renamesFlutter.xcframeworktoShorebirdFlutter.xcframeworknext toApp.xcframework, and its post-release instructions say to embed them in Xcode (as the iOS guide documents). Suggest:Shorebird releases and patches only the XCFrameworks that
shorebird release ios-frameworkbuilds (App.xcframeworkandShorebirdFlutter.xcframework), embedded directly in your Xcode project. It does not release or patch the Swift package setup above. See the Code Push for iOS add-to-app guide for the setup Shorebird supports. -
flutter-concepts/add-to-app.mdx:244 and code-push/guides/add-to-app/android.mdx:40 (nit): both links name the "Depend on the Android Archive (AAR)" section but land at the top of Flutter's page. The live page has
id="depend-on-the-android-archive-aar"; linkhttps://docs.flutter.dev/add-to-app/android/project-setup#depend-on-the-android-archive-aarin both places.
Checked and correct: the Maven path fix (aar_releaser.dart copies the repo to <module>/release and prints url '../<module>/release'), the claim that only release aar/patch aar cover Android add-to-app (nothing in the CLI handles include_flutter), shorebird#653 is open, internal links, aside syntax, no agent-instructions changes needed.
Outside this PR, for a follow-up: the concepts page's iOS SPM steps (flutter build ios-framework then "Add Local" package) don't match Flutter's current flutter build swift-package flow, and the iOS guide plus the CLI's post-release message point to a "Use iOS frameworks" / #option-b---embed-frameworks-in-xcode section that Flutter's iOS project-setup page no longer has.
I'll push fixes for the two findings.
AbhishekDoshi26
left a comment
There was a problem hiding this comment.
No findings.
Round 2, full diff at ee76198. Both round-1 findings are fixed: the iOS caution names App.xcframework and ShorebirdFlutter.xcframework (matching ios_framework_releaser.dart:87-92,113) and says the Swift package setup isn't released or patched (the CLI has no Swift package path), and both Flutter links land on #depend-on-the-android-archive-aar, which exists on the live page. Re-checked: aar_releaser.dart copies to <module>/release and prints url '../<module>/release', so the fixed comment matches; release/patch handle aar and ios-framework; nothing in the CLI handles include_flutter; shorebird#653 is open; Prettier passes; no em-dashes in added lines; no agent-readiness files need changes.
Follow-ups outside this PR (in addition to the ones in round 1): the Android guide's Gradle snippet says my_flutter_module while its prose says flutter_module.
Shorebird can only release and patch add-to-app modules that the host app consumes prebuilt (an AAR on Android, an XCFramework on iOS). The docs didn't say so for Android:
include_flutter.groovy) setup. It now explains both methods, labels the source dependency as development-only, and has a caution that Shorebird releases and patches only a prebuilt AAR. The prebuilt section links to Flutter's AAR instructions and the Shorebird Android guide rather than repeating the guide's Gradle setup. The iOS section gets a matching caution aboutshorebird release ios-framework.Prettier, cspell, and Vale pass on both files.
Screenshots
Concepts page, Android integration: the caution, then the development-only source dependency and the short prebuilt AAR section:

Concepts page, iOS integration: the new caution:

Android add-to-app guide: the new note under Prerequisites:

Landing
As soon as approved.
🤖 Generated with Claude Code