Skip to content

💻 Environnement de développement et compilation

Ce guide détaille les prérequis, commandes Gradle, sous-projets multi-versions et tests automatisés pour les développeurs de Agrarian Reform.


🛠️ Prérequis de l'environnement

  • Java Development Kit : JDK 25 (release = 25).
  • Version de Gradle : Gradle 9.3+ (via le wrapper Gradle ./gradlew).
  • Fabric Loom: Loom 1.15.5.
  • Mappings : Environnement moderne non obscurci (mappings officiels Mojang).
  • IDE : IntelliJ IDEA 2025.3+ ou Eclipse avec support de Java 25.

🏗️ Structure des sous-projets multi-versions

Agrarian Reform applique la règle stricte du 1 Jar 1 Version avec des sous-dossiers dédiés par version cible :

Agrarian Reform/
├── Agrarian Reform v26.2/
│   └── agrarian-reform/ (Targets MC 26.2 / ">=26.2-")
├── Agrarian Reform v26.3/
│   └── agrarian-reform/ (Targets MC 26.3 / ">=26.3-")
└── Archive Jar of all versions/
    ├── MC 26.2/
    └── MC 26.3/

Compilation depuis les sources

bash
# Cloner le dépôt
git clone https://github.com/Rifaditya/Agrarian-reform-MC-mod.git

# Compiler le JAR pour MC 26.2
cd "Agrarian Reform v26.2/agrarian-reform"
./gradlew check test build --no-daemon

# Compiler le JAR pour MC 26.3
cd "../../Agrarian Reform v26.3/agrarian-reform"
./gradlew check test build --no-daemon

Les fichiers JAR compilés (agrarian-reform-2.2.18+26.2.jar et agrarian-reform-2.2.18+26.3.jar) sont validés et archivés dans Archive Jar of all versions/.


🧪 Tests unitaires headless automatisés

Conformément au principe des tests automatisés GameTest, des suites de tests s'exécutent via ./gradlew test et ./gradlew check :

  1. ContinuumMathTest.java:
    • Vérifie l'échelle d'accroissement hors-ligne sur les courbes de croissance vanilla et moddées.
    • Vérifie la règle de gel ($-1 \to \text{effectiveDelta} = 0$).
    • Vérifie la purge des enregistrements obsolètes de plus de 30 jours ($51,840,000\text{ ticks}$).
    • Vérifie la géométrie concentrique des anneaux de Chebyshev ($r = \max(|dx|, |dz|)$).
  2. AgrarianConfigTest.java:
    • Vérifie la stabilité et les invariants du schéma de configuration.
    • Vérifie la résolution hiérarchique des facteurs (spécifique, gelé, repli global).
    • Vérifie la déduplication lors de la découverte de nouvelles espèces.
    • Vérifie la sûreté multithread des transitions d'état de sauvegarde.
bash
# Exécuter tous les tests automatisés
./gradlew test

🔒 En-tête de licence obligatoire

Tous les fichiers source Java doivent comporter l'en-tête de copyright standard sur une seule ligne :

java
// Copyright (C) 2026 Dasik (Rifaditya) | GNU GPLv3

See also: Architecture et cibles Mixin and Compatibilité des versions et cycle de vie.

Official documentation & web portal for Dasik Igaijinn mods.