COMMENT=	mobile device management server

V=		5.37.4
GH_ACCOUNT=	h-mdm
GH_PROJECT=	hmdm-server
GH_TAGNAME=	v${V}

SITES.dep=	https://www.pyr3x.com/mirrors/
DISTFILES.dep=	hmdm-server-${V}-vendor.tar.gz

CATEGORIES=	misc

HOMEPAGE=	https://h-mdm.com/

MAINTAINER=	Chaz Kettleson <chaz@pyr3x.com>

# Apache-2.0
PERMIT_PACKAGE=	Yes

BUILD_DEPENDS=	devel/maven
BUILD_DEPENDS+=	lang/node

RUN_DEPENDS=	databases/postgresql
RUN_DEPENDS+=	www/tomcat/v9

NO_TEST=	Yes

OFFLINE=	--offline
HMDM_BASE_DIR=	/var/tomcat/work/hmdm-server/
HMDM_APK_VER=	5.19
HMDM_APK=	hmdm-${HMDM_APK_VER}-os.apk

do-build:
	cd ${WRKSRC}/server/webtarget && \
	HOME=${WRKDIR} npm ${OFFLINE} install && \
	HOME=${WRKDIR} npx ${OFFLINE} grunt resolve && \
	cd ${WRKSRC} && \
	cp ${FILESDIR}/build.properties server/build.properties && \
	mvn ${OFFLINE} -Dmaven.repo.local=${WRKDIR}/.m2 -DskipTests package

do-install:
	${INSTALL_DATA_DIR} ${PREFIX}/share/hmdm-server
	cat ${WRKSRC}/install/log4j_template.xml \
		| sed "s|_BASE_DIRECTORY_|${HMDM_BASE_DIR}|g" \
		> ${WRKDIR}/log4j-hmdm-server.xml
	${INSTALL_DATA} ${WRKDIR}/log4j-hmdm-server.xml \
		${PREFIX}/share/hmdm-server/
	cat ${WRKSRC}/install/sql/hmdm_init.en.sql \
		| sed "s|_HMDM_BASE_|${HMDM_BASE_DIR}|g; \
		s|_HMDM_VERSION_|${HMDM_APK_VER}|g; \
		s|_HMDM_APK_|${HMDM_APK}|g;" \
		> ${WRKDIR}/hmdm_init.en.sql
	${INSTALL_DATA} ${WRKDIR}/hmdm_init.en.sql \
		${PREFIX}/share/hmdm-server/
	${INSTALL_DATA} ${WRKSRC}/server/target/context.xml \
		${PREFIX}/share/hmdm-server/ROOT.xml
	${INSTALL_DATA} ${WRKSRC}/server/target/launcher.war \
		${PREFIX}/share/hmdm-server/ROOT.war

vendor:
	${MAKE} OFFLINE= build
	cd ${WRKDIR} && \
		tar czf hmdm-server-${V}-vendor.tar.gz .cache .m2 .npm

.include <bsd.port.mk>
