Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boson Parent POM

License: MIT Java Maven

The Boson Parent POM is the shared Maven build foundation for all Boson Network Java projects. It centralizes compiler settings, plugin version pins, and common build behaviors so that every downstream module inherits a consistent, reproducible build configuration.


What This Repository Provides

This repository contains a single pom.xml that acts as the parent for all Boson Java subprojects (Core, Services, Clients, etc.). It does not contain any source code.

Its purpose is to:

  • Enforce Java 17 as the language level across the entire ecosystem.
  • Pin exact versions of all shared Maven plugins so builds are reproducible regardless of the local Maven version.
  • Define common build behaviors — output layout, dependency bundling, source and Javadoc JAR attachment, and GPG artifact signing — so each child module does not have to repeat them.

Using the Parent POM

To use this POM as a parent in a Boson subproject, declare it at the top of the child pom.xml:

<parent>
    <groupId>io.bosonnetwork</groupId>
    <artifactId>boson-parent</artifactId>
    <version>${boson.version}</version>
</parent>

The parent POM must be installed into the local Maven repository before child modules can resolve it. See Build & Install below.


Build & Install

Prerequisites

Requirement Version
Java JDK 17 or later
Apache Maven 3.8 or later

Clone

git clone https://github.com/bosonnetwork/Boson.Parent.git
cd Boson.Parent

Install to local Maven repository

./mvnw install

This installs boson-parent-<version>.pom into ~/.m2/repository/io/bosonnetwork/boson-parent/ so that child projects can resolve it locally during development.


Updating Plugin Versions

To upgrade a managed plugin, update the corresponding <version> property in pom.xml and run:

./mvnw verify

Check the Maven Plugin Releases page for the latest stable versions. After updating, bump the parent POM's own version if the change is significant, then reinstall locally and update all child projects to reference the new parent version.


Contributing

We welcome contributions from the open-source community. To get started:

  1. Fork this repository and create a feature branch.
  2. Make your changes.
  3. Ensure ./mvnw verify passes.
  4. Open a pull request with a clear description of the change.

Please read our Code of Conduct before contributing.


License

This project is licensed under the MIT License.

About

The Boson Parent POM is the shared Maven build foundation for all Boson Network Java projects.

Resources

Code of conduct

Stars

0 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors