chore: import upstream snapshot with attribution
This commit is contained in:
Executable
+59
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Run the Java CLI directly
|
||||
# Usage: ./scripts/run-cli.sh [options] [input...]
|
||||
#
|
||||
# If no arguments: uses DEFAULT_ARGS
|
||||
# If arguments given: uses only the provided arguments
|
||||
#
|
||||
# Examples:
|
||||
# ./scripts/run-cli.sh # Use defaults
|
||||
# ./scripts/run-cli.sh -f markdown my.pdf # Custom args only
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
ROOT_DIR="$SCRIPT_DIR/.."
|
||||
JAR_DIR="$ROOT_DIR/java/opendataloader-pdf-cli/target"
|
||||
|
||||
# Defaults (used only when no arguments provided)
|
||||
DEFAULT_ARGS=("-f" "json,markdown,html,pdf" "-o" "$ROOT_DIR/samples/temp" "$ROOT_DIR/samples/pdf")
|
||||
|
||||
# Check if Java is installed
|
||||
command -v java >/dev/null || { echo "Error: java not found"; exit 1; }
|
||||
|
||||
# Find the shaded JAR (excludes original-* and *-sources.jar)
|
||||
find_jar() {
|
||||
find "$JAR_DIR" -maxdepth 1 -name "opendataloader-pdf-cli-*.jar" \
|
||||
! -name "original-*" \
|
||||
! -name "*-sources.jar" \
|
||||
! -name "*-javadoc.jar" \
|
||||
2>/dev/null | head -1
|
||||
}
|
||||
|
||||
JAR_PATH=$(find_jar)
|
||||
|
||||
# Build JAR if it doesn't exist
|
||||
if [ -z "$JAR_PATH" ] || [ ! -f "$JAR_PATH" ]; then
|
||||
echo "JAR not found. Building..."
|
||||
cd "$ROOT_DIR/java"
|
||||
mvn -B package -DskipTests -q
|
||||
cd "$ROOT_DIR"
|
||||
JAR_PATH=$(find_jar)
|
||||
fi
|
||||
|
||||
if [ -z "$JAR_PATH" ]; then
|
||||
echo "Error: Could not find CLI JAR file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Use defaults if no arguments, otherwise use provided arguments only
|
||||
if [ $# -eq 0 ]; then
|
||||
ARGS=("${DEFAULT_ARGS[@]}")
|
||||
else
|
||||
ARGS=("$@")
|
||||
fi
|
||||
|
||||
# Run the CLI. Headless flags suppress the macOS Dock icon / focus theft when
|
||||
# AWT/ImageIO/PDFBox initialize. Safe on all OSes — the CLI never opens a UI.
|
||||
java -Djava.awt.headless=true -Dapple.awt.UIElement=true -jar "$JAR_PATH" "${ARGS[@]}"
|
||||
Reference in New Issue
Block a user