Repository navigation
Releases: Escobarq/jolt
Release list
Jolt v0.7.3
Jolt v0.7.3
- Resolucion recursiva de dependencias Maven.
- Nuevo comando
jolt verifypara instalar, compilar, probar y validar el arranque. - Diagnosticos mejorados para ClassNotFoundException.
- Soporte de dependencias opcionales durante el parseo de POM.
- Instalador NSIS para Windows incluido.
SHA-256: AF970A6910B64FE0F451C7613A0068FADAA100C5EEDF1DDE10E40D10E48BD2AF
v0.7.2
v0.7.1 - Presets GraalVM en Plantillas y Especificaciones v0.8.0
⚡ Novedades en Jolt v0.7.1
🚀 Mejoras en Inicialización y Plantillas
- Presets GraalVM Native Image ([graalvm]): Todas las plantillas (minimal, cli, web, spring, javafx, swing) incluyen configuraciones predefinidas y optimizadas para compilación AOT nativa.
- Flag --graalvm (alias --native): Permite inicializar proyectos con soporte nativo activo de fábrica (jolt init mi-app --template cli --graalvm).
- Asistente Interactivo Enriquecido: Consulta de activación de GraalVM durante el flujo interactivo de jolt init.
- Suite de Pruebas en Plantilla Web: Inclusión de MainTest.java en la plantilla de Javalin para ejecución inmediata con jolt test.
📚 Especificaciones Técnicas para v0.8.0
- Documentación completa en docs/specs-v7.md para los futuros módulos:
- jolt fmt: Formateador integrado de código Java con modo --check para CI/CD.
- jolt doc: Generador de Javadoc con resolución de classpath y servidor HTTP embebido.
- jolt audit: Auditoría de vulnerabilidades y base de datos CVEs (OSV.dev) sobre jolt.lock.
📦 Artefactos Adjuntos
- Instalador Oficial para Windows: jolt-v0.7.1-windows-x86_64-setup.exe (2.6 MB)
- Binario CLI Autónomo: jolt.exe (2.5 MB optimizado con UPX)
v0.7.0 - Detección Inteligente de JDKs, GraalVM Native Image y Control de Descargas
⚡ Jolt v0.7.0
Esta versión introduce una actualización fundamental en el subsistema de Toolchains de Jolt: detección inteligente y multinivel de JDKs locales, prevención estricta de descargas silenciosas no deseadas, y soporte nativo completo para GraalVM Native Image y configuración [graalvm] en jolt.toml.
🌟 Novedades principales:
- Detección inteligente de JDKs locales:
- Escaneo proactivo y ordenado de variables de entorno (
GRAALVM_HOME,JAVA_HOME), ejecutables enPATH(javac,java) y directorios de instalación estándar del sistema operativo (Oracle GraalVM, Eclipse Temurin, Amazon Corretto, Azul Zulu, BellSoft Liberica, Microsoft OpenJDK, etc.). - Parsing semántico de versiones mayores (
parse_java_major_version) para Java 8 hasta Java 25+.
- Escaneo proactivo y ordenado de variables de entorno (
- Compatibilidad hacia atrás inteligente:
- Si un proyecto requiere
java_version = "21"y el sistema tiene instalado un JDK moderno superior (como Oracle GraalVM 25), Jolt lo reconoce como compatible y lo reutiliza inmediatamente sin descargar nada.
- Si un proyecto requiere
- Control estricto de descargas (Sin sorpresas):
- Jolt no descargará paquetes pesados en segundo plano. Si no hay un JDK compatible, informa los JDKs detectados y ofrece instrucciones claras de instalación, o la opción de autorizar la auto-descarga explícitamente mediante el argumento
--download-jdk.
- Jolt no descargará paquetes pesados en segundo plano. Si no hay un JDK compatible, informa los JDKs detectados y ofrece instrucciones claras de instalación, o la opción de autorizar la auto-descarga explícitamente mediante el argumento
- Sintaxis de configuración GraalVM en
jolt.toml:- Nueva tabla
[graalvm](y[package.graalvm]) que permite configurarenabled,name,main_class,args,reflection_configyresources_config.
- Nueva tabla
- Compilación a binario nativo (
jolt build --native):- Pipeline integrado que empaqueta el Fat-JAR optimizado e invoca
native-imagepara generar un ejecutable autónomo ultra rápido endist/.
- Pipeline integrado que empaqueta el Fat-JAR optimizado e invoca
- Diagnóstico ampliado (
jolt check):- Ahora audita la presencia de GraalVM Native Image (
native-image) y detalla la versión detectada.
- Ahora audita la presencia de GraalVM Native Image (
📦 Archivos adjuntos:
jolt-v0.7.0-windows-x86_64-setup.exe: Instalador ejecutable oficial para Windows (x86_64) con UPX y NSIS.jolt-v0.7.0-setup.exe: Instalador directo para Windows.jolt-setup.exe: Instalador universal directo para Windows.jolt-v0.7.0-windows-x86_64.exe: Binario standalone optimizado para Windows.
v0.6.0 - Instalador Oficial de Windows (NSIS + UPX) y Refactor de Formatos
⚡ Jolt v0.6.0
Esta versión introduce el soporte completo para generación de instaladores nativos en Windows con compresión UPX y empaquetado NSIS, además de un flujo de compilación e instalación ultraoptimizado.
🌟 Novedades principales:
- Instalador Oficial de Windows (
.execon NSIS): Instalador moderno (MUI2) con registro automático en la variable de entornoPATH, notificación inmediata al sistema (WM_SETTINGCHANGE) y desinstalador limpio (uninstall.exe). - Compresión UPX de alto ratio: Reducción de hasta un 70% en el tamaño de ejecutables y librerías dinámicas.
- Empaquetado integrado en CLI:
jolt build --installer [-n <nombre>]jolt package --type msi / nsis / app-image
- Diagnóstico del sistema:
jolt checkaudita automáticamente la presencia demakensis(NSIS) yupx. - Simplificación de plataformas: Soporte nativo y validado para Windows (
msi,app-image,nsis,exe) y Linux (app-image). - Personalización del nombre: Soporte para
-n / --name / --installer-nameal generar binarios e instaladores.
📦 Archivos adjuntos:
jolt-v0.6.0-setup.exe: Instalador ejecutable oficial para Windows (x86_64).jolt-setup.exe: Instalador universal directo para Windows.jolt-v0.6.0-windows-x86_64.exe: Binario standalone optimizado para Windows.
v0.5.0 - Monorepos, Paquetes Java y Empaquetado Nativo con jpackage
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.tomlraí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>/-py--all.
📦 Paquetes Java y Namespaces FQCN
- Soporte para declarar
package = "org.equipo.proyecto"ygroup_id = "org.equipo"enjolt.toml. - Generación automática del árbol de directorios canónico de Java:
src/main/java/org/equipo/proyecto/ysrc/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 Individualy🏢 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
- Linux:
- Instaladores de sistema:
.deb,.rpm,.msi,.exe,.dmg,.pkg. - Detección automática estática de
Main-Classy configuración mediante tabla[package]enjolt.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
jpackagey 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
v0.3.0 - Comando sync y Autoconfiguración de IDEs (VS Code / JDTLS)
Jolt v0.3.0 ⚡
Esta versión introduce el nuevo comando jolt sync y un sistema integral de autoconfiguración para Visual Studio Code, Cursor, Eclipse y el Java Language Server (JDTLS), garantizando que el autocompletado de Java y la detección de archivos TOML funcionen de forma instantánea.
🌟 Novedades y Mejoras
-
Nuevo comando
jolt sync:- Sincroniza todas las dependencias declaradas en
jolt.toml(producción y desarrollo). - Limpia de forma automática JARs huérfanos eliminados del manifiesto.
- Sincroniza y actualiza
jolt.lockcon hashes SHA-256 criptográficos. - Regenera todos los descriptores de entorno para el editor/IDE.
- Sincroniza todas las dependencias declaradas en
-
Autoconfiguración y Soporte de IDEs:
.vscode/settings.json: Asociación automática de sintaxis TOML (files.associationsparajolt.tomlyjolt.lock), configuración desourcePaths(src/main/java,src/test/java),referencedLibrariesyupdateBuildConfiguration: automatic..vscode/extensions.json: Recomendaciones inteligentes para el Java Extension Pack y Even Better TOML..project&.classpath: Generación de descriptores Eclipse que permiten que el Java Language Server (JDTLS) active IntelliSense, importaciones automáticas y análisis estático en tiempo real..gitignore: Plantilla estándar para ignorar binarios y carpetas de compilacióntarget/.
-
Sincronización en Tiempo Real:
- Los comandos
init,add,remove,installysyncmantienen actualizados los descriptores de IDE en cada operación. - El comando
jolt checkaudita la salud e integridad de la integración con el IDE.
- Los comandos
📦 Instalación / Actualización
cargo install --git https://github.com/Escobarq/jolt.gitv0.2.0 - Dev-Dependencies, Menú Interactivo y Soporte IDE
Jolt v0.2.0 ⚡
🚀 Novedades y Mejoras
-
Soporte Completo de
[dev-dependencies]:jolt installahora sincroniza y descarga tanto dependencias de producción (.jolt/modules/) como dependencias de desarrollo (.jolt/dev-modules/).- Nuevo flag
jolt add <dep> --dev(-D) para añadir librerías directamente a[dev-dependencies]. jolt remove <dep>remueve del manifiesto y limpia los.jarde ambos directorios.jolt checkdiagnostica por separado dependencias de producción y de desarrollo.
-
Aislamiento de Classpath y Bundling:
jolt build/jolt run: Classpath estricto de producción (.jolt/modules/).jolt build --standalone(Fat-JAR): Empaqueta únicamente dependencias de producción, evitando contaminar el binario final con librerías de prueba (JUnit, Mockito, etc.).jolt test: Construye el classpath combinando clases principales, dependencias de producción, dependencias de desarrollo y JUnit 5 Platform Launcher.
-
Detección Automática en Editores e IDEs:
jolt inityjolt installgeneran automáticamente.vscode/settings.jsonconjava.project.referencedLibrariesapuntando a.jolt/modules/y.jolt/dev-modules/.- Solución para que VS Code, Cursor y Language Servers Java detecten JUnit y todas las dependencias sin configuración manual.
-
Menú Interactivo en
jolt init:- Integración con
dialoguer. Al ejecutarjolt initsin argumentos, solicita el nombre del proyecto y despliega un menú navegable con flechas (↑/↓) para seleccionar entre las 6 plantillas disponibles. - Soporta modo no interactivo si se pasan argumentos por línea de comandos.
- Integración con
📦 Binarios
- Binario ejecutable compilado en Rust con optimizaciones de Release:
jolt(Linux x86_64).
v0.1.1
v0.1.0 - Initial Release
Jolt v0.1.0
Fast, lightweight package and dependency manager for Java built in native Rust.
Highlights & Features
- Fast Dependency Resolution: Real-time version discovery and transitive dependency tree resolution from Maven Central.
- Global Content Cache & Hardlinks: Shared storage in
~/.jolt/cache/v1/linked to projects via filesystem inodes. - Deterministic Lockfiles: Automatic
jolt.lockwith SHA-256 integrity checksums and strict CI/CD mode (jolt install --locked). - Project Scaffolding Templates: Initialize projects with
jolt init --template <minimal|cli|javafx|web>. - Standalone Fat-JAR Bundling: Self-contained executable JARs via
jolt build --standalone. - Integrated JUnit 5 Testing: Native test execution with live tree reporting using
jolt test. - Hot Reload / Watch Mode: Automatic recompilation and process restart with
jolt run --watch. - Static Resources: Automatic management for JavaFX
.fxml, configurations, and assets. - System Doctor & Diagnostics: Comprehensive environment validation with
jolt check.
Installation
Precompiled Binary (Linux x86_64)
# Extract and move to PATH
tar -xzf jolt-v0.1.0-linux-x86_64.tar.gz
chmod +x jolt
sudo mv jolt /usr/local/bin/
# Verify installation
jolt --version
jolt checkFrom Source
git clone https://github.com/Escobarq/jolt.git
cd jolt
cargo install --path .