Passer au contenu principal

Plugin de construction webforJ 26.01

Ouvrir dans ChatGPT

Le plugin de construction webforJ exécute le travail de construction de webforJ comme partie de votre construction Maven ou Gradle. Vous l'ajoutez une fois, et il attache ses objectifs aux phases que vous exécutez déjà, sans projet frontend séparé à synchroniser. Il pilote le regroupement frontend, compilant le frontend, exécutant les tests frontend, servant le développement en veille, et attachant un outil de hotswap à l'application qu'il démarre.

Ajout du plugin

Un projet webforJ créé à partir d'un archétype possède déjà le plugin. Pour l'ajouter à un projet existant :

Déclarer le plugin avec <extensions>true</extensions> lie ses objectifs à la construction sans blocs d'exécution à écrire :

pom.xml
<plugin>
<groupId>com.webforj</groupId>
<artifactId>webforj-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>

Objectifs et tâches

Trois objectifs sont liés aux phases que vous exécutez déjà, donc un mvn package normal ou ./gradlew build produit une application avec son frontend compilé, et la phase de test exécute les tests frontend aux côtés des tests Java. La veille est celle que vous démarrez manuellement pendant le développement :

Objectif MavenTâche GradleExécuteCe qu'elle fait
bundlewebforjBundleprepare-package, avant chaque jar et warCompile le frontend pour l'application empaquetée
testwebforjTestavec la phase de testExécute les tests frontend
cleanwebforjCleanFrontendavec la phase de nettoyageRetire le frontend généré
watchwebforjWatchmanuellement, à côté de l'applicationReconstruit lors des changements pendant le développement
push-keyswebforjPushKeysmanuellement, une fois par déploiementGénère la paire de clés pour les notifications push et imprime les lignes de configuration

Démarrez la veille comme l'objectif avant celui qui exécute l'application, par exemple mvn compile webforj:watch spring-boot:run. Un projet archétype définit cela comme l'objectif par défaut, donc mvn seul démarre tout. Son comportement de rechargement est couvert dans Veille Frontend.

Sauter les tests frontend avec les tests Java, -DskipTests ou -Dmaven.test.skip avec Maven et -PskipTests avec Gradle.

Options

Définissez les options en tant qu'éléments <configuration> Maven, ou en tant que valeurs d'extension webforj { } Gradle. Chaque option Maven, sauf plugins et hotswap, accepte également une propriété -D dans la ligne de commande. Les deux outils de construction se reflètent l'un l'autre :

Élement MavenPropriété MavenGradleDéfautBut
bunVersionwebforj.bundler.versionbunVersiongéréFixez la version de Bun pour des constructions reproductibles
bunPathwebforj.bundler.pathbunPathtéléchargementUtilisez un binaire Bun existant au lieu de télécharger
cacheDirwebforj.bundler.cacheDircacheDir${user.home}/.webforj/bunOù les binaires Bun gérés sont mis en cache
sourceRootwebforj.bundler.sourceRootsourceRootsrc/main/frontendOù se trouvent les sources d'entrée du frontend
workDirwebforj.bundler.workDirworkDirtarget/bundleOù le plugin écrit ses fichiers de construction générés
pluginspluginsActiver ou désactiver une extension par id, comme webforj-tailwind
excludePackageswebforj.bundler.excludePackagesexcludePackagesPréfixes de package à sauter lors du scan des annotations
eagerwebforj.bundler.eagereagerfalseCharger tout le frontend au démarrage de l'application au lieu de par vue, voir Bundle Éager
testArgswebforj.bundler.testArgstestArgsArguments supplémentaires passés au coureur de tests frontend
hotswaphotswapAttacher un outil de mise à jour de classe à l'application que la construction démarre, voir Hotswap

Par exemple, pour fixer la version de Bun et activer Tailwind :

pom.xml
<plugin>
<groupId>com.webforj</groupId>
<artifactId>webforj-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<bunVersion>1.3.0</bunVersion>
<plugins>
<webforj-tailwind>true</webforj-tailwind>
</plugins>
</configuration>
</plugin>