pmd-bin 2.11.0 → 2.12.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 (51) hide show
  1. package/dist/pmd-bin/bin/pmd +85 -72
  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.2.jar} +0 -0
  4. package/dist/pmd-bin/lib/error_prone_annotations-2.37.0.jar +0 -0
  5. package/dist/pmd-bin/lib/{gson-2.12.1.jar → gson-2.13.0.jar} +0 -0
  6. package/dist/pmd-bin/lib/guava-33.4.8-jre.jar +0 -0
  7. package/dist/pmd-bin/lib/picocli-4.7.7.jar +0 -0
  8. package/dist/pmd-bin/lib/{pmd-ant-7.12.0.jar → pmd-ant-7.13.0.jar} +0 -0
  9. package/dist/pmd-bin/lib/{pmd-apex-7.12.0.jar → pmd-apex-7.13.0.jar} +0 -0
  10. package/dist/pmd-bin/lib/{pmd-cli-7.12.0.jar → pmd-cli-7.13.0.jar} +0 -0
  11. package/dist/pmd-bin/lib/{pmd-coco-7.12.0.jar → pmd-coco-7.13.0.jar} +0 -0
  12. package/dist/pmd-bin/lib/{pmd-core-7.12.0.jar → pmd-core-7.13.0.jar} +0 -0
  13. package/dist/pmd-bin/lib/{pmd-cpp-7.12.0.jar → pmd-cpp-7.13.0.jar} +0 -0
  14. package/dist/pmd-bin/lib/{pmd-cs-7.12.0.jar → pmd-cs-7.13.0.jar} +0 -0
  15. package/dist/pmd-bin/lib/{pmd-dart-7.12.0.jar → pmd-dart-7.13.0.jar} +0 -0
  16. package/dist/pmd-bin/lib/pmd-fortran-7.13.0.jar +0 -0
  17. package/dist/pmd-bin/lib/{pmd-gherkin-7.12.0.jar → pmd-gherkin-7.13.0.jar} +0 -0
  18. package/dist/pmd-bin/lib/{pmd-go-7.12.0.jar → pmd-go-7.13.0.jar} +0 -0
  19. package/dist/pmd-bin/lib/{pmd-groovy-7.12.0.jar → pmd-groovy-7.13.0.jar} +0 -0
  20. package/dist/pmd-bin/lib/{pmd-html-7.12.0.jar → pmd-html-7.13.0.jar} +0 -0
  21. package/dist/pmd-bin/lib/{pmd-java-7.12.0.jar → pmd-java-7.13.0.jar} +0 -0
  22. package/dist/pmd-bin/lib/{pmd-javascript-7.12.0.jar → pmd-javascript-7.13.0.jar} +0 -0
  23. package/dist/pmd-bin/lib/{pmd-jsp-7.12.0.jar → pmd-jsp-7.13.0.jar} +0 -0
  24. package/dist/pmd-bin/lib/{pmd-julia-7.12.0.jar → pmd-julia-7.13.0.jar} +0 -0
  25. package/dist/pmd-bin/lib/{pmd-kotlin-7.12.0.jar → pmd-kotlin-7.13.0.jar} +0 -0
  26. package/dist/pmd-bin/lib/{pmd-lua-7.12.0.jar → pmd-lua-7.13.0.jar} +0 -0
  27. package/dist/pmd-bin/lib/{pmd-matlab-7.12.0.jar → pmd-matlab-7.13.0.jar} +0 -0
  28. package/dist/pmd-bin/lib/{pmd-modelica-7.12.0.jar → pmd-modelica-7.13.0.jar} +0 -0
  29. package/dist/pmd-bin/lib/{pmd-objectivec-7.12.0.jar → pmd-objectivec-7.13.0.jar} +0 -0
  30. package/dist/pmd-bin/lib/pmd-perl-7.13.0.jar +0 -0
  31. package/dist/pmd-bin/lib/pmd-php-7.13.0.jar +0 -0
  32. package/dist/pmd-bin/lib/{pmd-plsql-7.12.0.jar → pmd-plsql-7.13.0.jar} +0 -0
  33. package/dist/pmd-bin/lib/{pmd-python-7.12.0.jar → pmd-python-7.13.0.jar} +0 -0
  34. package/dist/pmd-bin/lib/pmd-ruby-7.13.0.jar +0 -0
  35. package/dist/pmd-bin/lib/{pmd-rust-7.12.0.jar → pmd-rust-7.13.0.jar} +0 -0
  36. package/dist/pmd-bin/lib/{pmd-scala_2.13-7.12.0.jar → pmd-scala_2.13-7.13.0.jar} +0 -0
  37. package/dist/pmd-bin/lib/{pmd-swift-7.12.0.jar → pmd-swift-7.13.0.jar} +0 -0
  38. package/dist/pmd-bin/lib/{pmd-tsql-7.12.0.jar → pmd-tsql-7.13.0.jar} +0 -0
  39. package/dist/pmd-bin/lib/{pmd-velocity-7.12.0.jar → pmd-velocity-7.13.0.jar} +0 -0
  40. package/dist/pmd-bin/lib/{pmd-visualforce-7.12.0.jar → pmd-visualforce-7.13.0.jar} +0 -0
  41. package/dist/pmd-bin/lib/{pmd-xml-7.12.0.jar → pmd-xml-7.13.0.jar} +0 -0
  42. package/dist/pmd-bin/sbom/{pmd-7.12.0-cyclonedx.json → pmd-7.13.0-cyclonedx.json} +584 -584
  43. package/dist/pmd-bin/sbom/{pmd-7.12.0-cyclonedx.xml → pmd-7.13.0-cyclonedx.xml} +581 -581
  44. package/package.json +2 -2
  45. package/dist/pmd-bin/lib/error_prone_annotations-2.36.0.jar +0 -0
  46. package/dist/pmd-bin/lib/guava-33.4.5-jre.jar +0 -0
  47. package/dist/pmd-bin/lib/picocli-4.7.6.jar +0 -0
  48. package/dist/pmd-bin/lib/pmd-fortran-7.12.0.jar +0 -0
  49. package/dist/pmd-bin/lib/pmd-perl-7.12.0.jar +0 -0
  50. package/dist/pmd-bin/lib/pmd-php-7.12.0.jar +0 -0
  51. package/dist/pmd-bin/lib/pmd-ruby-7.12.0.jar +0 -0
