summaryrefslogtreecommitdiff
path: root/libre/junit/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/junit/PKGBUILD')
-rw-r--r--libre/junit/PKGBUILD126
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"
}