#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" SRC_ROOT="$ROOT_DIR/src" BUILD_ROOT="$ROOT_DIR/build" CLASSES_ROOT="$BUILD_ROOT/classes" JAR_PATH="$BUILD_ROOT/order-service-demo.jar" MANIFEST_PATH="$BUILD_ROOT/manifest.mf" mkdir -p "$CLASSES_ROOT" find "$SRC_ROOT" -name '*.java' > "$BUILD_ROOT/sources.txt" javac -encoding UTF-8 -d "$CLASSES_ROOT" @"$BUILD_ROOT/sources.txt" printf 'Main-Class: demo.orderservice.OrderServiceApplication\n' > "$MANIFEST_PATH" jar cfm "$JAR_PATH" "$MANIFEST_PATH" -C "$CLASSES_ROOT" . echo "$JAR_PATH"