@@ -1,111 +1,118 @@
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
+ if [ -z "$PMD_HOME" ]; then
51
+ script_real_loc="$0"
48
52
 
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}}
53
+ # see #4723 - allow calling as "bash pmd", when pmd is on the PATH
54
+ if [ ! -e "$script_real_loc" ]; then
55
+ script_real_loc=$(which "$script_real_loc")
56
56
  fi
57
- local script_dir=$(dirname "${script_real_loc}")
57
+ fi
58
+
59
+ if [ ! -e "$script_real_loc" ]; then
60
+ echo "Couldn't determine PMD_HOME path. Script location [$script_real_loc] does not exist"
61
+ exit 1
62
+ fi
58
63
 
59
- pushd "${script_dir}/../lib" >/dev/null
60
- readonly LIB_DIR=$(pwd -P)
61
- popd >/dev/null
64
+ # Allow for symlinks to this script
65
+ if [ -L "$script_real_loc" ]; then
66
+ script_real_loc=$(readlink "$script_real_loc")
67
+ fi
68
+
69
+ # use the directory of the script (which is ..../bin)
70
+ script_real_loc=$(dirname "$script_real_loc")
71
+ # use the parent directory
72
+ PMD_HOME="$script_real_loc/.."
73
+ # make it normalized and fully qualified
74
+ PMD_HOME=$(cd "$PMD_HOME" && pwd)
75
+ }
76
+
77
+ set_lib_dir() {
78
+ if [ -z "$LIB_DIR" ]; then
79
+ LIB_DIR="$PMD_HOME/lib"
62
80
  fi
63
81
  }
