Skip to content

feat: add build-android-sdk skill for cross-compiling UniFFI#860

Draft
SaintPatrck wants to merge 1 commit intomainfrom
feat/build-android-sdk-skill
Draft

feat: add build-android-sdk skill for cross-compiling UniFFI#860
SaintPatrck wants to merge 1 commit intomainfrom
feat/build-android-sdk-skill

Conversation

@SaintPatrck
Copy link
Copy Markdown
Contributor

🎟️ Tracking

N/A — Developer tooling improvement.

📔 Objective

Adds a Claude Code skill (/build-android-sdk) that automates the full Android SDK build pipeline:

  • Shell script (scripts/build.sh) handles all deterministic build steps: prerequisite
    checks (Docker, cross, local.properties), cross-compilation for up to 3 Android ABIs
    (arm64-v8a, armeabi-v7a, x86_64), native library copying, Kotlin binding generation
    via uniffi-bindgen, and AAR publication to local Maven (~/.m2/repository).
  • Skill wrapper (SKILL.md) provides the Claude Code integration — invokes the script
    with user-provided ABI arguments and handles the interactive post-build prompt for
    configuring localSdk=true in the Android project.
  • Script is bash 3.2 compatible (no associative arrays) for macOS default shell.
  • Publishes as com.bitwarden:sdk-android:LOCAL to match the Android app's dependency
    substitution.

🚨 Breaking Changes

None — this is a new developer tool with no impact on the SDK or client interfaces.

@SaintPatrck SaintPatrck added the ai-review Request a Claude code review label Mar 18, 2026
@claude
Copy link
Copy Markdown

claude bot commented Mar 18, 2026

Claude encountered an error —— View job


I'll analyze this and get back to you.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 18, 2026

Logo
Checkmarx One – Scan Summary & Detailsb3163cd6-7165-496c-a125-c0139b5b3a03

Great job! No new security vulnerabilities introduced in this pull request

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 18, 2026

🔍 SDK Breaking Change Detection Results

SDK Version: feat/build-android-sdk-skill (1cc9d56)
Completed: 2026-03-19 18:32:34 UTC
Total Time: 275s

Client Status Details
typescript ✅ No breaking changes detected TypeScript compilation passed with new SDK version - View Details

Breaking change detection completed. View SDK workflow

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 18, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 82.76%. Comparing base (da6afa8) to head (1cc9d56).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #860      +/-   ##
==========================================
+ Coverage   82.74%   82.76%   +0.01%     
==========================================
  Files         353      353              
  Lines       42135    42203      +68     
==========================================
+ Hits        34864    34928      +64     
- Misses       7271     7275       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@SaintPatrck SaintPatrck marked this pull request as ready for review March 18, 2026 20:23
@SaintPatrck SaintPatrck requested a review from a team as a code owner March 18, 2026 20:23
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This script seems to be duplicating a lot of the content from the two scripts we have in:

  • crates/bitwarden-uniffi/kotlin/build-schemas.sh
  • crates/bitwarden-uniffi/kotlin/publish-local.sh

Would it be better to just let this script call them? I'm worried about them getting out of sync otherwise.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Absolutely. I completely overlooked those. Thanks for pointing them out.

@SaintPatrck SaintPatrck marked this pull request as draft March 19, 2026 16:12
Add a Claude Code skill (/build-android-sdk) that wraps the existing
publish-local.sh and build-schemas.sh scripts. The skill handles
prerequisite verification, invokes the build, and offers to configure
localSdk=true in the user's Android project afterward.
@SaintPatrck SaintPatrck force-pushed the feat/build-android-sdk-skill branch from af7d464 to 1cc9d56 Compare March 19, 2026 18:19
@sonarqubecloud
Copy link
Copy Markdown

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

Labels

ai-review Request a Claude code review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants