git: df0a4276fc4e - main - devel/pmd: update 6.53.0 → 7.3.0 and take maintainership

From: Vladimir Druzenko <vvd_at_FreeBSD.org>
Date: Sun, 21 Jul 2024 22:58:48 UTC
The branch main has been updated by vvd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=df0a4276fc4e9741ca73772519bbea2349441da9

commit df0a4276fc4e9741ca73772519bbea2349441da9
Author:     gatekeeper <tiago.gasiba@gmail.com>
AuthorDate: 2024-07-21 22:47:12 +0000
Commit:     Vladimir Druzenko <vvd@FreeBSD.org>
CommitDate: 2024-07-21 22:47:12 +0000

    devel/pmd: update 6.53.0 → 7.3.0 and take maintainership
    
    Migration from 6.x to 7.x:
    https://docs.pmd-code.org/pmd-doc-7.0.0/pmd_userdocs_migrating_to_pmd7.html
    
    Chagelogs:
    https://github.com/pmd/pmd/releases/tag/pmd_releases/6.54.0
    https://github.com/pmd/pmd/releases/tag/pmd_releases/6.55.0
    https://github.com/pmd/pmd/releases/tag/pmd_releases/7.0.0-rc1
    https://github.com/pmd/pmd/releases/tag/pmd_releases/7.0.0-rc2
    https://github.com/pmd/pmd/releases/tag/pmd_releases/7.0.0-rc3
    https://github.com/pmd/pmd/releases/tag/pmd_releases/7.0.0-rc4
    https://github.com/pmd/pmd/releases/tag/pmd_releases/7.0.0
    https://github.com/pmd/pmd/releases/tag/pmd_releases/7.1.0
    https://github.com/pmd/pmd/releases/tag/pmd_releases/7.2.0
    https://github.com/pmd/pmd/releases/tag/pmd_releases/7.3.0
    
    PR:     280379
---
 devel/pmd/Makefile            |  27 ++++++----
 devel/pmd/distinfo            |   6 +--
 devel/pmd/files/patch-bin_pmd |  79 ++++++++++++++++++++++++++++
 devel/pmd/pkg-plist           | 117 ++++++++++++++++++++++++++++--------------
 4 files changed, 177 insertions(+), 52 deletions(-)

diff --git a/devel/pmd/Makefile b/devel/pmd/Makefile
index b37fdf3cb57c..626946ff6682 100644
--- a/devel/pmd/Makefile
+++ b/devel/pmd/Makefile
@@ -1,31 +1,36 @@
 PORTNAME=	pmd
-PORTVERSION=	6.53.0
+PORTVERSION=	7.3.0
 CATEGORIES=	devel java
-MASTER_SITES=	SF
-DISTNAME=	${PORTNAME}-bin-${PORTVERSION}
+MASTER_SITES=	https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${PORTNAME}_releases/${DISTVERSION}/
+DISTNAME=	${PORTNAME}-dist-${DISTVERSION}-bin
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	tiago.gasiba@gmail.com
 COMMENT=	Static analysis tool for Java source code
-WWW=		http://pmd.sourceforge.net/
+WWW=		https://pmd.github.io/
 
 LICENSE=	APACHE20 BSD4CLAUSE
 LICENSE_COMB=	dual
+LICENSE_FILE=	${WRKSRC}/LICENSE
 
 USES=		cpe zip
-
 CPE_VENDOR=	pmd_project
 USE_JAVA=	yes
-NO_BUILD=	yes
+
 DATADIR=	${JAVASHAREDIR}/${PORTNAME}
+NO_ARCH=	yes
+NO_BUILD=	yes
+WRKSRC=		${WRKDIR}/${PORTNAME}-bin-${DISTVERSION}
 PLIST_SUB+=	PORTVERSION=${PORTVERSION}
 
 post-patch:
-	@${REINPLACE_CMD} -e 's|#!/bin/bash|#!/bin/sh|' -e 's|function||' \
-		-e 's|LIB_DIR=$$(pwd -P)|LIB_DIR=${DATADIR}|' ${WRKSRC}/bin/run.sh
+	@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' ${WRKSRC}/bin/${PORTNAME}
 
 do-install:
