blob: 256fe6b410b724f6a7e10cbb8fe4d99355d1a949 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
# Maintainer (arch): Guillaume ALAUX <Guillaume at Arch Linux dot org>
# Rationale: Arch version isn't built from source.
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
pkgname=junit
_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=('Apache' 'EPL')
depends=('java-runtime' 'java-hamcrest')
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}-r${pkgver}"
mkdir -p "${srcdir}/dist"
for artifact in ${_artifacts[@]}; do
mkdir -p "build/${artifact}/classes"
mkdir -p "source/${artifact}/"
done
}
build() {
CLASSPATH=""
cd "${srcdir}/${_pkgname}-r${pkgver}"
CLASSPATH="${CLASSPATH}:/usr/share/java/apiguardian.jar"
CLASSPATH="${CLASSPATH}:/usr/share/java/opentest4j.jar"
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}-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 -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}"
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"
}
|