summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 534d6d189907af55ab88cf0fcfba57988fb30350 (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
# Maintainer: David Pugnasse <david.pugnasse@gmail.com>
pkgname=pmd
pkgver=5.2.3
pkgrel=1
pkgdesc="A java source code scanner for detecting possible bugs, dead code, overcomplicated expressions and more"
arch=('any')
url="http://pmd.sourceforge.net/"
license=('custom:BSD-style' 'Apache')
depends=('java-environment')
makedepends=('maven' 'unzip')
checkdepends=('maven')
source=(
    "http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/$pkgname-src-$pkgver.zip"
    run.patch
)
md5sums=(
    'c468e0f3e2ec85bd6decda5a4570e4ec'
    'd565ff42cfcb1110dc74c504b9a619ec'
)
_M2_REPO=repo

prepare() {
    test -d "$_M2_REPO" || mkdir "$_M2_REPO"
    cd "$pkgname-src-$pkgver"
    mvn -Dmaven.repo.local="$srcdir/$_M2_REPO" \
        -Dmaven.test.skip=true \
        clean \
        validate

    patch -p1 -d "$pkgname-dist/src/main/scripts" < ../run.patch
}

build() {
    cd "$pkgname-src-$pkgver"
    mvn -Dmaven.repo.local="$srcdir/$_M2_REPO" \
        -Dmaven.test.skip=true \
        compile

    for BIN in bgastviewer cpd cpdgui pmd pmd-designer; do
        printf "#%c/bin/sh\nexec /usr/bin/$pkgname-run $BIN \"\$@\"\n" ! > "../$BIN"
    done
}

check() {
    cd "$pkgname-src-$pkgver"
    mvn -Dmaven.repo.local="$srcdir/$_M2_REPO" \
        test
}

package() {
    cd "$pkgname-src-$pkgver"
    mvn -Dmaven.repo.local="$srcdir/$_M2_REPO" \
        -Dmaven.test.skip=true \
        verify
    unzip -o "$pkgname-dist/target/$pkgname-bin-$pkgver.zip" -d "$srcdir"

    cd "$srcdir/$pkgname-bin-$pkgver"
    install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
    install -Dm755 bin/run.sh "$pkgdir/usr/bin/$pkgname-run"
    for BIN in bgastviewer cpd cpdgui pmd pmd-designer; do
        install -Dm755 "../$BIN" "$pkgdir/usr/bin/$BIN"
    done
    cd lib
    for JAR in *.jar; do
        install -Dm644 "$JAR" "$pkgdir/usr/share/java/$pkgname/$JAR"
    done
}