Eclipse Keyple™ Project
A Bill of Materials (BOM) for Java/Kotlin applications to manage the versions of all Keyple artifacts.
The Keyple Java BOM provides a centralized way to manage the versions of all Keyple artifacts for Java and Kotlin applications. It ensures that projects using multiple Keyple libraries stay consistent and compatible without requiring explicit version declarations for each dependency.
🔎 Note: The BOM also includes the versions of the Keypop dependencies required by Keyple, so you don’t need to manage them separately.
The full documentation, including the user guide, download information and contribution guide, is available on the Keyple website keyple.org.
Add the Keyple BOM to your <dependencyManagement> section:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.eclipse.keyple</groupId>
<artifactId>keyple-java-bom</artifactId>
<version>2025.09.12</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>Then declare the Keyple dependencies without versions:
<dependencies>
<!-- Keypop APIs -->
<dependency>
<groupId>org.eclipse.keypop</groupId>
<artifactId>keypop-reader-java-api</artifactId>
</dependency>
...
<!-- Keyple components -->
<dependency>
<groupId>org.eclipse.keyple</groupId>
<artifactId>keyple-common-java-api</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.keyple</groupId>
<artifactId>keyple-service-java-lib</artifactId>
</dependency>
...
</dependencies>Import the BOM as a platform:
dependencies {
implementation(platform("org.eclipse.keyple:keyple-java-bom:2025.09.12"))
// Keypop APIs
implementation("org.eclipse.keypop:keypop-reader-java-api")
...
// Keyple components
implementation("org.eclipse.keyple:keyple-common-java-api")
implementation("org.eclipse.keyple:keyple-service-java-lib")
...
}This project follows a date-based versioning scheme:
- Format:
YYYY.MM.DD(year, month, day). - Release cadence: A new version is released whenever one or more Keyple artifacts are updated.
- Interpretation: The version number indicates the release date, not the compatibility level. → Users should check the release notes to see which artifacts were updated.
This project uses GitHub Actions for continuous integration. Every push and pull request triggers automated builds and checks to ensure code quality and maintain compatibility with the defined specifications.