docs: Update README

This commit is contained in:
Serge Guzik 2019-02-11 18:19:59 +02:00
parent 5bc30377de
commit c552c5a19d

View File

@ -1,16 +1,29 @@
# Warp4j # Warp4j
Turn Java application into self-contained executable. Turn JAR (java application archive) into self-contained executable.
## Features ## Features
- automatically downloads JDKs - automatically downloads java runtimes
- creates custom runtimes optimized for your application - creates runtimes optimized for your application
- creates self-contained binaries for Linux, MacOS and Windows using [warp-packer](https://github.com/dgiagio/warp) - creates self-contained binaries for Linux, MacOS and Windows using [warp-packer](https://github.com/dgiagio/warp)
## TL;DR
Just put both `warp4j` and `warp-packer` somewhere in your PATH and run `warp4j app.jar`.
## Install ## Install
TODO First install [warp-packer](https://github.com/dgiagio/warp/releases) and ensure other common tools available: `curl`, `awk`, `sed`. Then install `warp4j` like this:
```bash
$ LOCATION=/usr/local/bin \
LINK=https://raw.githubusercontent.com/guziks/warp4j/master/warp4j \
TEMP_LOCATION=/tmp/warp4j \
curl -fsSL -o $TEMP_LOCATION $LINK && \
chmod 755 $TEMP_LOCATION && \
sudo mv $TEMP_LOCATION $LOCATION/warp4j
```
## Usage ## Usage
@ -29,23 +42,50 @@ warped
$ ls warped $ ls warped
my-app-linux my-app-linux
my-app.linux-x64.tar.gz my-app-linux-x64.tar.gz
my-app-osx my-app-macos
my-app.osx-x64.tar.gz my-app-macos-x64.tar.gz
my-app-windows.exe my-app-windows.exe
my-app.windows-x64.zip my-app-windows-x64.zip
``` ```
See help: See help:
```bash ```bash
$ wapr4j --help $ wapr4j --help
Usage: warp4j [options] <app.jar>
Turn JAR (java application archive) into self-contained executable
Options:
-j, --java-version <version>
override JDK/JRE version
examples: "11", "11.0", "11.0.2", "11.0.2+9"
default: 11
--no-optimize use JRE instead of optimized JDK
by default jdeps and jlink are used to create
optimized JDK for the partiular jar,
JRE is always used for java 8
--pull check if more recent JDK/JRE distro is available
by default latest cached version that matches
"--java-version" is used
--target-linux create binary for Linux
--target-macos create binary for macOS
--target-windows create binary for Windows
if no targets specified then create for all
--jvm-impl jvm implementation: hotspot or openj9
default: hotspot
--jvm-options <options>
passed to java like this:
"java <options> -jar <jar file>"
-h, --help show this help
``` ```
## Cache Location ## Cache Location
Downloaded JDKs and prepared bundles are here: Downloaded runtimes and prepared bundles are here:
```bash - Linux: `$HOME/.local/share/warp4j`
$HOME/.local/share/warp4j/ - macOS: `$HOME/Library/Application Support/warp4j`
``` - Windows: `%LOCALAPPDATA%\warp4j`