Skip to content

Releases: Escobarq/jolt

Jolt v0.7.3

Choose a tag to compare

@Escobarq Escobarq released this 05 Oct 23:39

Jolt v0.7.3

  • Resolucion recursiva de dependencias Maven.
  • Nuevo comando jolt verify para 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

Choose a tag to compare

@Escobarq Escobarq released this 21 Sep 18:26

Feat: Add .tar.gz packaging support for Linux. Bump version to 0.7.2

v0.7.1 - Presets GraalVM en Plantillas y Especificaciones v0.8.0

Choose a tag to compare

@Escobarq Escobarq released this 06 Sep 02:18

⚡ 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

Choose a tag to compare

@Escobarq Escobarq released this 04 Sep 04:21

⚡ 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 en PATH (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+.
  • 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.
  • 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.
  • Sintaxis de configuración GraalVM en jolt.toml:
    • Nueva tabla [graalvm] (y [package.graalvm]) que permite configurar enabled, name, main_class, args, reflection_config y resources_config.
  • Compilación a binario nativo (jolt build --native):
    • Pipeline integrado que empaqueta el Fat-JAR optimizado e invoca native-image para generar un ejecutable autónomo ultra rápido en dist/.
  • Diagnóstico ampliado (jolt check):
    • Ahora audita la presencia de GraalVM Native Image (native-image) y detalla la versión detectada.

📦 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

Choose a tag to compare

@Escobarq Escobarq released this 30 Aug 22:29

⚡ 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 (.exe con NSIS): Instalador moderno (MUI2) con registro automático en la variable de entorno PATH, 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 check audita automáticamente la presencia de makensis (NSIS) y upx.
  • 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-name al 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

Choose a tag to compare

@Escobarq Escobarq released this 26 Aug 21:01

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

v0.3.0 - Comando sync y Autoconfiguración de IDEs (VS Code / JDTLS)

Choose a tag to compare

@Escobarq Escobarq released this 22 Aug 01:34

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

  1. 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.lock con hashes SHA-256 criptográficos.
    • Regenera todos los descriptores de entorno para el editor/IDE.
  2. Autoconfiguración y Soporte de IDEs:

    • .vscode/settings.json: Asociación automática de sintaxis TOML (files.associations para jolt.toml y jolt.lock), configuración de sourcePaths (src/main/java, src/test/java), referencedLibraries y updateBuildConfiguration: 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ón target/.
  3. Sincronización en Tiempo Real:

    • Los comandos init, add, remove, install y sync mantienen actualizados los descriptores de IDE en cada operación.
    • El comando jolt check audita la salud e integridad de la integración con el IDE.

📦 Instalación / Actualización

cargo install --git https://github.com/Escobarq/jolt.git

v0.2.0 - Dev-Dependencies, Menú Interactivo y Soporte IDE

Choose a tag to compare

@Escobarq Escobarq released this 18 Aug 16:46

Jolt v0.2.0 ⚡

🚀 Novedades y Mejoras

  • Soporte Completo de [dev-dependencies]:

    • jolt install ahora 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 .jar de ambos directorios.
    • jolt check diagnostica 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 init y jolt install generan automáticamente .vscode/settings.json con java.project.referencedLibraries apuntando 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 ejecutar jolt init sin 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.

📦 Binarios

  • Binario ejecutable compilado en Rust con optimizaciones de Release: jolt (Linux x86_64).

v0.1.1

Choose a tag to compare

@Escobarq Escobarq released this 18 Aug 15:40

Refactor: Extraer plantillas de código a carpeta externa (templates/)

v0.1.0 - Initial Release

Choose a tag to compare

@Escobarq Escobarq released this 16 Aug 00:24

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.lock with 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 check

From Source

git clone https://github.com/Escobarq/jolt.git
cd jolt
cargo install --path .