64
82
 
65
83
  check_lib_dir() {
66
- if [ ! -e "${LIB_DIR}" ]; then
67
- echo "The jar directory [${LIB_DIR}] does not exist"
84
+ if [ ! -e "$LIB_DIR" ]; then
85
+ echo "The jar directory [$LIB_DIR] does not exist"
68
86
  fi
69
87
  }
70
88
 
71
89
  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
90
+ if [ -z "$CONF_DIR" ]; then
91
+ CONF_DIR="$PMD_HOME/conf"
84
92
  fi
85
93
  }
86
94
 
87
95
  check_conf_dir() {
88
- if [ ! -e "${CONF_DIR}" ]; then
89
- echo "The configuration directory [${CONF_DIR}] does not exist"
96
+ if [ ! -e "$CONF_DIR" ]; then
97
+ echo "The configuration directory [$CONF_DIR] does not exist"
90
98
  fi
91
99
  }
92
100
 
93
- function script_exit() {
101
+ script_exit() {
94
102
  echo "$1" >&2
95
103
  exit 1
96
104
  }
97
105
 
98
- function check_java() {
99
- java -version >/dev/null 2>&1
100
- if [ $? -ne 0 ]; then
106
+ check_java() {
107
+ if ! java -version >/dev/null 2>&1; then
101
108
  script_exit "No java executable found in PATH"
102
109
  fi
103
110
  }
104
111
 
105
112
  determine_java_version() {
106
- local full_ver=$(java -version 2>&1)
113
+ full_ver=$(java -version 2>&1)
107
114
  # 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 '{
115
+ java_ver=$(echo "$full_ver" | sed -n '{
109
116
  # replace early access versions, e.g. 11-ea with 11.0.0
110
117
  s/-ea/.0.0/
111
118
  # replace versions such as 10 with 10.0.0
@@ -116,11 +123,11 @@ determine_java_version() {
116
123
  s/^.* version "\([0-9]\{1,\}\)\.\([0-9]\{1,\}\).*".*$/\1\2/p
117
124
  }')
118
125
  # java_vendor is either java (oracle) or openjdk
119
- readonly java_vendor=$(echo "$full_ver" | sed -n -e 's/^\(.*\) version .*$/\1/p')
126
+ java_vendor=$(echo "$full_ver" | sed -n -e 's/^\(.*\) version .*$/\1/p')
120
127
  }
121
128
 
122
129
  jre_specific_vm_options() {
123
- if [ "${APPNAME}" = "designer" ]
130
+ if [ "$APPNAME" = "designer" ]
124
131
  then
125
132
  options=""
126
133
 
@@ -134,64 +141,65 @@ jre_specific_vm_options() {
134
141
  # open internal module of javafx to reflection (for our TreeViewWrapper)
135
142
  options="--add-opens javafx.controls/javafx.scene.control.skin=ALL-UNNAMED"
136
143
  # 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"
144
+ options="$options --add-opens javafx.graphics/javafx.scene.text=ALL-UNNAMED"
145
+ options="$options --add-opens javafx.graphics/com.sun.javafx.scene.text=ALL-UNNAMED"
146
+ options="$options --add-opens javafx.graphics/com.sun.javafx.text=ALL-UNNAMED"
147
+ options="$options --add-opens javafx.graphics/com.sun.javafx.geom=ALL-UNNAMED"
141
148
  # Warn of remaining illegal accesses
142
- options+=" --illegal-access=warn"
143
- elif [ "$java_vendor" = "openjdk" ] || ( [ "$java_vendor" = "java" ] && [ "$java_ver" -ge 110 ] )
149
+ options="$options --illegal-access=warn"
150
+ elif [ "$java_vendor" = "openjdk" ] || { [ "$java_vendor" = "java" ] && [ "$java_ver" -ge 110 ] ; }
144
151
  then
145
152
  # openjdk and java11 from oracle onwards do not contain javafx directly
146
153
  # there are no extra options either - javafx will be added to the classpath without modules
147
154
  options=""
148
155
  fi
149
156
 
150
- echo $options
157
+ echo "$options"
151
158
  else
152
159
  echo ""
153
160
  fi
154
161
  }
155
162
 
156
- function add_pmd_classpath() {
163
+ add_pmd_classpath() {
157
164
  if [ -n "$classpath" ]; then
158
- classpath="$classpath:${CONF_DIR}:${LIB_DIR}/*"
165
+ classpath="$classpath:$CONF_DIR:$LIB_DIR/*"
159
166
  else
160
- classpath="${CONF_DIR}:${LIB_DIR}/*"
167
+ classpath="$CONF_DIR:$LIB_DIR/*"
161
168
  fi
162
169
  }
163
170
 
164
- function add_openjfx_classpath() {
165
- if [ "${APPNAME}" = "designer" ]
171
+ add_openjfx_classpath() {
172
+ if [ "$APPNAME" = "designer" ]
166
173
  then
167
174
  if [ "$java_vendor" = "openjdk" ] && [ "$java_ver" -lt 100 ]
168
175
  then
169
176
  script_exit "For openjfx at least java 10 is required"
170
- elif [ "$java_vendor" = "openjdk" ] || ( [ "$java_vendor" = "java" ] && [ "$java_ver" -ge 110 ] )
177
+ elif [ "$java_vendor" = "openjdk" ] || { [ "$java_vendor" = "java" ] && [ "$java_ver" -ge 110 ] ; }
171
178
  then
172
179
  # openjfx is required for openjdk builds and oracle java 11 or later
173
- if [ -z "${JAVAFX_HOME}" ]
180
+ if [ -z "$JAVAFX_HOME" ]
174
181
  then
175
182
  script_exit "The environment variable JAVAFX_HOME is missing."
176
183
  else
177
184
  # The wildcard will include only jar files, but we need to access also
178
185
  # property files such as javafx.properties that lay bare in the dir
179
186
  if [ -n "$classpath" ]; then
180
- classpath="$classpath:${JAVAFX_HOME}/lib/*:${JAVAFX_HOME}/lib/"
187
+ classpath="$classpath:$JAVAFX_HOME/lib/*:$JAVAFX_HOME/lib/"
181
188
  else
182
- classpath="${JAVAFX_HOME}/lib/*:${JAVAFX_HOME}/lib/"
189
+ classpath="$JAVAFX_HOME/lib/*:$JAVAFX_HOME/lib/"
183
190
  fi
184
191
  fi
185
192
  fi
186
193
  fi
187
194
  }
188
195
 
189
- readonly APPNAME="${1}"
196
+ APPNAME="$1"
190
197
 
191
198
  is_cygwin
192
199
 
193
200
  check_java
194
201
 
202
+ set_pmd_home_dir
195
203
  set_lib_dir
196
204
  check_lib_dir
197
205
  set_conf_dir
@@ -209,4 +217,9 @@ cygwin_paths
209
217
 
210
218
  java_heapsize_settings
211
219
 
212
- java ${HEAPSIZE} ${PMD_JAVA_OPTS} $(jre_specific_vm_options) -cp "${classpath}" net.sourceforge.pmd.cli.PmdCli "$@"
220
+ # Note: we want word-splitting happening on PMD_JAVA_OPTS and jre_specific_vm_options
221
+ exec java \
222
+ ${HEAPSIZE:+"$HEAPSIZE"} \
223
+ $PMD_JAVA_OPTS $(jre_specific_vm_options) \
224
+ -cp "$classpath" \
225
+ net.sourceforge.pmd.cli.PmdCli "$@"