|
|
- # 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=('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
- }
|