summaryrefslogtreecommitdiff
path: root/java.mvn.mk
diff options
context:
space:
mode:
Diffstat (limited to 'java.mvn.mk')
-rw-r--r--java.mvn.mk21
1 files changed, 19 insertions, 2 deletions
diff --git a/java.mvn.mk b/java.mvn.mk
index 7cdc664..1f144a3 100644
--- a/java.mvn.mk
+++ b/java.mvn.mk
@@ -16,6 +16,7 @@ TEST_CLASSES_DIR = ${BUILD_DIR}/test-classes
SRC_PATH = src
MAIN_SRC_PATH = ${SRC_PATH}/main/java
TEST_SRC_PATH = ${SRC_PATH}/test/java
+LIB_DIR = ${BUILD_DIR}/libs
JAR = ${BUILD_DIR}/${ARTIFACT_ID}-${VERSION}.jar
MVN_FLAGS =
@@ -32,7 +33,23 @@ TEST_OBJ != echo ${TEST_SRC} | sed -E 's|${TEST_SRC_PATH}|${TEST_CLASSES_DIR}
DBG_PORT = 1044
DBG_FLAGS = -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=${DBG_PORT}
-all: .classpath ${MAIN_OBJ} ${TEST_OBJ}
+all: .classpath ${MAIN_OBJ} ${TEST_OBJ} ${LIB_DIR}
+
+dist: ${LIB_DIR} ${BUILD_DIR}/dist/${NAME}.sh
+
+${BUILD_DIR}/dist:
+ @mkdir -p ${BUILD_DIR}/dist
+ @cp -R ${CLASSES_DIR}/* ${BUILD_DIR}/dist/
+ @cp -R ${LIB_DIR} ${BUILD_DIR}/dist/
+
+${BUILD_DIR}/dist/${NAME}.sh: ${BUILD_DIR}/dist .main-class
+ @echo '#!/bin/sh' > $@
+ @echo '' >> $@
+ @echo 'BASEDIR=$$(dirname $$(realpath $$0))' >> $@
+ @echo 'java -classpath $$BASEDIR:$$BASEDIR/libs/* '`cat .main-class`' $$@' >> $@
+ @echo '' >> $@
+ @chmod +x $@
+
run: .classpath .main-class
${JAVA} `cat .main-class` ${ARGS}
@@ -43,7 +60,7 @@ debug: .classpath .main-class
debugger:
${JDB} -sourcepath ${MAIN_SRC_PATH} -attach ${DBG_PORT}
-libs:
+${LIB_DIR}: pom.xml
${MVN} install dependency:copy-dependencies -DexcludeScope=provided -DoutputDirectory=${BUILD_DIR}/libs
.main-class: