# Maintainer: Pekka Helenius 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=('Custom') 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 }