Skip to content

Refactor: Create core:api module and set up publishing#4362

Merged
jamesarich merged 3 commits into
mainfrom
feat/api-library
Jan 29, 2026
Merged

Refactor: Create core:api module and set up publishing#4362
jamesarich merged 3 commits into
mainfrom
feat/api-library

Conversation

@jamesarich

Copy link
Copy Markdown
Collaborator

This refactors the project to establish a stable API for third-party integrations.

Key changes:

  • A new core:api module is created, containing the IMeshService.aidl interface, which was moved from the core:service module.
  • The core:model and core:proto modules are now published as libraries alongside core:api.
  • A GitHub Actions workflow (publish-packages.yml) is added to automate publishing these libraries to GitHub Packages on release.
  • The mesh_service_example app is updated to consume these newly published artifacts instead of depending on the local modules directly.
  • Utility functions and UI-related extensions have been moved from core:model to new, more appropriate locations in core:model:util and core:ui:util to improve separation of concerns.
  • Documentation (README.md) has been added to explain how to use the new API.

This commit refactors the project to establish a stable API for third-party integrations.

Key changes:
- A new `core:api` module is created, containing the `IMeshService.aidl` interface, which was moved from the `core:service` module.
- The `core:model` and `core:proto` modules are now published as libraries alongside `core:api`.
- A GitHub Actions workflow (`publish-packages.yml`) is added to automate publishing these libraries to GitHub Packages on release.
- The `mesh_service_example` app is updated to consume these newly published artifacts instead of depending on the local modules directly.
- Utility functions and UI-related extensions have been moved from `core:model` to new, more appropriate locations in `core:model:util` and `core:ui:util` to improve separation of concerns.
- Documentation (`README.md`) has been added to explain how to use the new API.
@github-actions github-actions Bot added the enhancement New feature or request label Jan 29, 2026
@codecov

codecov Bot commented Jan 29, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 0.00%. Comparing base (e46cb27) to head (87c4626).
⚠️ Report is 7 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@          Coverage Diff          @@
##            main   #4362   +/-   ##
=====================================
  Coverage   0.00%   0.00%           
=====================================
  Files          3       3           
  Lines         28      28           
  Branches       8       8           
=====================================
  Misses        28      28           

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

jamesarich and others added 2 commits January 29, 2026 13:03
The integration instructions in the README files for the root, `core/api`, and `core/model` modules have been updated.

The previous instructions, which used a mix of Maven Central and GitHub Packages, are now replaced with a simpler, unified approach using JitPack. This change standardizes how third-party applications consume the API, model, and proto libraries.
This commit updates the `mesh_service_example`'s `build.gradle.kts` to use direct project dependencies (`projects.core.api`, `projects.core.model`, `projects.core.proto`) instead of versioned artifacts from a properties file.

This change simplifies the build process by ensuring the example app is always built against the current source code of the core modules, removing the need to publish and resolve artifact versions during local development.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
@jamesarich jamesarich enabled auto-merge January 29, 2026 19:44
@jamesarich jamesarich disabled auto-merge January 29, 2026 19:44
@jamesarich jamesarich merged commit 15760da into main Jan 29, 2026
5 checks passed
@jamesarich jamesarich deleted the feat/api-library branch January 29, 2026 19:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant