|
# Maintainer: Pekka Helenius <fincer89@hotmail.com>
|
|
|
|
pkgname=bookstore-project
|
|
packagetype=war
|
|
|
|
# Valid targets for Maven build: dev, prod
|
|
#
|
|
target='dev'
|
|
|
|
# Sensitive database credentials file. Please provide separately.
|
|
# NOTE: This file is bundled only when 'prod' profile is enabled
|
|
#
|
|
# Template file: bookstore/src/main/resources/database-prod.default.properties
|
|
#
|
|
prod_db_credentials_file="${PWD}/database-prod.properties"
|
|
|
|
# Skip compile time unit tests? 1 = skip; other values = do not skip
|
|
#
|
|
maven_skip_tests=1
|
|
|
|
# Compile unit test classes? 0 = do not compile; other values = compile
|
|
#
|
|
maven_tests_compile=0
|
|
|
|
packagename=Bookstore.${packagetype}
|
|
tomcat_ver=9
|
|
java_ver=8
|
|
|
|
pkgver=287.5d9097f
|
|
pkgrel=1
|
|
pkgdesc='Bookstore Java server example project'
|
|
arch=('any')
|
|
url='https://github.com/Fincer/java-bookstore'
|
|
license=('GPL')
|
|
depends=(
|
|
"tomcat${tomcat_ver}"
|
|
"mariadb"
|
|
"java-runtime>=${java_ver}"
|
|
)
|
|
makedepends=('maven' 'git')
|
|
source=(
|
|
"$pkgname::git+${url}.git"
|
|
"bookstore-tomcat.xml"
|
|
)
|
|
sha256sums=('SKIP'
|
|
'6a115dc9132cd04f5b740575612d6aeb744db8620e8249776dad8222ca917cbf')
|
|
|
|
pkgver() {
|
|
cd $pkgname
|
|
|
|
if [[ $(git describe) ]]; then
|
|
git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
|
|
else
|
|
echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD)
|
|
fi
|
|
|
|
}
|
|
|
|
prepare() {
|
|
cd $pkgname/bookstore
|
|
|
|
case ${target} in
|
|
dev|prod)
|
|
sed -r -i "s|^(.*spring\.profiles\.active[ ]*=[ ]*)(.*)$|\1$target|" src/main/resources/application.properties
|
|
;;
|
|
*)
|
|
echo "Invalid profile configuration.\n"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
if [[ ${target} == "prod" ]] && [[ -f ${prod_db_credentials_file} ]]; then
|
|
cp ${prod_db_credentials_file} src/main/resources/
|
|
fi
|
|
|
|
}
|
|
|
|
build() {
|
|
|
|
MAVEN_PARAMS=()
|
|
|
|
if [[ ${maven_skip_tests} -eq 1 ]]; then
|
|
MAVEN_PARAMS+=("-DskipTests")
|
|
fi
|
|
|
|
if [[ ${maven_tests_compile} -eq 0 ]]; then
|
|
tests_compile_boolean="true"
|
|
else
|
|
tests_compile_boolean="false"
|
|
fi
|
|
MAVEN_PARAMS+=(-Dmaven.test.skip=${tests_compile_boolean})
|
|
|
|
cd $pkgname/bookstore
|
|
mvn package ${MAVEN_PARAMS[*]}
|
|
}
|
|
|
|
package() {
|
|
cd $pkgname/bookstore
|
|
install -Dm0644 -t ${pkgdir}/opt/bookstore/ target/${packagename}
|
|
install -Dm0644 ../../bookstore-tomcat.xml ${pkgdir}/etc/tomcat${tomcat_ver}/Catalina/localhost/bookstore.xml
|
|
}
|