-	${INSTALL_SCRIPT} ${WRKSRC}/bin/run.sh ${STAGEDIR}${PREFIX}/bin/pmd
-	@${MKDIR} ${STAGEDIR}${DATADIR}
+	${INSTALL_SCRIPT} ${WRKSRC}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
+	${MKDIR} ${STAGEDIR}${PREFIX}/etc/${PORTNAME}
+	${INSTALL_DATA} ${WRKSRC}/conf/simplelogger.properties \
+		${STAGEDIR}${PREFIX}/etc/${PORTNAME}/simplelogger.properties.sample
+	cd ${WRKSRC} && ${COPYTREE_SHARE} sbom ${STAGEDIR}${DATADIR}
 	${INSTALL_DATA} ${WRKSRC}/lib/* ${STAGEDIR}${DATADIR}
 
 .include <bsd.port.mk>
diff --git a/devel/pmd/distinfo b/devel/pmd/distinfo
index c23dc4abe81e..44af7892152d 100644
--- a/devel/pmd/distinfo
+++ b/devel/pmd/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1673555199
-SHA256 (pmd-bin-6.53.0.zip) = a47106048bc2e1702ecd6669c2cee575119a6df2a102a66769a86a55d3695091
-SIZE (pmd-bin-6.53.0.zip) = 44653294
+TIMESTAMP = 1721427339
+SHA256 (pmd-dist-7.3.0-bin.zip) = 7e56043b5db83b288804c97d48a46db37bba22861b63eadd8e69f72c74bfb0a8
+SIZE (pmd-dist-7.3.0-bin.zip) = 71578663
diff --git a/devel/pmd/files/patch-bin_pmd b/devel/pmd/files/patch-bin_pmd
new file mode 100644
index 000000000000..2702c407262e
--- /dev/null
+++ b/devel/pmd/files/patch-bin_pmd
@@ -0,0 +1,79 @@
+--- bin/pmd.orig	2024-07-21 02:20:21 UTC
++++ bin/pmd
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/bash
++#!/bin/sh
+ 
+ is_cygwin() {
+     case "$(uname)" in
+@@ -48,17 +48,7 @@ set_lib_dir() {
+ 
+ set_lib_dir() {
+   if [ -z "${LIB_DIR}" ]; then
+-    # Allow for symlinks to this script
+-    if [ -L "$0" ]; then
+-      local script_real_loc=$(readlink "$0")
+-    else
+-      local script_real_loc=${BASH_SOURCE[0]:-${(%):-%x}}
+-    fi
+-    local script_dir=$(dirname "${script_real_loc}")
+-
+-    pushd "${script_dir}/../lib" >/dev/null
+-    readonly LIB_DIR=$(pwd -P)
+-    popd >/dev/null
++    readonly LIB_DIR=%%PREFIX%%/share/java/pmd
+   fi
+ }
+ 
+@@ -70,17 +60,7 @@ set_conf_dir() {
+ 
+ set_conf_dir() {
+   if [ -z ${CONF_DIR} ]; then
+-    # Allow for symlinks to this script
+-    if [ -L $0 ]; then
+-      local script_real_loc=$(readlink "$0")
+-    else
+-      local script_real_loc=${BASH_SOURCE[0]:-${(%):-%x}}
+-    fi
+-    local script_dir=$(dirname "${script_real_loc}")
+-
+-    pushd "${script_dir}/../conf" >/dev/null
+-    readonly CONF_DIR=$(pwd -P)
+-    popd >/dev/null
++    readonly CONF_DIR=%%PREFIX%%/etc/pmd
+   fi
+ }
+ 
+@@ -90,12 +70,12 @@ check_conf_dir() {
+   fi
+ }
+ 
+-function script_exit() {
++script_exit() {
+     echo "$1" >&2
+     exit 1
+ }
+ 
+-function check_java() {
++check_java() {
+   java -version >/dev/null 2>&1
+   if [ $? -ne 0 ]; then
+     script_exit "No java executable found in PATH"
+@@ -153,7 +133,7 @@ jre_specific_vm_options() {
+   fi
+ }
+ 
+-function add_pmd_classpath() {
++add_pmd_classpath() {
+     if [ -n "$classpath" ]; then
+         classpath="$classpath:${CONF_DIR}:${LIB_DIR}/*"
+     else
+@@ -161,7 +141,7 @@ function add_pmd_classpath() {
+     fi
+ }
+ 
+-function add_openjfx_classpath() {
++add_openjfx_classpath() {
+   if [ "${APPNAME}" = "designer" ]
+   then
+     if [ "$java_vendor" = "openjdk" ] && [ "$java_ver" -lt 100 ]
diff --git a/devel/pmd/pkg-plist b/devel/pmd/pkg-plist
index b1c3996f66ff..85ea13ce75ff 100644
--- a/devel/pmd/pkg-plist
+++ b/devel/pmd/pkg-plist
@@ -1,35 +1,58 @@
 bin/pmd
-%%DATADIR%%/animal-sniffer-annotations-1.14.jar
-%%DATADIR%%/antlr-2.7.7.jar
-%%DATADIR%%/antlr-runtime-3.5.2.jar
-%%DATADIR%%/antlr4-runtime-4.7.2.jar
-%%DATADIR%%/aopalliance-1.0.jar
-%%DATADIR%%/asm-9.3.jar
-%%DATADIR%%/cglib-3.3.0.jar
-%%DATADIR%%/common_2.13-4.6.0.jar
-%%DATADIR%%/commons-lang3-3.8.1.jar
-%%DATADIR%%/error_prone_annotations-2.1.3.jar
-%%DATADIR%%/fastparse-v2_2.13-2.3.1.jar
-%%DATADIR%%/geny_2.13-0.6.5.jar
-%%DATADIR%%/groovy-2.4.21.jar
-%%DATADIR%%/gson-2.8.9.jar
-%%DATADIR%%/j2objc-annotations-1.1.jar
-%%DATADIR%%/javax.inject-1.jar
-%%DATADIR%%/jcommander-1.48.jar
-%%DATADIR%%/jol-core-0.4.jar
-%%DATADIR%%/jsoup-1.15.3.jar
+@sample etc/pmd/simplelogger.properties.sample
+%%DATADIR%%/Saxon-HE-12.4.jar
+%%DATADIR%%/antlr4-runtime-4.9.3.jar
+%%DATADIR%%/apex-ls_2.13-5.2.0.jar
+%%DATADIR%%/apex-parser-4.1.0.jar
+%%DATADIR%%/apex-types_2.13-1.3.0.jar
+%%DATADIR%%/asm-9.6.jar
+%%DATADIR%%/better-files_2.13-3.9.2.jar
+%%DATADIR%%/checker-compat-qual-2.5.3.jar
+%%DATADIR%%/checker-qual-2.11.1.jar
+%%DATADIR%%/common_2.13-4.9.1.jar
+%%DATADIR%%/commons-codec-1.15.jar
+%%DATADIR%%/commons-lang3-3.14.0.jar
+%%DATADIR%%/directory-watcher-0.18.0.jar
+%%DATADIR%%/directory-watcher-better-files_2.13-0.18.0.jar
+%%DATADIR%%/error_prone_annotations-2.23.0.jar
+%%DATADIR%%/failureaccess-1.0.2.jar
+%%DATADIR%%/flogger-0.8.jar
+%%DATADIR%%/flogger-system-backend-0.8.jar
+%%DATADIR%%/geny_2.13-0.6.2.jar
+%%DATADIR%%/groovy-4.0.19.jar
+%%DATADIR%%/gson-2.10.1.jar
+%%DATADIR%%/gson-extras-1.3.0.jar
+%%DATADIR%%/guava-33.0.0-jre.jar
+%%DATADIR%%/httpclient5-5.1.3.jar
+%%DATADIR%%/httpcore5-5.1.3.jar
+%%DATADIR%%/httpcore5-h2-5.1.3.jar
+%%DATADIR%%/j2objc-annotations-2.8.jar
+%%DATADIR%%/jline-3.21.0.jar
+%%DATADIR%%/jna-5.12.1.jar
+%%DATADIR%%/jsoup-1.17.2.jar
+%%DATADIR%%/jsr250-api-1.0.jar
 %%DATADIR%%/jsr305-3.0.2.jar
-%%DATADIR%%/lenses_2.13-0.11.11.jar
-%%DATADIR%%/logback-classic-1.2.9.jar
-%%DATADIR%%/logback-core-1.2.9.jar
-%%DATADIR%%/parsers_2.13-4.6.0.jar
+%%DATADIR%%/jul-to-slf4j-1.7.36.jar
+%%DATADIR%%/kotlin-stdlib-1.9.24.jar
+%%DATADIR%%/kotlin-stdlib-jdk7-1.9.24.jar
+%%DATADIR%%/kotlin-stdlib-jdk8-1.9.24.jar
+%%DATADIR%%/lenses_2.13-0.11.15.jar
+%%DATADIR%%/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar
+%%DATADIR%%/mainargs_2.13-0.5.4.jar
+%%DATADIR%%/nice-xml-messages-3.1.jar
+%%DATADIR%%/outline-parser_2.13-1.3.0.jar
+%%DATADIR%%/parsers_2.13-4.9.1.jar
+%%DATADIR%%/pcollections-3.2.0.jar
+%%DATADIR%%/picocli-4.7.5.jar
+%%DATADIR%%/pmd-ant-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-apex-%%PORTVERSION%%.jar
-%%DATADIR%%/pmd-apex-jorje-%%PORTVERSION%%-lib.jar
-%%DATADIR%%/pmd-apex-jorje-%%PORTVERSION%%.pom
+%%DATADIR%%/pmd-cli-%%PORTVERSION%%.jar
+%%DATADIR%%/pmd-coco-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-core-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-cpp-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-cs-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-dart-%%PORTVERSION%%.jar
+%%DATADIR%%/pmd-designer-7.2.0.jar
 %%DATADIR%%/pmd-fortran-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-gherkin-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-go-%%PORTVERSION%%.jar
@@ -38,6 +61,7 @@ bin/pmd
 %%DATADIR%%/pmd-java-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-javascript-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-jsp-%%PORTVERSION%%.jar
+%%DATADIR%%/pmd-julia-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-kotlin-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-lua-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-matlab-%%PORTVERSION%%.jar
@@ -50,19 +74,36 @@ bin/pmd
 %%DATADIR%%/pmd-ruby-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-scala_2.13-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-swift-%%PORTVERSION%%.jar
-%%DATADIR%%/pmd-ui-6.49.0.jar
+%%DATADIR%%/pmd-tsql-%%PORTVERSION%%.jar
+%%DATADIR%%/pmd-velocity-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-visualforce-%%PORTVERSION%%.jar
-%%DATADIR%%/pmd-vm-%%PORTVERSION%%.jar
 %%DATADIR%%/pmd-xml-%%PORTVERSION%%.jar
-%%DATADIR%%/protobuf-java-3.16.3.jar
+%%DATADIR%%/progressbar-0.9.5.jar
+%%DATADIR%%/protobuf-java-3.25.3.jar
 %%DATADIR%%/rhino-1.7.14.jar
-%%DATADIR%%/saxon-9.1.0.8-dom.jar
-%%DATADIR%%/saxon-9.1.0.8.jar
-%%DATADIR%%/scala-collection-compat_2.13-2.7.0.jar
-%%DATADIR%%/scala-library-2.13.9.jar
-%%DATADIR%%/scalapb-runtime_2.13-0.11.11.jar
-%%DATADIR%%/slf4j-api-1.7.32.jar
-%%DATADIR%%/snakeyaml-1.33.jar
-%%DATADIR%%/sourcecode_2.13-0.3.0.jar
-%%DATADIR%%/stringtemplate-3.2.1.jar
-%%DATADIR%%/trees_2.13-4.6.0.jar
+%%DATADIR%%/sbom/pmd-%%PORTVERSION%%-cyclonedx.json
+%%DATADIR%%/sbom/pmd-%%PORTVERSION%%-cyclonedx.xml
+%%DATADIR%%/scala-collection-compat_2.13-2.8.1.jar
+%%DATADIR%%/scala-json-rpc-upickle-json-serializer_2.13-1.1.0.jar
+%%DATADIR%%/scala-json-rpc_2.13-1.1.0.jar
+%%DATADIR%%/scala-library-2.13.13.jar
+%%DATADIR%%/scala-parallel-collections_2.13-1.0.0.jar
+%%DATADIR%%/scala-reflect-2.13.13.jar
+%%DATADIR%%/scala-xml_2.13-1.3.0.jar
+%%DATADIR%%/scalajs-stubs_2.13-1.0.0.jar
+%%DATADIR%%/scalapb-runtime_2.13-0.11.15.jar
+%%DATADIR%%/slf4j-api-1.7.36.jar
+%%DATADIR%%/slf4j-simple-1.7.36.jar
+%%DATADIR%%/sobject-types-60.0.1.jar
+%%DATADIR%%/sourcecode_2.13-0.3.1.jar
+%%DATADIR%%/standard-types-60.0.1.jar
+%%DATADIR%%/summit-ast-2.3.0.jar
+%%DATADIR%%/trees_2.13-4.9.1.jar
+%%DATADIR%%/ujson_2.13-1.2.0.jar
+%%DATADIR%%/upack_2.13-1.2.0.jar
+%%DATADIR%%/upickle-core_2.13-1.2.0.jar
+%%DATADIR%%/upickle-implicits_2.13-1.2.0.jar
+%%DATADIR%%/upickle_2.13-1.2.0.jar
+%%DATADIR%%/vf-parser-1.1.0.jar
+%%DATADIR%%/xmlresolver-5.2.2-data.jar
+%%DATADIR%%/xmlresolver-5.2.2.jar