16 lines
576 B
Bash
16 lines
576 B
Bash
#!/usr/bin/env bash
|
|
|
|
# Compile scala classes into a jar file
|
|
scalac "$@" -d out.jar
|
|
|
|
# Create the Manifest and include scala lib jars:
|
|
# NOTE: - entry point will only consider @main and App traits from the main file
|
|
# - scala lib jars will be added to the class path in order to run the jar properly
|
|
echo "Main-Class: $(grep -oP '\@main\s+def\s+\K[a-zA-Z][a-zA-Z0-9]*|object\s+\K[a-zA-Z][a-zA-Z0-9]*(?=\s+extends\s+App)' $1)
|
|
Class-Path: $(echo $JAVA_HOME/lib/*.jar | sed 's/\s/\n /g')
|
|
|
|
" > manifest.txt
|
|
|
|
# Update the jar with the manifest
|
|
jar ufm out.jar manifest.txt
|