Skip to content

v0.5.0 - Monorepos, Paquetes Java y Empaquetado Nativo con jpackage

Choose a tag to compare

@Escobarq Escobarq released this 26 Aug 21:01
· 18 commits to master since this release

Jolt v0.5.0: Monorepos Multimódulo, Paquetes Java FQCN y Empaquetado Binario Nativo con jpackage ⚡️

Esta versión introduce soporte de primera clase para arquitecturas empresariales y modernas en Java, permitiendo gestionar múltiples proyectos en un solo repositorio con dependencias locales y generar binarios nativos ejecutables multiplataforma.

🌟 Nuevas Características Principales

🏢 Workspaces Multimódulo (Monorepos)

  • Configuración en jolt.toml raíz con [workspace] members = ["core", "desktop_app", "web_api"].
  • Aislamiento e interoperabilidad entre módulos heterogéneos (ej. interfaz JavaFX + backend Spring Boot + librerías Core compartidas).
  • Dependencias locales de ruta (path dependencies): "core" = { path = "../core" }.
  • Compilación automática y encadenada de dependencias locales.
  • Ejecución, compilación, pruebas y sincronización centralizadas desde la raíz con flags --member <nombre> / -p y --all.

📦 Paquetes Java y Namespaces FQCN

  • Soporte para declarar package = "org.equipo.proyecto" y group_id = "org.equipo" en jolt.toml.
  • Generación automática del árbol de directorios canónico de Java: src/main/java/org/equipo/proyecto/ y src/test/java/org/equipo/proyecto/.
  • Inyección dinámica de cabeceras de paquete en todas las plantillas oficiales (minimal, cli, javafx, swing, web, spring).

🪄 Asistente Interactivo (jolt init)

  • Menú interactivo en terminal para elegir entre 📦 Proyecto Individual y 🏢 Workspace Monorepo.
  • Detección contextual: Si se ejecuta dentro de un workspace, Jolt auto-registra el nuevo submódulo en [workspace].members.

📦 Empaquetado Binario Nativo (jolt package / jolt build --package)

  • Generación de aplicaciones autónomas y ejecutables sin necesidad de Java preinstalado en la máquina del usuario final mediante jpackage.
  • Lanzadores portables (app-image):
    • Linux: dist/<app>/bin/<app>
    • Windows: dist/<app>/<app>.exe
    • macOS: dist/<app>.app
  • Instaladores de sistema: .deb, .rpm, .msi, .exe, .dmg, .pkg.
  • Detección automática estática de Main-Class y configuración mediante tabla [package] en jolt.toml.

🔍 Diagnóstico Extendido (jolt check)

  • Diagnóstico del estado de Workspaces Monorepo, listando miembros registrados, paquetes Java y salud de dependencias.
  • Detección de jpackage y formatos de empaquetado compatibles en el sistema anfitrión.

📦 Artefactos Incluidos

  • jolt-linux-x86_64.tar.gz (Binario compilado en modo Release para Linux x86_64)
  • Checksum SHA-256: 5105f26d9f6da020ff6ecca6139602599b7d5261798e60357b5ee3c36078e56c