with one click
gradle-build
// Gradle build configuration for Xeres including build commands, version management, module structure, and key plugins.
// Gradle build configuration for Xeres including build commands, version management, module structure, and key plugins.
ArchUnit architecture rules enforced in Xeres including common module rules (logging, utility classes), app module rules (no field injection, RsService naming), and UI module rules (WindowController naming).
Cryptography patterns for Xeres including PGP operations, key generation, and hash functions with best practices.
DTO and mapper patterns for Xeres using Java records, canonical constructors with validation, and static mapper utility classes.
Flyway SQL migration patterns for Xeres including naming conventions, H2 database patterns, enum types, foreign keys, and best practices.
Code style, naming conventions, license headers, and patterns for Xeres Java project. Covers Allman braces, utility classes, package structure, and field injection rules.
JavaFX patterns for Xeres including controller structure with FXML views, WindowController lifecycle, WindowManager usage, and JavaFX-Spring integration.
| name | gradle-build |
| description | Gradle build configuration for Xeres including build commands, version management, module structure, and key plugins. |
Multi-module Gradle project:
Xeres/
āāā app/ - Spring Boot application
āāā ui/ - JavaFX desktop UI
āāā common/ - Shared code
āāā build.gradle - Root configuration
āāā settings.gradle
# Run the application
./gradlew bootRun
# Build without tests
./gradlew build -x test
# Run tests
./gradlew test
# Run UI tests specifically
./gradlew :ui:test
# Package application (MSI on Windows, .deb on Linux)
./gradlew :app:jpackage
# Create portable zip
./gradlew :app:jpackage -Pjpackage.portable=true
# Build Docker image
./gradlew :app:bootBuildImage
# Clean build
./gradlew clean
Versions are defined in root build.gradle ext block:
ext {
set('version.java', 25)
set('version.spring-boot', '4.0.5')
// etc.
}
Never modify version numbers directly. Update in root build.gradle.
app ā common
ui ā common
app āā ui (forbidden by archunit)
java - Java compilationapplication - Runnable applicationorg.springframework.boot - Spring Bootio.github.goooler.java - BOM managementjacoco - Code coverageorg.openjfx.javafxplugin - JavaFXSubprojects inherit common configuration from root build.gradle. Module-specific settings go in app/build.gradle, ui/build.gradle, etc.
# Development mode with hot reload
./gradlew bootRun
# With specific JVM args
./gradlew bootRun -PjvmArgs="-Xmx512m"