# Maintainer: Guillaume ALAUX <guillaume@archlinux.org>
pkgname=antlr4
pkgver=4.2.1
pkgrel=1
pkgdesc='Parser generator for reading, processing, executing, or translating structured text or binary files'
arch=('any')
url='http://www.antlr.org/index.html'
license=('BSD')
depends=('java-environment>=6')
makedepends=('maven' 'openjdk7-src' 'unzip')
provides=("antlr=${pkgver}")
source=(https://github.com/${pkgname:0:-1}/${pkgname}/archive/${pkgver}.zip
        bin_antlr4
        bin_grun)
sha256sums=('8b572c221f8d746ef49927cf0edef946e335fe2ce8b4b95481919cee8f004421'
            'c4468528e55d185794fd9e2c14826983d8d39b2be16a0bef7180535f3a8b3b28'
            'e51d97bc6f6e711f1aad826bc6da950e59bfbd6c9cf09e8c085988b17baea5cd')

prepare() {
  unzip -o /usr/lib/jvm/java-7-openjdk/src.zip -d "${srcdir}"/jdk_src
  export M2_REPO="${srcdir}"/m2_repo
  mkdir -p "${M2_REPO}"
}

build() {
  cd "${srcdir}/${pkgname}-${pkgver}/tool"
  mvn -Dmaven.repo.local="${M2_REPO}" \
      -DJDK_SOURCE_ROOT="${srcdir}"/jdk_src \
      -Dbootclasspath.compile=${JAVA_HOME}/jre/lib/rt.jar \
      -Duser.name='Arch Linux' \
      -Psonatype-oss-release \
      -Dmaven.javadoc.skip=true \
      -Dmaven.test.skip=true \
      clean package
}

check() {
  cd "${srcdir}/${pkgname}-${pkgver}/tool"
  mvn -Dmaven.repo.local="${M2_REPO}" \
      -DJDK_SOURCE_ROOT="${srcdir}"/jdk_src \
      -Dbootclasspath.testCompile=${JAVA_HOME}/jre/lib/rt.jar \
      test
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  install -D tool/target/${pkgname}-${pkgver}-complete.jar \
             "${pkgdir}"/usr/share/java/${pkgname:0:-1}-${pkgver}-complete.jar
  ln -s antlr-${pkgver}-complete.jar "${pkgdir}"/usr/share/java/antlr-complete.jar
  install -D "${srcdir}"/bin_antlr4 "${pkgdir}"/usr/bin/antlr4
  install -D "${srcdir}"/bin_grun   "${pkgdir}"/usr/bin/grun
  install -D LICENSE.txt "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE.txt
}
