summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames An2018-03-17 12:06:35 -0400
committerJames An2018-03-17 12:06:35 -0400
commit591e5679fc2460acb698dd17fe47f8eca44c80af (patch)
tree55415c834968d3b41cabb44d7dd4787d86aa65f8
parentd282bb6786b2b56e815d3d7c466e3e1d979c025b (diff)
downloadaur-591e5679fc2460acb698dd17fe47f8eca44c80af.tar.gz
Updated to the latest upstream binary release and cleaned up the PKGBUILD.
Added custom shell scripts instead of patching the bundled scripts as suggested by the Java packaging guidelines.
-rw-r--r--.SRCINFO20
-rw-r--r--PKGBUILD52
-rw-r--r--pmdapp29
3 files changed, 59 insertions, 42 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d78ade406bf2..b29f7e6b5503 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,19 +1,19 @@
pkgbase = pmd-bin
- pkgdesc = A java source code scanner for detecting possible bugs, dead code, overcomplicated expressions and more
- pkgver = 5.2.3
- pkgrel = 2
- url = http://pmd.sourceforge.net/
+ pkgdesc = An extensible cross-language static code analyzer.
+ pkgver = 6.1.0
+ pkgrel = 1
+ url = http://pmd.github.io
arch = any
- license = custom:BSD-style
+ license = BSD
license = Apache
makedepends = unzip
depends = java-environment
- provides = pmd
+ provides = pmd=6.1.0
conflicts = pmd
- source = http://sourceforge.net/projects/pmd/files/pmd/5.2.3/pmd-bin-5.2.3.zip
- source = run.patch
- md5sums = b66632f523cbeef93dd3c820f7007a4a
- md5sums = 764732c9d41b5f2d7d15af1f7f819f27
+ source = https://github.com/pmd/pmd/releases/download/pmd_releases/6.1.0/pmd-bin-6.1.0.zip
+ source = pmdapp
+ md5sums = 566855f2010cfd6aa3a4957d00183197
+ md5sums = 7026fc0d1d333c8c2728ed8d9ca4f453
pkgname = pmd-bin
diff --git a/PKGBUILD b/PKGBUILD
index c30a6c383ed8..e46d5781f8ed 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,46 +1,34 @@
# Maintainer: James An <james@jamesan.ca>
# Contributor: David Pugnasse <david.pugnasse@gmail.com>
-_pkgname=pmd
-pkgname="$_pkgname-bin"
-pkgver=5.2.3
-pkgrel=2
-pkgdesc="A java source code scanner for detecting possible bugs, dead code, overcomplicated expressions and more"
+pkgname="pmd-bin"
+_pkgname=${pkgname%-bin}
+pkgver=6.1.0
+pkgrel=1
+pkgdesc="An extensible cross-language static code analyzer."
arch=('any')
-url="http://pmd.sourceforge.net/"
-license=('custom:BSD-style' 'Apache')
+url="http://pmd.github.io"
+license=('BSD' 'Apache')
depends=('java-environment')
makedepends=('unzip')
-provides=("$_pkgname")
+provides=("$_pkgname=$pkgver")
conflicts=("$_pkgname")
-source=(
- "http://sourceforge.net/projects/$_pkgname/files/$_pkgname/$pkgver/$_pkgname-bin-$pkgver.zip"
- run.patch
-)
-md5sums=(
- 'b66632f523cbeef93dd3c820f7007a4a'
- '764732c9d41b5f2d7d15af1f7f819f27'
-)
-
-prepare() {
- patch -p1 -d "$_pkgname-bin-$pkgver/bin" < run.patch
-}
-
-build() {
- for BIN in bgastviewer cpd cpdgui pmd pmd-designer; do
- printf "#%c/bin/sh\nexec /usr/bin/$_pkgname-run $BIN \"\$@\"\n" ! > "$BIN"
- done
-}
+source=("https://github.com/$_pkgname/$_pkgname/releases/download/${_pkgname}_releases/$pkgver/$pkgname-$pkgver.zip"
+ pmdapp)
+md5sums=('566855f2010cfd6aa3a4957d00183197'
+ '7026fc0d1d333c8c2728ed8d9ca4f453')
package() {
cd "$_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"
+
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ for app in pmd-bgastviewer pmd-cpd pmd-cpdgui pmd-designer pmd-designerold pmd; do
+ install -Dm755 "../pmdapp" "$pkgdir/usr/bin/$app"
done
+
cd lib
- for JAR in *.jar; do
- install -Dm644 "$JAR" "$pkgdir/usr/share/java/$_pkgname/$JAR"
+ for file in *.jar; do
+ install -Dm644 "$file" "$pkgdir/usr/share/java/$pkgname/$file"
done
}
diff --git a/pmdapp b/pmdapp
new file mode 100644
index 000000000000..1bd05e8fc1ba
--- /dev/null
+++ b/pmdapp
@@ -0,0 +1,29 @@
+#!/usr/bin/env sh
+
+app=$(basename $0)
+case "$app" in
+ 'pmd')
+ readonly class='net.sourceforge.pmd.PMD'
+ ;;
+ 'pmd-cpd')
+ readonly class='net.sourceforge.pmd.cpd.CPD'
+ ;;
+ 'pmd-designer')
+ readonly class='net.sourceforge.pmd.util.fxdesigner.Designer'
+ ;;
+ 'pmd-designerold')
+ readonly class='net.sourceforge.pmd.util.designer.Designer'
+ ;;
+ 'pmd-bgastviewer')
+ readonly class='net.sourceforge.pmd.util.viewer.Viewer'
+ ;;
+ 'pmd-cpdgui')
+ readonly class='net.sourceforge.pmd.cpd.GUI'
+ ;;
+esac
+
+for file in /usr/share/java/pmd-bin/*.jar; do
+ CP="$CP:$file"
+done
+
+exec /usr/bin/java -cp "$CP" "$class" "$@"