diff options
author | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-06-22 22:31:09 +0200 |
---|---|---|
committer | Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> | 2022-11-10 03:41:34 +0100 |
commit | 364febda17cb3b3eb6a4e476b701e08954ba1b72 (patch) | |
tree | 998a4f41fcdcaeffd9fe6b827f56af6a75756e3b | |
parent | dc25a72bc76b5966f3e138004a5d7c6cf895fec4 (diff) |
WIP: libre: junit: update to 5.9.1GNUtoo/java/log4j
TODO:
- make it ship at least one jar (we only have symlinks now)
- test it with building common.io
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
-rw-r--r-- | libre/junit/PKGBUILD | 126 |
1 files changed, 99 insertions, 27 deletions
diff --git a/libre/junit/PKGBUILD b/libre/junit/PKGBUILD index 6e0bf4c08..256fe6b41 100644 --- a/libre/junit/PKGBUILD +++ b/libre/junit/PKGBUILD @@ -3,48 +3,120 @@ # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> pkgname=junit -pkgver=4.12 -pkgrel=2.parabola1 +_pkgname=junit5 +pkgver=5.9.1 +pkgrel=1.parabola1 pkgdesc='Simple JVM framework to write repeatable tests' arch=('any') url='http://www.junit.org/' -license=('EPL') +license=('Apache' 'EPL') depends=('java-runtime' 'java-hamcrest') -makedepends=('apache-ant' 'jh') -source=("https://github.com/junit-team/${pkgname}/archive/r${pkgver}.tar.gz" - "build.xml") -sha512sums=('ba612598fa6c328e8f4bbea3afda08b459a110837ca3805a62e811535f7bca8d04509f8fe51a413c7bc855fccee35d6946c9eece4dd01726d12454c002a4de32' - '0ddf2f8ad2b42b427198227be323335eef16a8f189bbff8c8b0a6dc28fea2b6c47c847667f3c745ee696c79f5690424b74be8b0de42e9f89f4b93e403cb679a1') +makedepends=('apache-ant' 'apiguardian' 'jh' 'opentest4j') +source=("https://github.com/junit-team/${_pkgname}/archive/r${pkgver}.tar.gz") +sha512sums=('f70660723bf726505270b065943637cc2e6c8416cadd1f0627da2e7010dd5f3e5ebf3de8db0aa7e9a472ca3bb1937e2afec92f63b7027420c788a30861aafe9e') + +_artifacts=(junit-platform-commons + junit-platform-suite-api + junit-platform-engine + junit-jupiter-api + junit-jupiter-engine # depends on junit-jupiter-api + # junit-platform-launcher # depends on junit-platform-engine and org.opentest4j.reporting.events.api + # junit-platform-reporting # depends on junit-platform-engine and junit-platform-launcher + # junit-platform-console # depends on junit-platform-engine and picocli.CommandLine + # junit-platform-jfr # depends on junit-platform-engine and junit-platform-launcher + # junit-platform-runner # depends on junit-platform-engine and junit-platform-suite-commons + # junit-platform-suite-commons # depends on junit-platform-suite-engine and junit-platform-launcher + # junit-jupiter-params # depends on junit-jupiter-api and com.univocity.parsers.csv + # junit-platform-suite-engine # depends on junit-platform-engine and org.junit.platform.suite.commons + # junit-platform-testkit # depends on junit-platform-engine and org.assertj.core.api + # junit-jupiter-migrationsupport # depends on junit-jupiter-api and org.junit.Ignore + # junit-vintage-engine # depends on junit-platform-runner + # junit-bom # no src/main/java + # junit-jupiter # no src/main/java + # junit-platform-console-standalone # no src/main/java + # junit-platform-suite # no src/main/java + ) + +_artifact_package_name() { + artifact="$1" + # remove "^junit-" + artifact="$(echo ${artifact} | sed 's#^junit-##')" + left="$(echo ${artifact} | sed 's#-.*##')" + right="$(echo ${artifact} | sed 's#.*-##')" + echo "org.${pkgname}.${left}.${right}" +} prepare() { - cd "${srcdir}/${pkgname}4-r${pkgver}" - rm -rv lib/*.jar - mv ../build.xml . - ln -sf /usr/share/java/hamcrest-core.jar lib/hamcrest-core-1.3.jar + cd "${srcdir}/${_pkgname}-r${pkgver}" + + mkdir -p "${srcdir}/dist" + for artifact in ${_artifacts[@]}; do + mkdir -p "build/${artifact}/classes" + mkdir -p "source/${artifact}/" + done } build() { - cd "${srcdir}/${pkgname}4-r${pkgver}" + CLASSPATH="" + + cd "${srcdir}/${_pkgname}-r${pkgver}" + + CLASSPATH="${CLASSPATH}:/usr/share/java/apiguardian.jar" + CLASSPATH="${CLASSPATH}:/usr/share/java/opentest4j.jar" - ant dist + for artifact in ${_artifacts[@]}; do + echo "==> Building ${artifact}" + javac \ + -classpath "${CLASSPATH}" \ + -d "build/${artifact}/classes" \ + -encoding UTF-8 \ + $(find "${artifact}/src/main/java" -name \*.java) + + jar -cvf \ + "${srcdir}/dist/${pkgname}.${artifact}.jar" \ + -C "build/${artifact}/classes" . + + # junit-platform-suite-api fails with: + # Loading source files for package org.junit.platform.api... + # javadoc: error - No source files for package org.junit.platform.api + # javadoc \ + # -classpath "${CLASSPATH}" \ + # -d "build/javadoc" \ + # -encoding UTF-8 \ + # -sourcepath "${artifact}/src/main/java" \ + # "$(_artifact_package_name ${artifact})" + + export CLASSPATH="${CLASSPATH}:${srcdir}/dist/${pkgname}.${artifact}.jar" + done } package() { - cd "${srcdir}/${pkgname}4-r${pkgver}" + cd "${srcdir}/${_pkgname}-r${pkgver}" + + # Install license files + install -Dm644 \ + LICENSE.md \ + LICENSE-notice.md \ + -t "${pkgdir}/usr/share/licenses/${pkgname}/" + + install -Dm644 \ + junit-jupiter-params/LICENSE-univocity-parsers.md \ + -t "${pkgdir}/usr/share/licenses/${pkgname}/junit-jupiter-params/" - # Install license file - install -Dm644 LICENSE-junit.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt" + install -Dm644 \ + junit-platform-console/LICENSE-picocli.md \ + -t "${pkgdir}/usr/share/licenses/${pkgname}/junit-platform-console/" - # Install documentation - install -d "${pkgdir}/usr/share/doc/${pkgname}" - cp -r "${pkgname}${pkgver}/javadoc" "${pkgdir}/usr/share/doc/${pkgname}" + # Install documentation + # install -d "${pkgdir}/usr/share/doc/${pkgname}" + # cp -r "${pkgname}${pkgver}/javadoc" "${pkgdir}/usr/share/doc/${pkgname}" - export DESTDIR="$pkgdir" - jh mvn-install ${pkgname} ${pkgname} ${pkgver} \ - pom.xml \ - "${pkgname}${pkgver}/${pkgname}-${pkgver}.jar" \ - "${pkgname}.jar" + export DESTDIR="$pkgdir" + jh mvn-install ${pkgname} ${pkgname} ${pkgver} \ + pom.xml \ + "${pkgname}${pkgver}/${pkgname}-${pkgver}.jar" \ + "${pkgname}.jar" - ln -s "/usr/share/java/${pkgname}.jar" \ - "${pkgdir}/usr/share/java/${pkgname}-${pkgver}.jar" + ln -s "/usr/share/java/${pkgname}.jar" \ + "${pkgdir}/usr/share/java/${pkgname}-${pkgver}.jar" } |