Skip to content

Publish the Android module to Maven Central and check its version at start - #16

Merged
LucaCappelletti94 merged 3 commits into
b1-bundlersfrom
m1-maven-aar
Oct 10, 2026
Merged

LucaCappelletti94 merged 3 commits into
b1-bundlersfrom
m1-maven-aar

Conversation

@LucaCappelletti94

Copy link
Copy Markdown
Owner

This makes the crate's Android module available as io.github.lucacappelletti94:pushups-android on Maven Central, at the same version as the crate, for Gradle apps that would rather add one dependency than include the module's sources the way #15 does through cargo metadata. A separate Gradle project builds and signs the AAR with the toolchain the module already uses, so its Kotlin stays readable by the Kotlin 2.0 that dx 0.7 apps compile with, and a workflow uploads it to the Central Portal on a v<version> tag. A one-off dry run had Central validate the signed bundle and then dropped it, so nothing is published yet.

Because the Kotlin calls into Rust exports that belong to one crate version, the module now checks at start that the app's crate is its own version, through one export whose signature never changes. On a mismatch push stays off and install returns a new Error::AndroidModuleMismatch naming both versions, where an AAR of one release beside a crate of another used to fail somewhere in JNI. A new instrumented variant covers it, and CI also checks that the module's version follows Cargo.toml.

The winit example can now take the module either way, and its emulator job runs the real-push proof against both the sources and the AAR. This stacks on #15.

@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository: LucaCappelletti94/coderabbit/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 2e8efecf-f5ad-406c-85b0-a78dc2a4af42

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 86.84211% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 92.16%. Comparing base (3024abc) to head (6de716f).

Files with missing lines Patch % Lines
...roid/src/main/kotlin/rs/pushups/PushupsProvider.kt 70.58% 3 Missing and 2 partials ⚠️
Additional details and impacted files
@@               Coverage Diff               @@
##           b1-bundlers      #16      +/-   ##
===============================================
+ Coverage        92.09%   92.16%   +0.07%     
===============================================
  Files               33       33              
  Lines             2883     2910      +27     
  Branches            38       39       +1     
===============================================
+ Hits              2655     2682      +27     
  Misses             201      201              
  Partials            27       27              

☔ View full report in Codecov by Harness.
📢 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.

@sonarqubecloud

Copy link
Copy Markdown

@LucaCappelletti94
LucaCappelletti94 merged commit 8c15151 into main Oct 10, 2026
31 checks passed
@LucaCappelletti94
LucaCappelletti94 deleted the m1-maven-aar branch October 10, 2026 12:11
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