summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Iezzi <aiezzi@alessandroiezzi.it>2024-03-12 19:02:01 +0100
committerAlessandro Iezzi <aiezzi@alessandroiezzi.it>2024-03-12 19:02:01 +0100
commit7b00d3dc51b9209874107af1a6ec506c25a66474 (patch)
treedc35db2ab09142a394cc6f678452f4ce337f5f0f
parentc0c5c8dfd3a02a1513e60f5e737804e34f2059d4 (diff)
downloadmk-7b00d3dc51b9209874107af1a6ec506c25a66474.tar.gz
mk-7b00d3dc51b9209874107af1a6ec506c25a66474.zip
Add target to generate dist directory
-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: