pmd-bin 2.11.0 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/pmd-bin/bin/pmd +84 -73
  2. package/dist/pmd-bin/lib/{asm-9.7.1.jar → asm-9.8.jar} +0 -0
  3. package/dist/pmd-bin/lib/{checker-qual-3.49.1.jar → checker-qual-3.49.3.jar} +0 -0
  4. package/dist/pmd-bin/lib/{common_2.13-4.13.4.jar → common_2.13-4.13.6.jar} +0 -0
  5. package/dist/pmd-bin/lib/error_prone_annotations-2.38.0.jar +0 -0
  6. package/dist/pmd-bin/lib/{gson-2.12.1.jar → gson-2.13.1.jar} +0 -0
  7. package/dist/pmd-bin/lib/guava-33.4.8-jre.jar +0 -0
  8. package/dist/pmd-bin/lib/{io_2.13-4.13.4.jar → io_2.13-4.13.6.jar} +0 -0
  9. package/dist/pmd-bin/lib/jsoup-1.20.1.jar +0 -0
  10. package/dist/pmd-bin/lib/{parsers_2.13-4.13.4.jar → parsers_2.13-4.13.6.jar} +0 -0
  11. package/dist/pmd-bin/lib/picocli-4.7.7.jar +0 -0
  12. package/dist/pmd-bin/lib/{pmd-ant-7.12.0.jar → pmd-ant-7.14.0.jar} +0 -0
  13. package/dist/pmd-bin/lib/{pmd-apex-7.12.0.jar → pmd-apex-7.14.0.jar} +0 -0
  14. package/dist/pmd-bin/lib/pmd-cli-7.14.0.jar +0 -0
  15. package/dist/pmd-bin/lib/{pmd-coco-7.12.0.jar → pmd-coco-7.14.0.jar} +0 -0
  16. package/dist/pmd-bin/lib/{pmd-core-7.12.0.jar → pmd-core-7.14.0.jar} +0 -0
  17. package/dist/pmd-bin/lib/{pmd-cpp-7.12.0.jar → pmd-cpp-7.14.0.jar} +0 -0
  18. package/dist/pmd-bin/lib/{pmd-cs-7.12.0.jar → pmd-cs-7.14.0.jar} +0 -0
  19. package/dist/pmd-bin/lib/{pmd-dart-7.12.0.jar → pmd-dart-7.14.0.jar} +0 -0
  20. package/dist/pmd-bin/lib/pmd-fortran-7.14.0.jar +0 -0
  21. package/dist/pmd-bin/lib/{pmd-gherkin-7.12.0.jar → pmd-gherkin-7.14.0.jar} +0 -0
  22. package/dist/pmd-bin/lib/{pmd-go-7.12.0.jar → pmd-go-7.14.0.jar} +0 -0
  23. package/dist/pmd-bin/lib/{pmd-groovy-7.12.0.jar → pmd-groovy-7.14.0.jar} +0 -0
  24. package/dist/pmd-bin/lib/{pmd-html-7.12.0.jar → pmd-html-7.14.0.jar} +0 -0
  25. package/dist/pmd-bin/lib/{pmd-java-7.12.0.jar → pmd-java-7.14.0.jar} +0 -0
  26. package/dist/pmd-bin/lib/{pmd-javascript-7.12.0.jar → pmd-javascript-7.14.0.jar} +0 -0
  27. package/dist/pmd-bin/lib/{pmd-jsp-7.12.0.jar → pmd-jsp-7.14.0.jar} +0 -0
  28. package/dist/pmd-bin/lib/{pmd-julia-7.12.0.jar → pmd-julia-7.14.0.jar} +0 -0
  29. package/dist/pmd-bin/lib/{pmd-kotlin-7.12.0.jar → pmd-kotlin-7.14.0.jar} +0 -0
  30. package/dist/pmd-bin/lib/{pmd-lua-7.12.0.jar → pmd-lua-7.14.0.jar} +0 -0
  31. package/dist/pmd-bin/lib/{pmd-matlab-7.12.0.jar → pmd-matlab-7.14.0.jar} +0 -0
  32. package/dist/pmd-bin/lib/{pmd-modelica-7.12.0.jar → pmd-modelica-7.14.0.jar} +0 -0
  33. package/dist/pmd-bin/lib/{pmd-objectivec-7.12.0.jar → pmd-objectivec-7.14.0.jar} +0 -0
  34. package/dist/pmd-bin/lib/pmd-perl-7.14.0.jar +0 -0
  35. package/dist/pmd-bin/lib/pmd-php-7.14.0.jar +0 -0
  36. package/dist/pmd-bin/lib/{pmd-plsql-7.12.0.jar → pmd-plsql-7.14.0.jar} +0 -0
  37. package/dist/pmd-bin/lib/{pmd-python-7.12.0.jar → pmd-python-7.14.0.jar} +0 -0
  38. package/dist/pmd-bin/lib/pmd-ruby-7.14.0.jar +0 -0
  39. package/dist/pmd-bin/lib/{pmd-rust-7.12.0.jar → pmd-rust-7.14.0.jar} +0 -0
  40. package/dist/pmd-bin/lib/{pmd-scala_2.13-7.12.0.jar → pmd-scala_2.13-7.14.0.jar} +0 -0
  41. package/dist/pmd-bin/lib/{pmd-swift-7.12.0.jar → pmd-swift-7.14.0.jar} +0 -0
  42. package/dist/pmd-bin/lib/{pmd-tsql-7.12.0.jar → pmd-tsql-7.14.0.jar} +0 -0
  43. package/dist/pmd-bin/lib/{pmd-velocity-7.12.0.jar → pmd-velocity-7.14.0.jar} +0 -0
  44. package/dist/pmd-bin/lib/{pmd-visualforce-7.12.0.jar → pmd-visualforce-7.14.0.jar} +0 -0
  45. package/dist/pmd-bin/lib/{pmd-xml-7.12.0.jar → pmd-xml-7.14.0.jar} +0 -0
  46. package/dist/pmd-bin/lib/{trees_2.13-4.13.4.jar → trees_2.13-4.13.6.jar} +0 -0
  47. package/dist/pmd-bin/sbom/{pmd-7.12.0-cyclonedx.json → pmd-7.14.0-cyclonedx.json} +650 -794
  48. package/dist/pmd-bin/sbom/{pmd-7.12.0-cyclonedx.xml → pmd-7.14.0-cyclonedx.xml} +647 -755
  49. package/package.json +2 -2
  50. package/dist/pmd-bin/lib/error_prone_annotations-2.36.0.jar +0 -0
  51. package/dist/pmd-bin/lib/guava-33.4.5-jre.jar +0 -0
  52. package/dist/pmd-bin/lib/jsoup-1.19.1.jar +0 -0
  53. package/dist/pmd-bin/lib/picocli-4.7.6.jar +0 -0
  54. package/dist/pmd-bin/lib/pmd-cli-7.12.0.jar +0 -0
  55. package/dist/pmd-bin/lib/pmd-fortran-7.12.0.jar +0 -0
  56. package/dist/pmd-bin/lib/pmd-perl-7.12.0.jar +0 -0
  57. package/dist/pmd-bin/lib/pmd-php-7.12.0.jar +0 -0
  58. package/dist/pmd-bin/lib/pmd-ruby-7.12.0.jar +0 -0
@@ -1,111 +1,116 @@
1
- #!/bin/bash
1
+ #!/bin/sh
2
2
 
3
3
  is_cygwin() {
4
4
  case "$(uname)" in
5
5
  CYGWIN*|MINGW*)
6
- readonly cygwin=true
6
+ cygwin=true
7
+ ;;
8
+ *)
9
+ # OS specific support. $var _must_ be set to either true or false.
10
+ if [ -z "$cygwin" ] ; then
11
+ cygwin=false
12
+ fi
7
13
  ;;
8
14
  esac
9
- # OS specific support. $var _must_ be set to either true or false.
10
- if [ -z ${cygwin} ] ; then
11
- readonly cygwin=false
12
- fi
13
15
  }
14
16
 
15
17
  cygwin_paths() {
16
18
  # For Cygwin, switch paths to Windows format before running java
17
- if ${cygwin} ; then
18
- [ -n "${JAVA_HOME}" ] && JAVA_HOME=$(cygpath --windows "${JAVA_HOME}")
19
- [ -n "${JAVAFX_HOME}" ] && JAVAFX_HOME=$(cygpath --windows "${JAVAFX_HOME}")
20
- [ -n "${DIRECTORY}" ] && DIRECTORY=$(cygpath --windows "${DIRECTORY}")
21
- classpath=$(cygpath --path --windows "${classpath}")
19
+ if [ "$cygwin" = true ] ; then
20
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=$(cygpath --windows "$JAVA_HOME")
21
+ [ -n "$JAVAFX_HOME" ] && JAVAFX_HOME=$(cygpath --windows "$JAVAFX_HOME")
22
+ [ -n "$DIRECTORY" ] && DIRECTORY=$(cygpath --windows "$DIRECTORY")
23
+ classpath=$(cygpath --path --windows "$classpath")
22
24
  fi
23
25
  }
24
26
 
25
27
  convert_cygwin_vars() {
26
28
  # If cygwin, convert to Unix form before manipulating
27
- if ${cygwin} ; then
28
- [ -n "${JAVA_HOME}" ] && JAVA_HOME=$(cygpath --unix "${JAVA_HOME}")
29
- [ -n "${JAVAFX_HOME}" ] && JAVAFX_HOME=$(cygpath --unix "${JAVAFX_HOME}")
30
- [ -n "${CLASSPATH}" ] && CLASSPATH=$(cygpath --path --unix "${CLASSPATH}")
29
+ if [ "$cygwin" = true ] ; then
30
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=$(cygpath --unix "$JAVA_HOME")
31
+ [ -n "$JAVAFX_HOME" ] && JAVAFX_HOME=$(cygpath --unix "$JAVAFX_HOME")
32
+ [ -n "$CLASSPATH" ] && CLASSPATH=$(cygpath --path --unix "$CLASSPATH")
31
33
  fi
32
34
  }
33
35
 
34
36
  java_heapsize_settings() {
35
- local heapsize=${HEAPSIZE}
36
- case "${heapsize}" in
37
+ case "$HEAPSIZE" in
37
38
  [1-9]*[mgMG])
38
- readonly HEAPSIZE="-Xmx${heapsize}"
39
+ HEAPSIZE="-Xmx$HEAPSIZE"
39
40
  ;;
40
41
  '')
41
42
  ;;
42
43
  *)
43
- echo "HEAPSIZE '${HEAPSIZE}' unknown (try: 1024m)"
44
+ echo "HEAPSIZE '$HEAPSIZE' unknown (try: 1024m)"
44
45
  exit 1
45
46
  esac
46
47
  }
47
48
 
49
+ set_pmd_home_dir() {
50
+ script_real_loc="$0"
48
51
 
49
- set_lib_dir() {
50
- if [ -z "${LIB_DIR}" ]; then
51
- # Allow for symlinks to this script
52
- if [ -L "$0" ]; then
53
- local script_real_loc=$(readlink "$0")
54
- else
55
- local script_real_loc=${BASH_SOURCE[0]:-${(%):-%x}}
56
- fi
57
- local script_dir=$(dirname "${script_real_loc}")
52
+ # see #4723 - allow calling as "bash pmd", when pmd is on the PATH
53
+ if [ ! -e "$script_real_loc" ]; then
54
+ script_real_loc=$(which "$script_real_loc")
55
+ fi
56
+
57
+ if [ ! -e "$script_real_loc" ]; then
58
+ echo "Couldn't determine PMD_HOME path. Script location [$script_real_loc] does not exist"
59
+ exit 1
60
+ fi
58
61
 
59
- pushd "${script_dir}/../lib" >/dev/null
60
- readonly LIB_DIR=$(pwd -P)
61
- popd >/dev/null
62
+ # Allow for symlinks to this script
63
+ if [ -L "$script_real_loc" ]; then
64
+ script_real_loc=$(readlink "$script_real_loc")
65
+ fi
66
+
67
+ # use the directory of the script (which is ..../bin)
68
+ script_real_loc=$(dirname "$script_real_loc")
69
+ # use the parent directory
70
+ PMD_HOME="$script_real_loc/.."
71
+ # make it normalized and fully qualified
72
+ PMD_HOME=$(cd "$PMD_HOME" && pwd)
73
+ }
74
+
75
+ set_lib_dir() {
76
+ if [ -z "$LIB_DIR" ]; then
77
+ LIB_DIR="$PMD_HOME/lib"
62
78
  fi
63
79
  }
64
80
 
65
81
  check_lib_dir() {
66
- if [ ! -e "${LIB_DIR}" ]; then
67
- echo "The jar directory [${LIB_DIR}] does not exist"
82
+ if [ ! -e "$LIB_DIR" ]; then
83
+ echo "The jar directory [$LIB_DIR] does not exist"
68
84
  fi
69
85
  }
70
86
 
71
87
  set_conf_dir() {
72
- if [ -z ${CONF_DIR} ]; then
73
- # Allow for symlinks to this script
74
- if [ -L $0 ]; then
75
- local script_real_loc=$(readlink "$0")
76
- else
77
- local script_real_loc=${BASH_SOURCE[0]:-${(%):-%x}}
78
- fi
79
- local script_dir=$(dirname "${script_real_loc}")
80
-
81
- pushd "${script_dir}/../conf" >/dev/null
82
- readonly CONF_DIR=$(pwd -P)
83
- popd >/dev/null
88
+ if [ -z "$CONF_DIR" ]; then
89
+ CONF_DIR="$PMD_HOME/conf"
84
90
  fi
85
91
  }
86
92
 
87
93
  check_conf_dir() {
88
- if [ ! -e "${CONF_DIR}" ]; then
89
- echo "The configuration directory [${CONF_DIR}] does not exist"
94
+ if [ ! -e "$CONF_DIR" ]; then
95
+ echo "The configuration directory [$CONF_DIR] does not exist"
90
96
  fi
91
97
  }
92
98
 
93
- function script_exit() {
99
+ script_exit() {
94
100
  echo "$1" >&2
95
101
  exit 1
96
102
  }
97
103
 
98
- function check_java() {
99
- java -version >/dev/null 2>&1
100
- if [ $? -ne 0 ]; then
104
+ check_java() {
105
+ if ! java -version >/dev/null 2>&1; then
101
106
  script_exit "No java executable found in PATH"
102
107
  fi
103
108
  }
104
109
 
105
110
  determine_java_version() {
106
- local full_ver=$(java -version 2>&1)
111
+ full_ver=$(java -version 2>&1)
107
112
  # java_ver is eg "80" for java 1.8, "90" for java 9.0, "100" for java 10.0.x
108
- readonly java_ver=$(echo "$full_ver" | sed -n '{
113
+ java_ver=$(echo "$full_ver" | sed -n '{
109
114
  # replace early access versions, e.g. 11-ea with 11.0.0
110
115
  s/-ea/.0.0/
111
116
  # replace versions such as 10 with 10.0.0
@@ -116,11 +121,11 @@ determine_java_version() {
116
121
  s/^.* version "\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*".*$/\1\2/p
117
122
  }')
118
123
  # java_vendor is either java (oracle) or openjdk
119
- readonly java_vendor=$(echo "$full_ver" | sed -n -e 's/^\(.*\) version .*$/\1/p')
124
+ java_vendor=$(echo "$full_ver" | sed -n -e 's/^\(.*\) version .*$/\1/p')
120
125
  }
121
126
 
122
127
  jre_specific_vm_options() {
123
- if [ "${APPNAME}" = "designer" ]
128
+ if [ "$APPNAME" = "designer" ]
124
129
  then
125
130
  options=""
126
131
 
@@ -134,64 +139,65 @@ jre_specific_vm_options() {
134
139
  # open internal module of javafx to reflection (for our TreeViewWrapper)
135
140
  options="--add-opens javafx.controls/javafx.scene.control.skin=ALL-UNNAMED"
136
141
  # The rest here is for RichtextFX
137
- options+=" --add-opens javafx.graphics/javafx.scene.text=ALL-UNNAMED"
138
- options+=" --add-opens javafx.graphics/com.sun.javafx.scene.text=ALL-UNNAMED"
139
- options+=" --add-opens javafx.graphics/com.sun.javafx.text=ALL-UNNAMED"
140
- options+=" --add-opens javafx.graphics/com.sun.javafx.geom=ALL-UNNAMED"
142
+ options="$options --add-opens javafx.graphics/javafx.scene.text=ALL-UNNAMED"
143
+ options="$options --add-opens javafx.graphics/com.sun.javafx.scene.text=ALL-UNNAMED"
144
+ options="$options --add-opens javafx.graphics/com.sun.javafx.text=ALL-UNNAMED"
145
+ options="$options --add-opens javafx.graphics/com.sun.javafx.geom=ALL-UNNAMED"
141
146
  # Warn of remaining illegal accesses
142
- options+=" --illegal-access=warn"
143
- elif [ "$java_vendor" = "openjdk" ] || ( [ "$java_vendor" = "java" ] && [ "$java_ver" -ge 110 ] )
147
+ options="$options --illegal-access=warn"
148
+ elif [ "$java_vendor" = "openjdk" ] || { [ "$java_vendor" = "java" ] && [ "$java_ver" -ge 110 ] ; }
144
149
  then
145
150
  # openjdk and java11 from oracle onwards do not contain javafx directly
146
151
  # there are no extra options either - javafx will be added to the classpath without modules
147
152
  options=""
148
153
  fi
149
154
 
150
- echo $options
155
+ echo "$options"
151
156
  else
152
157
  echo ""
153
158
  fi
154
159
  }
155
160
 
156
- function add_pmd_classpath() {
161
+ add_pmd_classpath() {
157
162
  if [ -n "$classpath" ]; then
158
- classpath="$classpath:${CONF_DIR}:${LIB_DIR}/*"
163
+ classpath="$classpath:$CONF_DIR:$LIB_DIR/*"
159
164
  else
160
- classpath="${CONF_DIR}:${LIB_DIR}/*"
165
+ classpath="$CONF_DIR:$LIB_DIR/*"
161
166
  fi
162
167
  }
163
168
 
164
- function add_openjfx_classpath() {
165
- if [ "${APPNAME}" = "designer" ]
169
+ add_openjfx_classpath() {
170
+ if [ "$APPNAME" = "designer" ]
166
171
  then
167
172
  if [ "$java_vendor" = "openjdk" ] && [ "$java_ver" -lt 100 ]
168
173
  then
169
174
  script_exit "For openjfx at least java 10 is required"
170
- elif [ "$java_vendor" = "openjdk" ] || ( [ "$java_vendor" = "java" ] && [ "$java_ver" -ge 110 ] )
175
+ elif [ "$java_vendor" = "openjdk" ] || { [ "$java_vendor" = "java" ] && [ "$java_ver" -ge 110 ] ; }
171
176
  then
172
177
  # openjfx is required for openjdk builds and oracle java 11 or later
173
- if [ -z "${JAVAFX_HOME}" ]
178
+ if [ -z "$JAVAFX_HOME" ]
174
179
  then
175
180
  script_exit "The environment variable JAVAFX_HOME is missing."
176
181
  else
177
182
  # The wildcard will include only jar files, but we need to access also
178
183
  # property files such as javafx.properties that lay bare in the dir
179
184
  if [ -n "$classpath" ]; then
180
- classpath="$classpath:${JAVAFX_HOME}/lib/*:${JAVAFX_HOME}/lib/"
185
+ classpath="$classpath:$JAVAFX_HOME/lib/*:$JAVAFX_HOME/lib/"
181
186
  else
182
- classpath="${JAVAFX_HOME}/lib/*:${JAVAFX_HOME}/lib/"
187
+ classpath="$JAVAFX_HOME/lib/*:$JAVAFX_HOME/lib/"
183
188
  fi
184
189
  fi
185
190
  fi
186
191
  fi
187
192
  }
188
193
 
189
- readonly APPNAME="${1}"
194
+ APPNAME="$1"
190
195
 
191
196
  is_cygwin
192
197
 
193
198
  check_java
194
199
 
200
+ set_pmd_home_dir
195
201
  set_lib_dir
196
202
  check_lib_dir
197
203
  set_conf_dir
@@ -209,4 +215,9 @@ cygwin_paths
209
215
 
210
216
  java_heapsize_settings
211
217
 
212
- java ${HEAPSIZE} ${PMD_JAVA_OPTS} $(jre_specific_vm_options) -cp "${classpath}" net.sourceforge.pmd.cli.PmdCli "$@"
218
+ # Note: we want word-splitting happening on PMD_JAVA_OPTS and jre_specific_vm_options
219
+ exec java \
220
+ ${HEAPSIZE:+"$HEAPSIZE"} \
221
+ $PMD_JAVA_OPTS $(jre_specific_vm_options) \
222
+ -cp "$classpath" \
223
+ net.sourceforge.pmd.cli.PmdCli "$@"