Updated dependencies and cleanup.

This commit is contained in:
Erik C. Thauvin 2020-03-22 20:59:53 -07:00
parent aa8fadd37c
commit 4a701e1ee0
20 changed files with 321 additions and 117 deletions

View file

@ -15,12 +15,26 @@
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.github.spotbugs:spotbugs-annotations:3.1.12" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Gradle: com.github.spotbugs:spotbugs-annotations:4.0.1" level="project" />
<orderEntry type="library" name="Gradle: javax.servlet:javax.servlet-api:4.0.1" level="project" /> <orderEntry type="library" name="Gradle: javax.servlet:javax.servlet-api:4.0.1" level="project" />
<orderEntry type="library" name="Gradle: javax.servlet.jsp:jsp-api:2.2.1-b03" level="project" /> <orderEntry type="library" name="Gradle: javax.servlet.jsp:jsp-api:2.2.1-b03" level="project" />
<orderEntry type="library" name="Gradle: org.apache.commons:commons-text:1.8" level="project" />
<orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.code.findbugs:jsr305:3.0.2" level="project" /> <orderEntry type="library" scope="PROVIDED" name="Gradle: com.google.code.findbugs:jsr305:3.0.2" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.testng:testng:6.14.3" level="project" /> <orderEntry type="library" name="Gradle: org.apache.commons:commons-lang3:3.9" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.testng:testng:7.2.0" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.google.inject:guice:4.2.2:no_aop" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.google.guava:guava:25.1-android" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.beust:jcommander:1.72" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: com.beust:jcommander:1.72" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.apache-extras.beanshell:bsh:2.0b6" level="project" /> <orderEntry type="library" scope="TEST" name="Gradle: org.apache.ant:ant:1.10.3" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.yaml:snakeyaml:1.21" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.apache.ant:ant-launcher:1.10.3" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: aopalliance:aopalliance:1.0" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.checkerframework:checker-compat-qual:2.0.0" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.google.errorprone:error_prone_annotations:2.1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: com.google.j2objc:j2objc-annotations:1.1" level="project" />
<orderEntry type="library" scope="TEST" name="Gradle: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
</component> </component>
</module> </module>

View file

