Central Maven registry for Stone's POS mobile libraries and artifacts. This repository manages the publication and distribution of POS-related packages, including the HAL API and other mobile dependencies.
Build System: Gradle
Primary Purpose: Package management and distribution via GitHub Packages
Key Components: HAL API (Android AAR), KMP publications, dependencies
Registry: https://maven.pkg.github.com/stone-payments/pos-mobile-packages
pos-mobile-packages serves as a central hub for publishing and consuming POS mobile artifacts:
- HAL API Publication: Publishes Android AAR packages from
pos-android-halreleases - Dependency Management: Hosts shared dependencies for POS projects
- GitHub Packages Registry: Provides Maven-compatible package distribution
- CI/CD Workflows: Automates the build and publication pipeline
The HAL API publication follows a two-step process:
- pos-android-hal creates a release with tag
hal-api/x.y.z(HAL API Release workflow) - pos-mobile-packages publishes the AAR to GitHub Packages (Publish HAL API workflow)
Add the Maven repository to your project's build.gradle (root level):
repositories {
maven {
url = uri("https://maven.pkg.github.com/stone-payments/pos-mobile-packages")
credentials {
username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_USERNAME")
password = project.findProperty("gpr.key") ?: System.getenv("GITHUB_TOKEN")
}
}
}In your module's build.gradle, reference packages from this registry:
dependencies {
// HAL API
implementation "co.stone.pos.mobile:hal-api:<version>"
// Other POS packages (as published)
implementation "co.stone.pos.mobile:other-package:<version>"
}Ensure you have GitHub credentials configured:
- GITHUB_USERNAME: Your GitHub username or
x-access-token - GITHUB_TOKEN: A GitHub Personal Access Token (PAT) with
packages:readpermission
To publish a new version of HAL API:
- Ensure a release was created in
pos-android-halwith taghal-api/x.y.z - Go to this repository's Actions tab
- Select "Publish HAL API to GitHub Packages" workflow
- Click "Run workflow"
- Enter the tag name (e.g.,
hal-api/3.6.6) - Monitor the workflow until completion
For detailed instructions, see DEPLOY.md.
For testing or alternative scenarios:
# Set version
echo "localPublishVersionName=x.y.z" >> local.properties
# Build and publish (from pos-android-hal or relevant module)
./gradlew :hal-api:publishAllPublicationsToGitHubPackagesRepository \
-PGITHUB_PUBLISH_USERNAME=x-access-token \
-PGITHUB_PUBLISH_TOKEN=$GITHUB_TOKENThe following secrets must be configured at the organization level (stone-payments) and accessible to this repository:
| Secret | Purpose | Scope |
|---|---|---|
GH_HARDWARE_MAMBA_SETUP_PRIVATE_KEY |
GitHub App token for cross-repo checkout | Org-level |
PACKAGECLOUD_READ_TOKEN |
PackageCloud read access for dependencies | Org-level |
PACKAGECLOUD_READ_TOKEN_INTERNAL |
PackageCloud internal read access | Org-level |
GITHUB_TOKEN |
Automatic GitHub token for publishing | Job-level (auto) |
- DEPLOY.md — Complete deployment and publication guide
- docs/ — Additional documentation and specifications
pos-mobile-packages/
├── README.md # This file
├── DEPLOY.md # Deployment guide
├── .github/
│ └── workflows/
│ └── publish-hal-api.yml # HAL API publication workflow
├── docs/
│ └── specs/ # Technical specifications
├── Frameworks/ # Framework integrations
└── catalog-info.yaml # Backstage catalog metadata
- pos-android-hal — HAL source and release management
- pos-mobile-app — Consumer of hal-api packages (example)
If you encounter issues:
- Check
DEPLOY.mdtroubleshooting section - Verify secrets are configured in organization settings
- Ensure your GitHub token has
packages:readpermission - Review the workflow logs in the Actions tab
For more help, contact the POS mobile team.
Last Updated: 2026-08-19