Aller au contenu
Krizaka Java
Krizaka Java

Build, parent et BOM

krizaka-parent, krizaka-bom et krizaka-test-support — un seul build pour tous les artefacts JVM Krizaka.

Krizaka Build porte le POM parent, le BOM et le kit de test derrière chaque artefact com.krizaka de Maven Central.

ArtefactRôle
com.krizaka:krizaka-parentMétadonnées Central, Java 21, google-java-format vérifié à validate, tests unitaires (Surefire) et d'intégration (Failsafe, *IT), JaCoCo, une chaîne d'outils imposée, le profil release.
com.krizaka:krizaka-bomChaque artefact com.krizaka à la version avec laquelle son dépôt a été testé — l'ensemble compatible. Il ne fixe jamais la version d'une dépendance tierce.
com.krizaka:krizaka-test-supportRègles de gouvernance (CodeRules, SourceRules, ConfigBindingRules), AbstractContainerIntegrationTest (un PostgreSQL + RabbitMQ partagé par exécution) et rôles Testcontainers.

Utiliser le BOM

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.krizaka</groupId>
      <artifactId>krizaka-bom</artifactId>
      <version>0.2.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Le BOM ne porte que des artefacts Krizaka : l'importer ne fixe jamais une version de Spring que tu n'as pas choisie. Les artefacts sont construits et testés avec Spring Boot 4.0.x.

Construire un dépôt sur le parent

<parent>
  <groupId>com.krizaka</groupId>
  <artifactId>krizaka-parent</artifactId>
  <version>0.2.0</version>
  <relativePath/>
</parent>
CommandeCe qui s'exécute
./mvnw verifyvérification du format, compilation avec -Xlint:all, tests unitaires et d'intégration, couverture
./mvnw spotless:applyformate les sources
./mvnw verify -Prelease -Dgpg.skiptout ce que Central exige sauf la signature, plus la compatibilité binaire (japicmp)

Releases

Chaque dépôt a sa propre version SemVer ; les titres de pull request sont des Conventional Commits et release-please garde une pull request de release ouverte. Central valide un POM par rapport à son parent sur Central : krizaka-build est donc publié en premier, puis le kit plateforme, puis les services de domaine. Une release est confirmée à la main sur le Central Portal avant d'être publiée.

Sur cette page