@ -53,14 +53,14 @@
<property name="caretWidth" class="java.lang.Integer" /> <property name="caretWidth" class="java.lang.Integer" />
</properties> </properties>
</component> </component>
<component name="CopyrightManager" default=""> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="1.8" />
</component>
<component name="CopyrightManager" default="Erik's Copyright Notice">
<copyright> <copyright>
<option name="myName" value="Erik's Copyright Notice" /> <option name="myName" value="Erik's Copyright Notice" />
<option name="notice" value="&amp;#36;file.fileName&#10;&#10;Copyright (c) 2015-&amp;#36;today.year, Erik C. Thauvin (erik@thauvin.net)&#10;All rights reserved.&#10;&#10;Redistribution and use in source and binary forms, with or without&#10;modification, are permitted provided that the following conditions are met:&#10;&#10; Redistributions of source code must retain the above copyright notice, this&#10; list of conditions and the following disclaimer.&#10;&#10; Redistributions in binary form must reproduce the above copyright notice,&#10; this list of conditions and the following disclaimer in the documentation&#10; and/or other materials provided with the distribution.&#10;&#10; Neither the name of this project nor the names of its contributors may be&#10; used to endorse or promote products derived from this software without&#10; specific prior written permission.&#10;&#10;THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;&#10;AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE&#10;IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&#10;DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE&#10;FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL&#10;DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&#10;SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER&#10;CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,&#10;OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE&#10;OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." /> <option name="notice" value="&amp;#36;file.fileName&#10;&#10;Copyright (c) 2015-&amp;#36;today.year, Erik C. Thauvin (erik@thauvin.net)&#10;All rights reserved.&#10;&#10;Redistribution and use in source and binary forms, with or without&#10;modification, are permitted provided that the following conditions are met:&#10;&#10; Redistributions of source code must retain the above copyright notice, this&#10; list of conditions and the following disclaimer.&#10;&#10; Redistributions in binary form must reproduce the above copyright notice,&#10; this list of conditions and the following disclaimer in the documentation&#10; and/or other materials provided with the distribution.&#10;&#10; Neither the name of this project nor the names of its contributors may be&#10; used to endorse or promote products derived from this software without&#10; specific prior written permission.&#10;&#10;THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot;&#10;AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE&#10;IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE&#10;DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE&#10;FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL&#10;DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&#10;SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER&#10;CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,&#10;OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE&#10;OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." />
</copyright> </copyright>
<module2copyright>
<element module="Source" copyright="Erik's Copyright Notice" />
</module2copyright>
<LanguageOptions name="__TEMPLATE__"> <LanguageOptions name="__TEMPLATE__">
<option name="addBlankAfter" value="false" /> <option name="addBlankAfter" value="false" />
</LanguageOptions> </LanguageOptions>
@ -71,20 +71,23 @@
<component name="Encoding"> <component name="Encoding">
<file url="PROJECT" charset="UTF-8" /> <file url="PROJECT" charset="UTF-8" />
</component> </component>
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="GradleLocalSettings"> <component name="GradleLocalSettings">
<option name="modificationStamps"> <option name="modificationStamps">
<map> <map>
<entry key="K:/GitHub/CompileOnlyPlugin" value="2933943731758" /> <entry key="$PROJECT_DIR$/../../GitHub/CompileOnlyPlugin" value="2933943731758" />
<entry key="K:/ect/groovy/SshotCleaner" value="2892856534549" /> <entry key="$PROJECT_DIR$/../../ect/groovy/SshotCleaner" value="2892856534549" />
<entry key="K:/ect/java/Captcha" value="2894636758390" /> <entry key="$PROJECT_DIR$/../../ect/java/Captcha" value="2894636758390" />
<entry key="K:/ect/java/FileSplitter" value="2846829504112" /> <entry key="$PROJECT_DIR$/../../ect/java/FileSplitter" value="2846829504112" />
<entry key="K:/ect/java/GZIPFilter" value="2894567636586" /> <entry key="$PROJECT_DIR$/../../ect/java/GZIPFilter" value="2894567636586" />
<entry key="K:/ect/java/Lotto" value="2894619520256" /> <entry key="$PROJECT_DIR$/../../ect/java/Lotto" value="2894619520256" />
<entry key="K:/ect/java/SshotCleaner" value="1446415498070" /> <entry key="$PROJECT_DIR$/../../ect/java/SshotCleaner" value="1446415498070" />
<entry key="K:/ect/java/TorrentCleaner" value="2894593616839" /> <entry key="$PROJECT_DIR$/../../ect/java/TorrentCleaner" value="2894593616839" />
<entry key="K:/ect/java/click" value="2894595659515" /> <entry key="$PROJECT_DIR$/../../ect/java/click" value="2894595659515" />
<entry key="K:/ect/java/iFit2Workout" value="2894645931218" /> <entry key="$PROJECT_DIR$/../../ect/java/iFit2Workout" value="2894645931218" />
<entry key="K:/imacination/jtalk" value="2865986493991" /> <entry key="$PROJECT_DIR$/../../imacination/jtalk" value="2865986493991" />
<entry key="$PROJECT_DIR$/../DataProviderTest" value="2935655621669" /> <entry key="$PROJECT_DIR$/../DataProviderTest" value="2935655621669" />
<entry key="$PROJECT_DIR$" value="2921271906937" /> <entry key="$PROJECT_DIR$" value="2921271906937" />
<entry key="$PROJECT_DIR$/../SemanticVersion" value="2905451385982" /> <entry key="$PROJECT_DIR$/../SemanticVersion" value="2905451385982" />
@ -96,9 +99,12 @@
<projects_view /> <projects_view />
</option> </option>
</component> </component>
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings"> <component name="GradleSettings">
<option name="linkedExternalProjectsSettings"> <option name="linkedExternalProjectsSettings">
<GradleProjectSettings> <GradleProjectSettings>
<option name="delegatedBuild" value="false" />
<option name="testRunner" value="PLATFORM" />
<option name="distributionType" value="LOCAL" /> <option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="C:/gradle" /> <option name="gradleHome" value="C:/gradle" />
@ -109,7 +115,6 @@
</set> </set>
</option> </option>
<option name="resolveModulePerSourceSet" value="false" /> <option name="resolveModulePerSourceSet" value="false" />
<option name="useAutoImport" value="true" />
</GradleProjectSettings> </GradleProjectSettings>
</option> </option>
</component> </component>
@ -165,6 +170,8 @@
<option name="SUGGEST_PRIVATE_FOR_INNERS" value="false" /> <option name="SUGGEST_PRIVATE_FOR_INNERS" value="false" />
</inspection_tool> </inspection_tool>
</profile> </profile>
<option name="PROJECT_PROFILE" value="Erik's Default" />
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" /> <version value="1.0" />
</component> </component>
<component name="MavenImportPreferences"> <component name="MavenImportPreferences">
@ -346,7 +353,7 @@
<module fileurl="file://$PROJECT_DIR$/.idea/modules/httpstatus.iml" filepath="$PROJECT_DIR$/.idea/modules/httpstatus.iml" group="httpstatus" /> <module fileurl="file://$PROJECT_DIR$/.idea/modules/httpstatus.iml" filepath="$PROJECT_DIR$/.idea/modules/httpstatus.iml" group="httpstatus" />
</modules> </modules>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="12" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="PropertiesComponent"> <component name="PropertiesComponent">
@ -359,6 +366,28 @@
<property name="settings.editor.selected.configurable" value="Errors" /> <property name="settings.editor.selected.configurable" value="Errors" />
<property name="settings.editor.splitter.proportion" value="0.2" /> <property name="settings.editor.splitter.proportion" value="0.2" />
</component> </component>
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="MavenLocal" />
<option name="name" value="MavenLocal" />
<option name="url" value="file:/$MAVEN_REPOSITORY$/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
</component>
<component name="RunManager"> <component name="RunManager">
<configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin"> <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
<module name="" /> <module name="" />
@ -450,6 +479,15 @@
<mapping directory="" vcs="Git" /> <mapping directory="" vcs="Git" />
</component> </component>
<component name="libraryTable"> <component name="libraryTable">
<library name="Gradle: aopalliance:aopalliance:1.0">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/aopalliance/aopalliance/1.0/235ba8b489512805ac13a8f9ea77a1ca5ebe3e8/aopalliance-1.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/aopalliance/aopalliance/1.0/4a4b6d692e17846a9f3da036438a7ac491d3c814/aopalliance-1.0-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: com.beust:jcommander:1.72"> <library name="Gradle: com.beust:jcommander:1.72">
<CLASSES> <CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.beust/jcommander/1.72/6375e521c1e11d6563d4f25a07ce124ccf8cd171/jcommander-1.72.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.beust/jcommander/1.72/6375e521c1e11d6563d4f25a07ce124ccf8cd171/jcommander-1.72.jar!/" />
@ -459,13 +497,13 @@
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.beust/jcommander/1.72/7ef123d5dfb6f839b41265648ff1be34982d50f8/jcommander-1.72-sources.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.beust/jcommander/1.72/7ef123d5dfb6f839b41265648ff1be34982d50f8/jcommander-1.72-sources.jar!/" />
</SOURCES> </SOURCES>
</library> </library>
<library name="Gradle: com.github.spotbugs:spotbugs-annotations:3.1.12"> <library name="Gradle: com.github.spotbugs:spotbugs-annotations:4.0.1">
<CLASSES> <CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.spotbugs/spotbugs-annotations/3.1.12/ba2c77a05091820668987292f245f3b089387bfa/spotbugs-annotations-3.1.12.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.spotbugs/spotbugs-annotations/4.0.1/192f5794e6aa74968a883ecdf5bf7d961843579f/spotbugs-annotations-4.0.1.jar!/" />
</CLASSES> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES> <SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.spotbugs/spotbugs-annotations/3.1.12/1d7b1099a4318469157e2172e0559ce0c5b2a85b/spotbugs-annotations-3.1.12-sources.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.github.spotbugs/spotbugs-annotations/4.0.1/f0b58a97c071884943ad5c48747a915f474f8fe6/spotbugs-annotations-4.0.1-sources.jar!/" />
</SOURCES> </SOURCES>
</library> </library>
<library name="Gradle: com.google.code.findbugs:jsr305:3.0.2"> <library name="Gradle: com.google.code.findbugs:jsr305:3.0.2">
@ -477,6 +515,49 @@
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/b19b5927c2c25b6c70f093767041e641ae0b1b35/jsr305-3.0.2-sources.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/b19b5927c2c25b6c70f093767041e641ae0b1b35/jsr305-3.0.2-sources.jar!/" />
</SOURCES> </SOURCES>
</library> </library>
<library name="Gradle: com.google.errorprone:error_prone_annotations:2.1.3">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.1.3/39b109f2cd352b2d71b52a3b5a1a9850e1dc304b/error_prone_annotations-2.1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.errorprone/error_prone_annotations/2.1.3/990fe1fd48078a2befecdfcebcad8e6e1bd195a0/error_prone_annotations-2.1.3-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: com.google.guava:guava:25.1-android">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/25.1-android/bdaab946ca5ad20253502d873ba0c3313d141036/guava-25.1-android.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/25.1-android/a1fe5380cc1f2979e434c3b6ff43d69328ab4686/guava-25.1-android-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: com.google.inject:guice:4.2.2:no_aop">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.2.2/fa13659f9128f4c011c8e1d06f137083b4876377/guice-4.2.2-no_aop.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.inject/guice/4.2.2/ffd85e2a6ab1f015b16fc766ced990fd260024a4/guice-4.2.2-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: com.google.j2objc:j2objc-annotations:1.1">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.1/ed28ded51a8b1c6b112568def5f4b455e6809019/j2objc-annotations-1.1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.j2objc/j2objc-annotations/1.1/1efdf5b737b02f9b72ebdec4f72c37ec411302ff/j2objc-annotations-1.1-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: javax.inject:javax.inject:1">
<CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/javax/inject/javax.inject/1/javax.inject-1.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
<library name="Gradle: javax.servlet.jsp:jsp-api:2.2.1-b03"> <library name="Gradle: javax.servlet.jsp:jsp-api:2.2.1-b03">
<CLASSES> <CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.servlet.jsp/jsp-api/2.2.1-b03/c7205b380e9ceb4b96745656755f31f76ae01b74/jsp-api-2.2.1-b03.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.servlet.jsp/jsp-api/2.2.1-b03/c7205b380e9ceb4b96745656755f31f76ae01b74/jsp-api-2.2.1-b03.jar!/" />
@ -495,22 +576,94 @@
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.servlet/javax.servlet-api/4.0.1/49a9da44db6e6b5f44ce15ddfcfe2b6666151b25/javax.servlet-api-4.0.1-sources.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.servlet/javax.servlet-api/4.0.1/49a9da44db6e6b5f44ce15ddfcfe2b6666151b25/javax.servlet-api-4.0.1-sources.jar!/" />
</SOURCES> </SOURCES>
</library> </library>
<library name="Gradle: org.apache-extras.beanshell:bsh:2.0b6"> <library name="Gradle: junit:junit:4.12">
<CLASSES> <CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache-extras.beanshell/bsh/2.0b6/fb418f9b33a0b951e9a2978b4b6ee93b2707e72f/bsh-2.0b6.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar!/" />
</CLASSES> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES> <SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache-extras.beanshell/bsh/2.0b6/76a65f674e8f2df409934824c49ca338987c63ae/bsh-2.0b6-sources.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/a6c32b40bf3d76eca54e3c601e5d1470c86fcdfa/junit-4.12-sources.jar!/" />
</SOURCES> </SOURCES>
</library> </library>
<library name="Gradle: org.testng:testng:6.14.3"> <library name="Gradle: org.apache.ant:ant-launcher:1.10.3">
<CLASSES> <CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.testng/testng/6.14.3/d24515dc253e77e54b73df97e1fb2eb7faf34fdd/testng-6.14.3.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.ant/ant-launcher/1.10.3/9dd5189e7f561ca19833b4e3672720b9bc5cb2fe/ant-launcher-1.10.3.jar!/" />
</CLASSES> </CLASSES>
<JAVADOC /> <JAVADOC />
<SOURCES> <SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.testng/testng/6.14.3/bfd2538501a129a142fe8366169c48b91609dc0b/testng-6.14.3-sources.jar!/" /> <root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.ant/ant-launcher/1.10.3/76eba2d6daf50f8af38da8b614c92958d4214341/ant-launcher-1.10.3-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: org.apache.ant:ant:1.10.3">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.ant/ant/1.10.3/88becdeb77cdd2457757b7268e1a10666c03d382/ant-1.10.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.ant/ant/1.10.3/2a1eb94c55d39b6fe6be97e52c213fe10587b753/ant-1.10.3-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: org.apache.commons:commons-lang3:3.9">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.9/122c7cee69b53ed4a7681c03d4ee4c0e2765da5/commons-lang3-3.9.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-lang3/3.9/8f1cb192e229bc4cd1c900c51171d96706e6d195/commons-lang3-3.9-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: org.apache.commons:commons-text:1.8">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-text/1.8/879a6bde4c0537a25504c72ec7a94ba4099f469c/commons-text-1.8.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.apache.commons/commons-text/1.8/79ddc6e7b5ea247f5553f4e948863708dbdd5316/commons-text-1.8-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: org.checkerframework:checker-compat-qual:2.0.0">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.checkerframework/checker-compat-qual/2.0.0/fc89b03860d11d6213d0154a62bcd1c2f69b9efa/checker-compat-qual-2.0.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.checkerframework/checker-compat-qual/2.0.0/eb7f7d588d0aef07a2c89178053c2a9e4613947f/checker-compat-qual-2.0.0-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: org.codehaus.mojo:animal-sniffer-annotations:1.14">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.14/775b7e22fb10026eed3f86e8dc556dfafe35f2d5/animal-sniffer-annotations-1.14.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.codehaus.mojo/animal-sniffer-annotations/1.14/886474da3f761d39fcbb723d97ecc5089e731f42/animal-sniffer-annotations-1.14-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: org.hamcrest:hamcrest-core:1.3">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.3/1dc37250fbc78e23a65a67fbbaf71d2e9cbc3c0b/hamcrest-core-1.3-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: org.testng:testng:7.2.0">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.testng/testng/7.2.0/23ba3a808f4977cebe17e53e784407f672d367fe/testng-7.2.0.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.testng/testng/7.2.0/9b5a2026c42738506c51df5bc7d56f92488cdf2a/testng-7.2.0-sources.jar!/" />
</SOURCES>
</library>
<library name="Gradle: org.yaml:snakeyaml:1.21">
<CLASSES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.21/18775fdda48574784f40b47bf478ab0593f92e4d/snakeyaml-1.21.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.yaml/snakeyaml/1.21/1baf1df46ea31a7bf1667eccf8f417c034e5dcc6/snakeyaml-1.21-sources.jar!/" />
</SOURCES> </SOURCES>
</library> </library>
</component> </component>

