Skip to content

Un template d'Application en Ligne de Commande (CLI) avec Java 25, Gradle et les JEP 458, 511 et 512

Notifications You must be signed in to change notification settings

java-cli-apps/java-25-quickstart

 
 

Repository files navigation

Un template d'Application en Ligne de Commande (CLI) avec Java 25 et les JEP 458, 511 et 512

Le template java-25-quickstart permet de démarrer une nouvelle application en commande ligne avec Java et Gradle.

Ce template nécessite d'utiliser Java 25 ou une version supérieure car il utilise les JEPs suivantes :

Le template utilise la librairie record-args, développée par Nicolai Parlog, et qui s'appuie sur les record et les interfaces sealed pour définir les arguments de la ligne de commande et en effectuer le parsing.

Créer une application depuis ce template

Pour créer une application depuis ce template, on procédera comme suit :

Vous trouverez sur GitHub l'application générée dans cet asciicast.

Construire votre application

Après avoir créé le dépôt GitHub de votre nouvelle application à partir de ce template, vous pouvez suivre les étapes suivantes pour construire votre application.

Changer le nom de l'application

Pour changer le nom de l'application, initialement nommée Quickstart, il faut positionner la variable APP_NAME dans le terminal comme suit :

$ export APP_NAME=MyCmdLine

Lancer l'application localement

$ make run-app
./gradlew run --args="--language French"
Bonjour 🇫🇷

Construire le livrable de l'application

Le livrable de l'application comprend les sources ainsi que ses dépendances.

$ make package
./gradlew scriptsDistZip

Shell de lancement

Le script de lancement Application.sh, dont le rôle est de lancer le fichier Application.java, est renommé lors de la construction du livrable en MyCmdLine.sh.

Cela permet d'ajouter plusieurs applications dans le PATH et donc d'invoquer directement MyCmdLine.sh.

Installer l'application

$ DEST_DIR=/home/user make install
unzip -q -d /home/user build/distributions/QuickStart.zip

Lancer l'application installée

$ DEST_DIR=/home/user make run-installed-app
PATH=/home/user/QuickStart/bin:/usr/lib/jvm/jdk-25/bin:/home/fopy/.local/bin:... QuickStart.sh --language French
Bonjour 🇫🇷

Il ne nous reste plus qu'à :

Exécuter les tests

Dans ce template utilisant Gradle, les tests utilisent JUnit, et contrairement au template basic-java-25-quickstart ils n'utilisent pas la JEP 458: les sources sont compilées avant les tests.

$ make test

Autres templates

Sans utiliser Java 25

Si vous ne disposez pas de Java 25, vous avez trois possibilités :

Sans utiliser Gradle

Si vous ne disposez pas de Gradle ou que vous ne souhaitez pas l'utiliser, vous pouvez utiliser les templates basic-java-25-quickstart ou basic-java-23-quickstart qui ne requierent que make pour construire l'application.

About

Un template d'Application en Ligne de Commande (CLI) avec Java 25, Gradle et les JEP 458, 511 et 512

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 65.6%
  • Makefile 25.9%
  • Shell 8.5%