View file

@ -1,4 +1,4 @@
Copyright (c) 2015-2019, Erik C. Thauvin (erik@thauvin.net) Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

View file

@ -8,13 +8,13 @@ plugins {
id 'maven-publish' id 'maven-publish'
id 'pmd' id 'pmd'
id 'com.jfrog.bintray' version '1.8.4' id 'com.jfrog.bintray' version '1.8.4'
id 'com.github.ben-manes.versions' version '0.21.0' id 'com.github.ben-manes.versions' version '0.28.0'
id 'net.thauvin.erik.gradle.semver' version '1.0.0' id 'net.thauvin.erik.gradle.semver' version '1.0.4'
id 'com.github.spotbugs' version '1.7.1' id 'com.github.spotbugs' version '4.0.4'
id 'org.sonarqube' version '2.7' id 'org.sonarqube' version '2.8'
} }
import com.github.spotbugs.SpotBugsTask import com.github.spotbugs.snom.SpotBugsTask
import org.apache.tools.ant.taskdefs.condition.Os import org.apache.tools.ant.taskdefs.condition.Os
defaultTasks 'deploy' defaultTasks 'deploy'
@ -36,9 +36,12 @@ def pkgLabels = ['jsp', 'tag library', 'http', 'status code', 'java']
group = 'net.thauvin.erik.httpstatus' group = 'net.thauvin.erik.httpstatus'
mainClassName = 'net.thauvin.erik.httpstatus.Reasons' mainClassName = 'net.thauvin.erik.httpstatus.Reasons'
sourceCompatibility = 1.8
targetCompatibility = 1.8 ext {
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' versions = [
spotbugs: '4.0.1'
]
}
repositories { repositories {
mavenLocal() mavenLocal()
@ -49,13 +52,22 @@ dependencies {
implementation 'javax.servlet:javax.servlet-api:4.0.1' implementation 'javax.servlet:javax.servlet-api:4.0.1'
implementation 'javax.servlet.jsp:jsp-api:2.2.1-b03' implementation 'javax.servlet.jsp:jsp-api:2.2.1-b03'
spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.9.0' spotbugsPlugins 'com.h3xstream.findsecbugs:findsecbugs-plugin:1.10.1'
spotbugsPlugins 'com.mebigfatguy.fb-contrib:fb-contrib:7.4.3.sb' spotbugsPlugins 'com.mebigfatguy.sb-contrib:sb-contrib:7.4.7'
compileOnly 'com.github.spotbugs:spotbugs-annotations:3.1.12' compileOnly "com.github.spotbugs:spotbugs-annotations:$versions.spotbugs"
testCompileOnly 'com.github.spotbugs:spotbugs-annotations:3.1.12' testCompileOnly "com.github.spotbugs:spotbugs-annotations:$versions.spotbugs"
testImplementation 'org.testng:testng:6.14.3' testImplementation 'org.testng:testng:7.2.0'
}
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
java {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
} }
javadoc { javadoc {
@ -67,11 +79,6 @@ javadoc {
options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('Xdoclint:none', '-quiet')
} }
compileJava {
//options.compilerArgs << '-Xlint:unchecked' << '-Xlint:deprecation'
}
jar { jar {
manifest.attributes('Main-Class': mainClassName) manifest.attributes('Main-Class': mainClassName)
} }
@ -86,17 +93,16 @@ test {
useTestNG() useTestNG()
} }
pmd { spotbugs {
ruleSetFiles = files("config/pmd.xml") toolVersion = versions.spotbugs
ruleSets = [] excludeFilter = file("$projectDir/config/spotbugs/excludeFilter.xml")
} }
tasks.withType(SpotBugsTask) { pmd {
reports { ignoreFailures = true
xml.enabled = false ruleSets = []
html.enabled = true ruleSetFiles = files("${projectDir}/config/pmd.xml")
} consoleOutput = true
excludeFilter = file("$projectDir/config/spotbugs/excludeFilter.xml")
} }
tasks.withType(Checkstyle) { tasks.withType(Checkstyle) {
@ -209,7 +215,7 @@ task deploy(dependsOn: ['clean', 'build', 'copyToDeploy']) {
mustRunAfter clean mustRunAfter clean
} }
task release(dependsOn: ['wrapper', 'deploy']) { task release(dependsOn: ['wrapper', 'deploy', 'publishToMavenLocal']) {
group = 'Publishing' group = 'Publishing'
description = 'Releases new version.' description = 'Releases new version.'
} }

View file

@ -32,10 +32,27 @@
<property name="eachLine" value="true"/> <property name="eachLine" value="true"/>
</module> </module>
<module name="LineLength">
<property name="max" value="120"/>
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
</module>
<module name="SuppressWarningsFilter"/> <module name="SuppressWarningsFilter"/>
<module name="SuppressWithPlainTextCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE_OFF"/>
<property name="onCommentFormat" value="CHECKSTYLE_ON"/>
<property name="checkFormat"
value="^((?!(FileTabCharacterCheck)).)*$"/>
</module>
<module name="TreeWalker"> <module name="TreeWalker">
<module name="SuppressWarningsHolder"/> <module name="SuppressWarningsHolder"/>
<module name="SuppressionCommentFilter">
<property name="offCommentFormat" value="CHECKSTYLE_OFF: ALMOST_ALL"/>
<property name="onCommentFormat" value="CHECKSTYLE_ON: ALMOST_ALL"/>
<property name="checkFormat" value="^((?!(EqualsHashCode)).)*$"/>
</module>
<module name="OuterTypeFilename"/> <module name="OuterTypeFilename"/>
<module name="IllegalTokenText"> <module name="IllegalTokenText">
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/> <property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
@ -49,10 +66,6 @@
<property name="allowByTailComment" value="true"/> <property name="allowByTailComment" value="true"/>
<property name="allowNonPrintableEscapes" value="true"/> <property name="allowNonPrintableEscapes" value="true"/>
</module> </module>
<module name="LineLength">
<property name="max" value="120"/>
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
</module>
<module name="AvoidStarImport"/> <module name="AvoidStarImport"/>
<module name="OneTopLevelClass"/> <module name="OneTopLevelClass"/>
<module name="NoLineWrap"/> <module name="NoLineWrap"/>
@ -245,11 +258,8 @@
<module name="JavadocMethod"> <module name="JavadocMethod">
<property name="scope" value="public"/> <property name="scope" value="public"/>
<property name="allowMissingParamTags" value="true"/> <property name="allowMissingParamTags" value="true"/>
<property name="allowMissingThrowsTags" value="true"/>
<property name="allowMissingReturnTag" value="true"/> <property name="allowMissingReturnTag" value="true"/>
<property name="minLineCount" value="2"/>
<property name="allowedAnnotations" value="Override, Test"/> <property name="allowedAnnotations" value="Override, Test"/>
<property name="allowThrowsTagsForSubclasses" value="true"/>
</module> </module>
<module name="MethodName"> <module name="MethodName">
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/> <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
@ -262,6 +272,6 @@
<module name="EmptyCatchBlock"> <module name="EmptyCatchBlock">
<property name="exceptionVariableName" value="expected"/> <property name="exceptionVariableName" value="expected"/>
</module> </module>
<module name="CommentsIndentation"/> <!-- <module name="CommentsIndentation"/> -->
</module> </module>
</module> </module>

View file

@ -1,26 +1,38 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!--
~ pmd.xml
~
~ Copyright (c) 2010-2020, Erik C. Thauvin (erik@thauvin.net)
~ All rights reserved.
-->
<ruleset name="erik" <ruleset name="erik"
xmlns="http://pmd.sourceforge.net/ruleset/2.0.0" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd"> xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 https://pmd.sourceforge.io/ruleset_2_0_0.xsd">
<description>Erik's Ruleset</description> <description>Erik's Ruleset</description>
<!-- BEST PRACTICES --> <!-- BEST PRACTICES -->
<rule ref="category/java/bestpractices.xml/AvoidStringBufferField"/> <!-- <rule ref="category/java/bestpractices.xml/AvoidStringBufferField"/>-->
<rule ref="category/java/bestpractices.xml/AvoidUsingHardCodedIP"/> <rule ref="category/java/bestpractices.xml/AvoidUsingHardCodedIP"/>
<rule ref="category/java/bestpractices.xml/CheckResultSet"/> <rule ref="category/java/bestpractices.xml/CheckResultSet"/>
<rule ref="category/java/bestpractices.xml/ConstantsInInterface"/> <rule ref="category/java/bestpractices.xml/ConstantsInInterface"/>
<rule ref="category/java/bestpractices.xml/DefaultLabelNotLastInSwitchStmt"/> <rule ref="category/java/bestpractices.xml/DefaultLabelNotLastInSwitchStmt"/>
<rule ref="category/java/bestpractices.xml/ForLoopCanBeForeach"/> <rule ref="category/java/bestpractices.xml/ForLoopCanBeForeach"/>
<rule ref="category/java/bestpractices.xml/GuardLogStatement"/> <rule ref="category/java/bestpractices.xml/GuardLogStatement"/>
<rule ref="category/java/bestpractices.xml/LooseCoupling"/> <!-- <rule ref="category/java/bestpractices.xml/LooseCoupling"/> -->
<rule ref="category/java/bestpractices.xml/MethodReturnsInternalArray"/> <rule ref="category/java/bestpractices.xml/MethodReturnsInternalArray"/>
<rule ref="category/java/bestpractices.xml/MissingOverride"/> <rule ref="category/java/bestpractices.xml/MissingOverride">
<properties>
<property name="violationSuppressXPath"
value="./MethodDeclarator[@Image='hashCode' or @Image='equals' or @Image='toString']"/>
</properties>
</rule>
<rule ref="category/java/bestpractices.xml/PositionLiteralsFirstInCaseInsensitiveComparisons"/> <rule ref="category/java/bestpractices.xml/PositionLiteralsFirstInCaseInsensitiveComparisons"/>
<rule ref="category/java/bestpractices.xml/PositionLiteralsFirstInComparisons"/> <rule ref="category/java/bestpractices.xml/PositionLiteralsFirstInComparisons"/>
<rule ref="category/java/bestpractices.xml/PreserveStackTrace"/> <rule ref="category/java/bestpractices.xml/PreserveStackTrace"/>
<rule ref="category/java/bestpractices.xml/ReplaceEnumerationWithIterator"/> <rule ref="category/java/bestpractices.xml/ReplaceEnumerationWithIterator"/>
<rule ref="category/java/bestpractices.xml/ReplaceHashtableWithMap"/> <!-- <rule ref="category/java/bestpractices.xml/ReplaceHashtableWithMap"/>
<rule ref="category/java/bestpractices.xml/ReplaceVectorWithList"/> <rule ref="category/java/bestpractices.xml/ReplaceVectorWithList"/> -->
<rule ref="category/java/bestpractices.xml/SwitchStmtsShouldHaveDefault"/> <rule ref="category/java/bestpractices.xml/SwitchStmtsShouldHaveDefault"/>
<rule ref="category/java/bestpractices.xml/SystemPrintln"/> <rule ref="category/java/bestpractices.xml/SystemPrintln"/>
<rule ref="category/java/bestpractices.xml/UnusedFormalParameter"/> <rule ref="category/java/bestpractices.xml/UnusedFormalParameter"/>
@ -41,7 +53,7 @@
<rule ref="category/java/codestyle.xml/GenericsNaming"/> <rule ref="category/java/codestyle.xml/GenericsNaming"/>
<rule ref="category/java/codestyle.xml/LocalVariableNamingConventions"/> <rule ref="category/java/codestyle.xml/LocalVariableNamingConventions"/>
<rule ref="category/java/codestyle.xml/MethodNamingConventions"/> <rule ref="category/java/codestyle.xml/MethodNamingConventions"/>
<rule ref="category/java/codestyle.xml/PackageCase"/> <!-- <rule ref="category/java/codestyle.xml/PackageCase"/>-->
<!-- OTHER --> <!-- OTHER -->
@ -84,7 +96,7 @@
<rule ref="category/java/design.xml/DataClass"/> <rule ref="category/java/design.xml/DataClass"/>
<rule ref="category/java/design.xml/DoNotExtendJavaLangError"/> <rule ref="category/java/design.xml/DoNotExtendJavaLangError"/>
<rule ref="category/java/design.xml/ExceptionAsFlowControl"/> <rule ref="category/java/design.xml/ExceptionAsFlowControl"/>
<rule ref="category/java/design.xml/ExcessivePublicCount"/> <!-- <rule ref="category/java/design.xml/ExcessivePublicCount"/>-->
<rule ref="category/java/design.xml/FinalFieldCouldBeStatic"/> <rule ref="category/java/design.xml/FinalFieldCouldBeStatic"/>
<rule ref="category/java/design.xml/ImmutableField"/> <rule ref="category/java/design.xml/ImmutableField"/>
<rule ref="category/java/design.xml/LogicInversion"/> <rule ref="category/java/design.xml/LogicInversion"/>
@ -108,6 +120,8 @@
<rule ref="category/java/errorprone.xml/AssignmentInOperand"> <rule ref="category/java/errorprone.xml/AssignmentInOperand">
<properties> <properties>
<property name="allowWhile" value="true"/> <property name="allowWhile" value="true"/>
<property name="allowFor" value="true"/>
<property name="allowIf" value="true"/>
</properties> </properties>
</rule> </rule>
<rule ref="category/java/errorprone.xml/AssignmentToNonFinalStatic"/> <rule ref="category/java/errorprone.xml/AssignmentToNonFinalStatic"/>
@ -117,7 +131,11 @@
<rule ref="category/java/errorprone.xml/AvoidCallingFinalize"/> <rule ref="category/java/errorprone.xml/AvoidCallingFinalize"/>
<rule ref="category/java/errorprone.xml/AvoidCatchingThrowable"/> <rule ref="category/java/errorprone.xml/AvoidCatchingThrowable"/>
<rule ref="category/java/errorprone.xml/AvoidDecimalLiteralsInBigDecimalConstructor"/> <rule ref="category/java/errorprone.xml/AvoidDecimalLiteralsInBigDecimalConstructor"/>
<rule ref="category/java/errorprone.xml/AvoidDuplicateLiterals"/> <rule ref="category/java/errorprone.xml/AvoidDuplicateLiterals">
<properties>
<property name="skipAnnotations" value="true"/>
</properties>
</rule>
<rule ref="category/java/errorprone.xml/AvoidEnumAsIdentifier"/> <rule ref="category/java/errorprone.xml/AvoidEnumAsIdentifier"/>
<rule ref="category/java/errorprone.xml/AvoidInstanceofChecksInCatchClause"/> <rule ref="category/java/errorprone.xml/AvoidInstanceofChecksInCatchClause"/>
<rule ref="category/java/errorprone.xml/AvoidLosingExceptionInformation"/> <rule ref="category/java/errorprone.xml/AvoidLosingExceptionInformation"/>
@ -150,11 +168,10 @@
<rule ref="category/java/errorprone.xml/IdempotentOperations"/> <rule ref="category/java/errorprone.xml/IdempotentOperations"/>
<rule ref="category/java/errorprone.xml/ImportFromSamePackage"/> <rule ref="category/java/errorprone.xml/ImportFromSamePackage"/>
<rule ref="category/java/errorprone.xml/InstantiationToGetClass"/> <rule ref="category/java/errorprone.xml/InstantiationToGetClass"/>
<rule ref="category/java/errorprone.xml/InvalidSlf4jMessageFormat"/> <rule ref="category/java/errorprone.xml/InvalidLogMessageFormat"/>
<rule ref="category/java/errorprone.xml/JumbledIncrementer"/> <rule ref="category/java/errorprone.xml/JumbledIncrementer"/>
<rule ref="category/java/errorprone.xml/JUnitSpelling"/> <rule ref="category/java/errorprone.xml/JUnitSpelling"/>
<rule ref="category/java/errorprone.xml/JUnitStaticSuite"/> <rule ref="category/java/errorprone.xml/JUnitStaticSuite"/>
<rule ref="category/java/errorprone.xml/LoggerIsNotStaticFinal"/>
<rule ref="category/java/errorprone.xml/MethodWithSameNameAsEnclosingClass"/> <rule ref="category/java/errorprone.xml/MethodWithSameNameAsEnclosingClass"/>
<rule ref="category/java/errorprone.xml/MisplacedNullCheck"/> <rule ref="category/java/errorprone.xml/MisplacedNullCheck"/>
<rule ref="category/java/errorprone.xml/MissingBreakInSwitch"/> <rule ref="category/java/errorprone.xml/MissingBreakInSwitch"/>
@ -163,7 +180,7 @@
<rule ref="category/java/errorprone.xml/MoreThanOneLogger"/> <rule ref="category/java/errorprone.xml/MoreThanOneLogger"/>
<rule ref="category/java/errorprone.xml/NonCaseLabelInSwitchStatement"/> <rule ref="category/java/errorprone.xml/NonCaseLabelInSwitchStatement"/>
<rule ref="category/java/errorprone.xml/NonStaticInitializer"/> <rule ref="category/java/errorprone.xml/NonStaticInitializer"/>
<rule ref="category/java/errorprone.xml/NullAssignment"/> <!-- <rule ref="category/java/errorprone.xml/NullAssignment"/>-->
<rule ref="category/java/errorprone.xml/OverrideBothEqualsAndHashcode"/> <rule ref="category/java/errorprone.xml/OverrideBothEqualsAndHashcode"/>
<rule ref="category/java/errorprone.xml/ProperCloneImplementation"/> <rule ref="category/java/errorprone.xml/ProperCloneImplementation"/>
<rule ref="category/java/errorprone.xml/ProperLogger"/> <rule ref="category/java/errorprone.xml/ProperLogger"/>
@ -241,7 +258,7 @@
<rule ref="category/java/performance.xml/StringToString"/> <rule ref="category/java/performance.xml/StringToString"/>
<rule ref="category/java/performance.xml/TooFewBranchesForASwitchStatement"/> <rule ref="category/java/performance.xml/TooFewBranchesForASwitchStatement"/>
<rule ref="category/java/performance.xml/UnnecessaryWrapperObjectCreation"/> <rule ref="category/java/performance.xml/UnnecessaryWrapperObjectCreation"/>
<rule ref="category/java/performance.xml/UseArrayListInsteadOfVector"/> <!-- <rule ref="category/java/performance.xml/UseArrayListInsteadOfVector"/> -->
<rule ref="category/java/performance.xml/UseArraysAsList"/> <rule ref="category/java/performance.xml/UseArraysAsList"/>
<rule ref="category/java/performance.xml/UseIndexOfChar"/> <rule ref="category/java/performance.xml/UseIndexOfChar"/>
<rule ref="category/java/performance.xml/UselessStringValueOf"/> <rule ref="category/java/performance.xml/UselessStringValueOf"/>

Binary file not shown.

View file

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-rc-4-bin.zip
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists

35
gradlew vendored
View file

@ -7,7 +7,7 @@
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
# You may obtain a copy of the License at # You may obtain a copy of the License at
# #
# http://www.apache.org/licenses/LICENSE-2.0 # https://www.apache.org/licenses/LICENSE-2.0
# #
# Unless required by applicable law or agreed to in writing, software # Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, # distributed under the License is distributed on an "AS IS" BASIS,
@ -125,8 +125,8 @@ if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi fi
# For Cygwin, switch paths to Windows format before running java # For Cygwin or MSYS, switch paths to Windows format before running java
if $cygwin ; then if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"` APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"` JAVACMD=`cygpath --unix "$JAVACMD"`
@ -154,19 +154,19 @@ if $cygwin ; then
else else
eval `echo args$i`="\"$arg\"" eval `echo args$i`="\"$arg\""
fi fi
i=$((i+1)) i=`expr $i + 1`
done done
case $i in case $i in
(0) set -- ;; 0) set -- ;;
(1) set -- "$args0" ;; 1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;; 2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;; 3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;; 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac esac
fi fi
@ -175,14 +175,9 @@ save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " " echo " "
} }
APP_ARGS=$(save "$@") APP_ARGS=`save "$@"`
# Collect all arguments for the java command, following the shell quoting and substitution rules # Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@" exec "$JAVACMD" "$@"

5
gradlew.bat vendored
View file

@ -5,7 +5,7 @@
@rem you may not use this file except in compliance with the License. @rem you may not use this file except in compliance with the License.
@rem You may obtain a copy of the License at @rem You may obtain a copy of the License at
@rem @rem
@rem http://www.apache.org/licenses/LICENSE-2.0 @rem https://www.apache.org/licenses/LICENSE-2.0
@rem @rem
@rem Unless required by applicable law or agreed to in writing, software @rem Unless required by applicable law or agreed to in writing, software
@rem distributed under the License is distributed on an "AS IS" BASIS, @rem distributed under the License is distributed on an "AS IS" BASIS,
@ -29,6 +29,9 @@ if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0 set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME% set APP_HOME=%DIRNAME%
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"

View file

@ -1,7 +1,7 @@
/* /*
* Utils.java * Utils.java
* *
* Copyright (c) 2015-2016, Erik C. Thauvin (erik@thauvin.net) * Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -100,7 +100,7 @@ public final class Utils {
* @throws IOException If an I/O error occurs. * @throws IOException If an I/O error occurs.
*/ */
public static void outWrite(final Writer out, final String value, final String defaultValue, final boolean xml) public static void outWrite(final Writer out, final String value, final String defaultValue, final boolean xml)
throws IOException { throws IOException {
if (xml) { if (xml) {
if (value != null) { if (value != null) {
out.write(escapeXml(value)); out.write(escapeXml(value));

View file

@ -1,7 +1,7 @@
/* /*
* CauseTag.java * CauseTag.java
* *
* Copyright (c) 2015-2016, Erik C. Thauvin (erik@thauvin.net) * Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -52,6 +52,7 @@ public class CauseTag extends XmlSupport {
@Override @Override
public void doTag() throws IOException { public void doTag() throws IOException {
final PageContext pageContext = (PageContext) getJspContext(); final PageContext pageContext = (PageContext) getJspContext();
@SuppressWarnings("PMD.CloseResource")
final JspWriter out = pageContext.getOut(); final JspWriter out = pageContext.getOut();
String cause; String cause;
@ -63,5 +64,7 @@ public class CauseTag extends XmlSupport {
} }
Utils.outWrite(out, cause, defaultValue, escapeXml); Utils.outWrite(out, cause, defaultValue, escapeXml);
} }
} }

View file

@ -1,7 +1,7 @@
/* /*
* CodeTag.java * CodeTag.java
* *
* Copyright (c) 2015-2016, Erik C. Thauvin (erik@thauvin.net) * Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -51,6 +51,7 @@ public class CodeTag extends SimpleTagSupport {
@Override @Override
public void doTag() throws IOException { public void doTag() throws IOException {
final PageContext pageContext = (PageContext) getJspContext(); final PageContext pageContext = (PageContext) getJspContext();
@SuppressWarnings("PMD.CloseResource")
final JspWriter out = pageContext.getOut(); final JspWriter out = pageContext.getOut();
out.write(String.valueOf(pageContext.getErrorData().getStatusCode())); out.write(String.valueOf(pageContext.getErrorData().getStatusCode()));

View file

@ -1,7 +1,7 @@
/* /*
* ReasonTag.java * ReasonTag.java
* *
* Copyright (c) 2015-2016, Erik C. Thauvin (erik@thauvin.net) * Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -56,6 +56,7 @@ public class ReasonTag extends XmlSupport {
@Override @Override
public void doTag() { public void doTag() {
final PageContext pageContext = (PageContext) getJspContext(); final PageContext pageContext = (PageContext) getJspContext();
@SuppressWarnings("PMD.CloseResource")
final JspWriter out = pageContext.getOut(); final JspWriter out = pageContext.getOut();
try { try {

View file

@ -1,7 +1,7 @@
/* /*
* XmlSupport.java * XmlSupport.java
* *
* Copyright (c) 2015-2016, Erik C. Thauvin (erik@thauvin.net) * Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View file

@ -2,7 +2,7 @@
<!-- <!--
~ httpstatus.tld ~ httpstatus.tld
~ ~
~ Copyright (c) 2015-2019, Erik C. Thauvin (erik@thauvin.net) ~ Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
~ All rights reserved. ~ All rights reserved.
~ ~
~ Redistribution and use in source and binary forms, with or without ~ Redistribution and use in source and binary forms, with or without

View file

@ -1,7 +1,7 @@
/* /*
* TestMain.java * ReasonsMainTest.java
* *
* Copyright (c) 2015-2019, Erik C. Thauvin (erik@thauvin.net) * Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -49,7 +49,7 @@ import static org.testng.Assert.assertTrue;
* @created 2019-05-06 * @created 2019-05-06
* @since 1.0 * @since 1.0
*/ */
@SuppressFBWarnings({"DM_DEFAULT_ENCODING", "ITU_INAPPROPRIATE_TOSTRING_USE"}) @SuppressFBWarnings({ "DM_DEFAULT_ENCODING", "ITU_INAPPROPRIATE_TOSTRING_USE" })
public class ReasonsMainTest { public class ReasonsMainTest {
private final PrintStream originalOut = System.out; private final PrintStream originalOut = System.out;
private final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); private final ByteArrayOutputStream outContent = new ByteArrayOutputStream();

View file

@ -1,7 +1,7 @@
/* /*
* ReasonsTest.java * ReasonsTest.java
* *
* Copyright (c) 2015-2016, Erik C. Thauvin (erik@thauvin.net) * Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -52,7 +52,7 @@ public class ReasonsTest {
for (final String key : bundle.keySet()) { for (final String key : bundle.keySet()) {
assertEquals(bundle.getString(key), Reasons.getReasonPhrase(key), "getReasonPhrase(" + key + ')'); assertEquals(bundle.getString(key), Reasons.getReasonPhrase(key), "getReasonPhrase(" + key + ')');
assertEquals(bundle.getString(key), Reasons.getReasonPhrase(Integer.parseInt(key)), assertEquals(bundle.getString(key), Reasons.getReasonPhrase(Integer.parseInt(key)),
"getReasonPhrase(int: " + key + ')'); "getReasonPhrase(int: " + key + ')');
} }
} }

View file

@ -1,7 +1,7 @@
/* /*
* UtilsTest.java * UtilsTest.java
* *
* Copyright (c) 2015-2016, Erik C. Thauvin (erik@thauvin.net) * Copyright (c) 2015-2020, Erik C. Thauvin (erik@thauvin.net)
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -51,9 +51,10 @@ public class UtilsTest {
@Test @Test
public void testEscapeXml() { public void testEscapeXml() {
assertEquals(Utils.escapeXml( assertEquals(Utils.escapeXml(
"This is a test. We wan't to make sure that everything is <encoded> according the \"encoding\" parameter " "This is a test. We wan't to make sure that everything is <encoded> according the \"encoding\" "
+ "& value."), "This is a test. We wan&#039;t to make sure that everything is &lt;encoded&gt; according " + "parameter & value."),
+ "the &#034;encoding&#034; parameter &amp; value."); "This is a test. We wan&#039;t to make sure that everything is &lt;encoded&gt; according the "
+ "&#034;encoding&#034; parameter &amp; value.");
} }
@SuppressWarnings("PMD.AvoidDuplicateLiterals") @SuppressWarnings("PMD.AvoidDuplicateLiterals")