OSDN Git Service

Merge release/v1.202.2 release-1.202.2
authorOlyutorskii <olyutorskii@users.osdn.me>
Thu, 6 Jun 2019 04:58:50 +0000 (13:58 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Thu, 6 Jun 2019 04:58:50 +0000 (13:58 +0900)
12 files changed:
CHANGELOG.txt
README.txt
SCM.txt [deleted file]
config/checkstyle/checkstyle-suppressions.xml [new file with mode: 0644]
config/checkstyle/checkstyle.xml [moved from src/main/config/checks.xml with 60% similarity]
config/pmd/pmdrules.xml [new file with mode: 0644]
fixcrlf.xml [deleted file]
pom.xml
src/assembly/src.xml [moved from src/main/assembly/descriptor.xml with 53% similarity]
src/main/config/pmdrules.xml [deleted file]
src/main/config/suppressions.xml [deleted file]
src/main/java/jp/sfjp/mikutoga/pmd/model/xml/SaxListener.java

index 7a36012..e7c535f 100644 (file)
@@ -4,9 +4,12 @@
 Pmd2XML 変更履歴
 
 
-X.XXX.X (20XX-XX-XX)
+1.202.2 (2019-06-06)
+    ・必須環境をJavaSE8に引き上げ。
     ・デフォルトロケールによる出力揺らぎを解消。
     ・プロセス終了コードの変更。
+    ・Mercurial(1.201.5-SNAPSHOT)からGit(1.201.105-SNAPSHOT)へSCMを移行。
+    ・JAXBへの依存を解消。
 
 1.201.2B (2013-09-01)
      ・1.201.2版リリース配布物にビルド設定が含まれていなかった件に対処。
index 405b557..3dd31a3 100644 (file)
@@ -25,14 +25,14 @@ Pmd2XMLは、同じMikuTogaプロジェクト内のTogaGemライブラリを用
 
 === 実行環境 ===
 
- - Pmd2XMLはJava言語(JLS3)で記述されたプログラムです。
- - Pmd2XMLはJRE1.6に準拠したJava実行環境で利用できるように作られています。
-   原則として、JRE1.6に準拠した実行系であれば、プラットフォームを選びません。
+ - Pmd2XMLはJava言語(JavaSE8)で記述されたプログラムです。
+ - Pmd2XMLはJavaSE8に準拠したJava実行環境で利用できるように作られています。
+   原則として、JavaSE8に準拠した実行系であれば、プラットフォームを選びません。
 
 
 === 開発プロジェクト運営元 ===
 
-  http://sourceforge.jp/projects/mikutoga/ まで。
+  https://ja.osdn.net/projects/mikutoga/ まで。
 
 
 === ディレクトリ内訳構成 ===
@@ -48,9 +48,6 @@ Pmd2XMLは、同じMikuTogaプロジェクト内のTogaGemライブラリを用
 ./LICENSE.txt
     ライセンスに関して。
 
-./SCM.txt
-    ソースコード管理に関して。
-
 ./pom.xml
     Maven3用プロジェクト構成定義ファイル。
 
diff --git a/SCM.txt b/SCM.txt
deleted file mode 100644 (file)
index 7cde56b..0000000
--- a/SCM.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-[UTF-8 Japanese]
-
-                               P m d 2 X M L
-                    バージョン管理システムに関する情報
-
-                                              Copyright(c) 2011 olyutorskii
-
-
-=== バージョン管理体制 ===
-
-  このアーカイブの原本は、Mercurial(hg)でバージョン管理されています。
-  このアーカイブの原本となる開発資産は、
-      http://hg.sourceforge.jp/view/mikutoga/Pmd2XML
-  を上位に持つMercurialリポジトリで管理されています。
-  アーカイブの代わりにMercurialを通じての開発資産へのアクセスが可能です。
-  # hg clone http://hg.sourceforge.jp/view/mikutoga/Pmd2XML
-
-
-=== 各種設定ファイル ===
-
-./.hgignore
-
-Mercurial 管理の対象外にさせたいファイル群の設定です。
-IDE独自の設定ファイルは基本的に管理対象外とするつもりです。
-
-
-./.hgeol
-
-Mercurial の EOL Extension 用の設定です。
-非バイナリなテキストファイルの改行コードに関する設定です。
-・拡張子が *.txt なローカルファイルの改行文字はローカルの環境に合わせる。
-・拡張子が *.java なローカルファイルの改行文字はローカルの環境に合わせる。
-・それ以外の非バイナリなローカルファイルの改行文字は基本LFで統一。
-・リポジトリ上の全ての非バイナリファイルの改行文字は基本LFで統一。
-というポリシーで運用しています。
-EOL Extensionを有効にしないと設定が反映されません。
-
-
-=== リンク ===
-
-・http://mercurial.selenic.com/
-・http://mercurial.selenic.com/wiki/.hgignore
-・http://www.selenic.com/mercurial/hgignore.5.html
-・http://mercurial.selenic.com/wiki/EolExtension
-・http://tortoisehg.bitbucket.org/
-
-
---- EOF ---
diff --git a/config/checkstyle/checkstyle-suppressions.xml b/config/checkstyle/checkstyle-suppressions.xml
new file mode 100644 (file)
index 0000000..9b0570a
--- /dev/null
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!DOCTYPE suppressions PUBLIC
+    "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
+    "https://checkstyle.org/dtds/suppressions_1_2.dtd">
+
+<!--
+    Checkstyle suppressions
+    for Checkstyle 8.20 or later
+
+    [ https://checkstyle.org/ ]
+
+    Copyright(c) 2019 olyutorskii
+-->
+
+
+<suppressions>
+
+    <!-- Annotations -->
+    <suppress files="" checks="AnnotationOnSameLine" />
+
+    <!-- Class Design -->
+    <suppress files="" checks="DesignForExtension" />
+
+    <!-- Coding -->
+    <suppress files="" checks="ExplicitInitialization" />
+    <suppress files="" checks="FinalLocalVariable" />
+    <suppress files="" checks="MagicNumber" />
+
+    <!-- Imports -->
+    <suppress files="" checks="ImportControl" />
+
+    <!-- Javadoc Comments -->
+    <suppress files="" checks="JavadocParagraph" />
+    <suppress files="" checks="JavadocTagContinuationIndentation" />
+    <suppress files="" checks="SummaryJavadocCheck" />
+
+    <!-- Miscellaneous -->
+    <suppress files="" checks="FinalParameters" />
+    <suppress files="" checks="TrailingComment" />
+
+    <!-- Modifier -->
+    <suppress files="" checks="InterfaceMemberImpliedModifier" />
+
+    <!-- Whitespace -->
+    <suppress files="" checks="SingleSpaceSeparator" />
+
+</suppressions>
+
+
+<!-- EOF -->
similarity index 60%
rename from src/main/config/checks.xml
rename to config/checkstyle/checkstyle.xml
index 3e31cbb..7d19930 100644 (file)
@@ -1,17 +1,16 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
 <!DOCTYPE module PUBLIC
-    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
-    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+    "-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
+    "https://checkstyle.org/dtds/configuration_1_3.dtd">
 
 <!--
-    Checkstyle用チェック項目定義。
+    Checkstyle modules
+    for Checkstyle 8.21 or later
 
-    Checkstyle 5.5 以降向けに記述。
+    [ https://checkstyle.org/ ]
 
-    [ http://checkstyle.sourceforge.net/ ]
-
-    Copyright(c) 2010 olyutorskii
+    Copyright(c) 2019 olyutorskii
 -->
 
 
 
     <property name="charset" value="UTF-8" />
     <property name="localeCountry" value="JP" />
-    <property name="localeLanguage" value="ja" />
+    <property name="localeLanguage" value="en" />
+    <!--property name="localeLanguage" value="ja" /-->
+    <property name="fileExtensions" value="java, properties, xml, xsd, md, txt" />
     <property name="severity" value="error" />
 
 
     <!-- Filters -->
-    <module name="SeverityMatchFilter" />
-    <module name="SuppressionFilter">
-        <property name="file" value="src/main/config/suppressions.xml" />
-    </module>
-    <module name="SuppressionCommentFilter" />
-    <module name="SuppressWithNearbyCommentFilter" />
 
-
-    <!-- Duplicate Code -->
-    <module name="StrictDuplicateCode">
-        <property name="min" value="20" />
-    </module>
+    <module name="SeverityMatchFilter" />
+    <!--module name="SuppressionFilter" /-->
+    <module name="SuppressWarningsFilter" />
+    <module name="SuppressWithPlainTextCommentFilter" />
 
 
     <!-- Headers -->
+
+    <module name="Header">
+        <property name="header" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;" />
+        <property name="fileExtensions" value="xml" />
+    </module>
     <module name="RegexpHeader">
         <property name="header" value="^/\*$\n^ \*( .*)?$\n^ \*/$\n" />
         <property name="multiLines" value="2" />
 
 
     <!-- Javadoc Comments -->
+
     <module name="JavadocPackage" />
 
 
     <!-- Miscellaneous -->
+
     <module name="NewlineAtEndOfFile">
-        <property name="fileExtensions" value="java" />
+        <property name="fileExtensions" value="java, properties, xml, xsd, md, txt" />
     </module>
     <module name="Translation" />
+    <module name="UniqueProperties" />
 
 
     <!-- Regexp -->
+
+    <module name="RegexpMultiline">
+        <property name="format" value="[\u000b\f\u001a]" />
+    </module>
+    <module name="RegexpOnFilename" />
     <module name="RegexpSingleline">
         <property name="format" value="\s+$" />
-        <property name="minimum" value="0" />
-        <property name="maximum" value="0" />
+    </module>
+    <module name="RegexpSingleline">
+        <!-- scm conflict -->
+        <property name="format" value="&lt;&lt;&lt;&lt;&lt;" />
     </module>
 
 
     <!-- Size Violations -->
+
     <module name="FileLength" />
 
 
     <!-- Whitespace -->
+
     <module name="FileTabCharacter" />
 
 
+    <module name="BeforeExecutionExclusionFileFilter">
+        <property name="fileNamePattern" value="module\-info\.java$" />
+    </module>
+
+
     <module name="TreeWalker">
 
-        <module name="FileContentsHolder" />
+        <property name="tabWidth" value="8" />
+        <property name="fileExtensions" value="java" />
+
+        <module name="SuppressWarningsHolder" />
+
+
+    <!-- Filters -->
+
+        <module name="SuppressionCommentFilter" />
+        <module name="SuppressWithNearbyCommentFilter" />
+        <!--module name="SuppressionXpathFilter" /-->
+        <!--module name="SuppressionXpathSingleFilter" /-->
 
 
     <!-- Annotations -->
 
+        <module name="AnnotationLocation" />
+        <module name="AnnotationOnSameLine" />
         <module name="AnnotationUseStyle" />
         <module name="MissingDeprecated" />
         <module name="MissingOverride" />
         <module name="PackageAnnotation" />
         <module name="SuppressWarnings" />
+        <module name="SuppressWarningsHolder" />
 
 
     <!-- Block Checks -->
 
+        <module name="AvoidNestedBlocks" />
         <module name="EmptyBlock" />
+        <module name="EmptyCatchBlock" />
         <module name="LeftCurly" />
         <module name="NeedBraces">
-            <property name="tokens" value="LITERAL_DO" />
+            <property name="allowSingleLineStatement" value="true" />
         </module>
         <module name="RightCurly" />
-        <module name="AvoidNestedBlocks" />
 
 
     <!-- Class Design -->
 
-        <module name="VisibilityModifier" />
+        <module name="DesignForExtension" />
         <module name="FinalClass" />
-        <module name="InterfaceIsType" />
         <module name="HideUtilityClassConstructor" />
-<!--    <module name="DesignForExtension" />  -->
-        <module name="MutableException" />
-        <module name="ThrowsCount">
-            <property name="max" value="4" />
-        </module>
         <module name="InnerTypeLast" />
+        <module name="InterfaceIsType" />
+        <module name="MutableException" />
+        <module name="OneTopLevelClass" />
+        <module name="ThrowsCount" />
+        <module name="VisibilityModifier" />
 
 
     <!-- Coding -->
         <module name="ArrayTrailingComma" />
         <module name="AvoidInlineConditionals" />
         <module name="CovariantEquals" />
-<!--    <module name="DoubleCheckedLocking" />  5.6 obsolete -->
+        <module name="DeclarationOrder" />
+        <module name="DefaultComesLast" />
         <module name="EmptyStatement" />
         <module name="EqualsAvoidNull" />
         <module name="EqualsHashCode" />
-<!--    <module name="FinalLocalVariable" />  -->
+        <module name="ExplicitInitialization" />
+        <module name="FallThrough" />
+        <module name="FinalLocalVariable" />
         <module name="HiddenField">
             <property name="ignoreConstructorParameter" value="true" />
             <property name="ignoreSetter" value="true" />
+            <property name="setterCanReturnItsClass" value="true" />
             <property name="ignoreAbstractMethods" value="true" />
         </module>
+        <module name="IllegalCatch" />
         <module name="IllegalInstantiation" />
+        <module name="IllegalThrows" />
         <module name="IllegalToken">
-            <property name="tokens" value="LITERAL_NATIVE, STATIC_IMPORT" />
-        </module>
-        <module name="IllegalTokenText">
-            <property name="tokens" value="NUM_INT, NUM_LONG" />
-            <property name="format" value="^0[^lx]" />
-            <property name="ignoreCase" value="true" />
+            <property name="tokens" value="LITERAL_NATIVE" />
         </module>
+        <module name="IllegalTokenText" />
+        <module name="IllegalType" />
         <module name="InnerAssignment" />
         <module name="MagicNumber" />
+        <module name="MissingCtor" />
         <module name="MissingSwitchDefault" />
         <module name="ModifiedControlVariable" />
-        <module name="RedundantThrows">
-            <property name="allowUnchecked" value="true" />
-            <property name="allowSubclasses" value="true" />
-        </module>
-        <module name="SimplifyBooleanExpression" />
-        <module name="SimplifyBooleanReturn" />
-        <module name="StringLiteralEquality" />
+        <module name="MultipleStringLiterals" />
+        <module name="MultipleVariableDeclarations" />
         <module name="NestedForDepth" />
         <module name="NestedIfDepth" />
         <module name="NestedTryDepth" />
         <module name="NoClone" />
         <module name="NoFinalizer" />
-        <module name="SuperClone" />
-        <module name="SuperFinalize" />
-        <module name="IllegalCatch" />
-        <module name="IllegalThrows" />
+        <module name="OneStatementPerLine" />
+        <module name="OverloadMethodsDeclarationOrder" />
         <module name="PackageDeclaration" />
-        <module name="JUnitTestCase" />
-        <module name="ReturnCount">
-            <property name="max" value="5" />
-        </module>
-        <module name="IllegalType" />
-        <module name="DeclarationOrder" />
         <module name="ParameterAssignment" />
-<!--    <module name="ExplicitInitialization" />  -->
-        <module name="DefaultComesLast" />
-        <module name="MissingCtor" />
-        <module name="FallThrough" />
-        <module name="MultipleStringLiterals" />
-        <module name="MultipleVariableDeclarations" />
         <module name="RequireThis">
             <property name="checkMethods" value="false" />
         </module>
+        <module name="ReturnCount" />
+        <module name="SimplifyBooleanExpression" />
+        <module name="SimplifyBooleanReturn" />
+        <module name="StringLiteralEquality" />
+        <module name="SuperClone" />
+        <module name="SuperFinalize" />
         <module name="UnnecessaryParentheses" />
-        <module name="OneStatementPerLine" />
+        <module name="VariableDeclarationUsageDistance">
+            <property name="allowedDistance" value="5"/>
+        </module>
 
 
     <!-- Imports -->
 
         <module name="AvoidStarImport" />
         <module name="AvoidStaticImport" />
+        <module name="CustomImportOrder" />
         <module name="IllegalImport" />
+        <!--module name="ImportControl" /-->
+        <module name="ImportOrder" />
         <module name="RedundantImport" />
         <module name="UnusedImports" />
-        <module name="ImportOrder" />
-<!--    <module name="ImportControl" />  -->
 
 
     <!-- Javadoc Comments -->
 
-        <module name="JavadocType" />
+        <module name="AtclauseOrder" />
         <module name="JavadocMethod" />
-        <module name="JavadocVariable">
-            <property name="scope" value="protected" />
-        </module>
+        <module name="JavadocParagraph" />
         <module name="JavadocStyle">
             <property
                 name="endOfSentenceFormat"
             <property name="checkEmptyJavadoc" value="true" />
             <property name="checkHtml" value="true" />
         </module>
-<!--    <module name="WriteTag" />  -->
+        <module name="JavadocTagContinuationIndentation" />
+        <module name="JavadocType" />
+        <module name="JavadocVariable">
+            <property name="scope" value="protected" />
+        </module>
+        <module name="MissingJavadocMethod" />
+        <module name="MissingJavadocType" />
+        <module name="NonEmptyAtclauseDescription" />
+        <module name="SingleLineJavadoc" />
+        <module name="SummaryJavadocCheck" />
+        <module name="WriteTag" />
 
 
     <!-- Metrics -->
         <module name="ClassDataAbstractionCoupling" />
         <module name="ClassFanOutComplexity" />
         <module name="CyclomaticComplexity" />
-        <module name="NPathComplexity" />
         <module name="JavaNCSS" />
+        <module name="NPathComplexity" />
 
 
     <!-- Miscellaneous -->
 
-        <module name="TodoComment">
-            <property name="format" value="TODO" />
-        </module>
-        <module name="UncommentedMain" />
-        <module name="UpperEll" />
         <module name="ArrayTypeStyle" />
-<!--    <module name="FinalParameters" />  -->
-<!--    <module name="DescendantToken" />  -->
-<!--
+        <module name="AvoidEscapedUnicodeCharacters">
+            <property name="allowEscapesForControlCharacters" value="true" />
+            <property name="allowByTailComment" value="true" />
+            <property name="allowIfAllCharactersEscaped" value="true" />
+            <property name="allowNonPrintableEscapes" value="true" />
+        </module>
+        <module name="CommentsIndentation" />
+        <module name="DescendantToken" />
+        <module name="FinalParameters" />
         <module name="Indentation">
             <property name="caseIndent" value="0" />
         </module>
--->
-<!--    <module name="TrailingComment" />  -->
-        <module name="Regexp">
-            <property name="format" value="@author" />
-            <property name="illegalPattern" value="true" />
-        </module>
-        <module name="Regexp">
-            <property name="format" value="^ \* Copyright\(c\)" />
-        </module>
-        <module name="Regexp">
-            <property name="format" value="^ \* License : The MIT License" />
-            <property name="duplicateLimit" value="1" />
-        </module>
         <module name="OuterTypeFilename" />
+        <module name="TodoComment">
+            <property name="format" value="TODO" />
+        </module>
+        <module name="TrailingComment" />
+        <module name="UncommentedMain" />
+        <module name="UpperEll" />
 
 
     <!-- Modifiers -->
 
+        <module name="ClassMemberImpliedModifier" />
+        <module name="InterfaceMemberImpliedModifier" />
         <module name="ModifierOrder" />
         <module name="RedundantModifier" />
 
 
     <!-- Naming Conventions -->
 
-        <module name="AbstractClassName">
-            <property
-                name="format"
-                value="^Abstract.*$|^.*Factory$|^.*Builder$|^.*Adapter$"
-            />
-        </module>
+        <module name="AbbreviationAsWordInName" />
+        <module name="AbstractClassName" />
+        <module name="CatchParameterName" />
         <module name="ClassTypeParameterName" />
         <module name="ConstantName" />
-        <module name="LocalFinalVariableName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
-        </module>
-        <module name="LocalVariableName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
-        </module>
-        <module name="MemberName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
-        </module>
+        <module name="InterfaceTypeParameterName" />
+        <module name="LambdaParameterName" />
+        <module name="LocalFinalVariableName" />
+        <module name="LocalVariableName" />
+        <module name="MemberName" />
         <module name="MethodName" />
         <module name="MethodTypeParameterName" />
         <module name="PackageName" />
-        <module name="ParameterName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
+        <module name="ParameterName" />
+        <module name="StaticVariableName" />
+        <module name="TypeName" />
+
+
+    <!-- Regex -->
+
+        <module name="Regexp">
+            <property name="format" value="@author" />
+            <property name="illegalPattern" value="true" />
         </module>
-        <module name="StaticVariableName">
-            <property name="format" value="^[a-z][_a-zA-Z0-9]*$" />
+        <module name="Regexp">
+            <property name="format" value="^ \* Copyright\(c\)" />
+        </module>
+        <module name="Regexp">
+            <property name="format" value="^ \* License : The MIT License" />
+            <property name="duplicateLimit" value="1" />
+        </module>
+        <module name="RegexpSinglelineJava">
+            <property name="format" value="\u0000" />
         </module>
-        <module name="TypeName" />
 
 
     <!-- Size Violations -->
 
+        <module name="AnonInnerLength" />
         <module name="ExecutableStatementCount" />
         <module name="LineLength">
             <property name="max" value="78" />
         </module>
+        <module name="MethodCount" />
         <module name="MethodLength" />
-        <module name="AnonInnerLength" />
-        <module name="ParameterNumber" />
         <module name="OuterTypeNumber" />
-        <module name="MethodCount" />
+        <module name="ParameterNumber" />
 
 
     <!-- Whitespace -->
 
-        <module name="GenericWhitespace" />
         <module name="EmptyForInitializerPad" />
         <module name="EmptyForIteratorPad" />
-        <module name="MethodParamPad">
+        <module name="EmptyLineSeparator">
             <property
                 name="tokens"
-                value="CTOR_DEF, LITERAL_NEW, METHOD_DEF, SUPER_CTOR_CALL"
-            />
-        </module>
-        <module name="NoWhitespaceAfter">
-            <property name="allowLineBreaks" value="false" />
-            <property name="tokens" value="DEC, DOT, INC" />
-        </module>
-        <module name="NoWhitespaceBefore">
-            <property name="allowLineBreaks" value="false" />
-            <property name="tokens" value="POST_DEC, POST_INC" />
-        </module>
-        <module name="NoWhitespaceBefore">
-            <property name="allowLineBreaks" value="true" />
-            <property name="tokens" value="SEMI" />
-        </module>
-        <module name="OperatorWrap">
-            <property name="option" value="eol" />
-            <property
-                name="tokens"
-                value="ASSIGN,
-                       BAND_ASSIGN, BOR_ASSIGN, BXOR_ASSIGN,
-                       PLUS_ASSIGN, MINUS_ASSIGN,
-                       STAR_ASSIGN, DIV_ASSIGN, MOD_ASSIGN,
-                       SL_ASSIGN, SR_ASSIGN"
-            />
-        </module>
-        <module name="OperatorWrap">
-            <property name="option" value="nl" />
-            <property
-                name="tokens"
-                value="BAND, BOR, BXOR,
-                       MINUS, STAR, DIV, MOD,
-                       LAND, LOR,
-                       EQUAL"
+                value="PACKAGE_DEF,
+                       IMPORT,
+                       CLASS_DEF,
+                       INTERFACE_DEF,
+                       ENUM_DEF,
+                       STATIC_INIT,
+                       INSTANCE_INIT,
+                       METHOD_DEF,
+                       CTOR_DEF,
+                       "
             />
         </module>
+        <module name="GenericWhitespace" />
+        <module name="MethodParamPad" />
+        <module name="NoLineWrap" />
+        <module name="NoWhitespaceAfter" />
+        <module name="NoWhitespaceBefore" />
+        <module name="OperatorWrap" />
         <module name="ParenPad">
             <property name="option" value="nospace" />
             <property
                 value="CTOR_CALL, METHOD_CALL, SUPER_CTOR_CALL"
             />
         </module>
+        <module name="SeparatorWrap">
+            <property name="tokens" value="DOT"/>
+            <property name="option" value="nl"/>
+        </module>
+        <module name="SingleSpaceSeparator" />
         <module name="TypecastParenPad" />
-        <module name="WhitespaceAfter">
-            <property name="tokens" value="COMMA, SEMI" />
+        <module name="WhitespaceAfter" >
+            <property name="tokens" value="COMMA, SEMI," />
         </module>
         <module name="WhitespaceAround">
             <property
         </module>
 
 
-<!-- 代用品で解決
-        <module name="Header" />
-        <module name="RegexpSingleline" />
-        <module name="RegexpMultiline" />
-        <module name="RegexpSinglelineJava" />
--->
+    </module>
 
-<!-- Obsolated
-        <module name="TabCharacter" />
--->
 
     </module>
 
-</module>
-
 <!-- EOF -->
diff --git a/config/pmd/pmdrules.xml b/config/pmd/pmdrules.xml
new file mode 100644 (file)
index 0000000..db56675
--- /dev/null
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+    Custom rule set
+    for PMD [ https://pmd.github.io/ ] 6.13.0 or later
+
+    Copyright(c) 2019 olyutorskii
+-->
+
+<ruleset
+  xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0
+  http://pmd.sourceforge.net/ruleset_2_0_0.xsd"
+  name="Custom ruleset"
+>
+
+    <description>
+        custom rulesets
+    </description>
+
+    <rule ref="category/java/bestpractices.xml" />
+
+    <rule ref="category/java/codestyle.xml" >
+        <exclude name="CommentDefaultAccessModifier" />
+        <exclude name="DefaultPackage" />
+        <exclude name="LocalVariableCouldBeFinal" />
+        <exclude name="MethodArgumentCouldBeFinal" />
+        <exclude name="OnlyOneReturn" />
+        <exclude name="ShortVariable" />
+        <exclude name="UnnecessaryLocalBeforeReturn" />
+        <exclude name="UnnecessaryReturn" />
+    </rule>
+    <rule ref="category/java/codestyle.xml/ControlStatementBraces" >
+        <properties>
+            <property name="checkIfElseStmt" value="false"/>
+            <property name="checkSingleIfStmt" value="false"/>
+        </properties>
+    </rule>
+
+    <rule ref="category/java/design.xml" >
+        <exclude name="LawOfDemeter" />
+        <exclude name="LoosePackageCoupling" />
+    </rule>
+
+    <rule ref="category/java/documentation.xml" />
+    <rule ref="category/java/documentation.xml/CommentRequired" >
+        <properties>
+            <property name="fieldCommentRequirement" value="Ignored"/>
+        </properties>
+    </rule>
+    <rule ref="category/java/documentation.xml/CommentSize" >
+        <properties>
+            <property name="maxLines" value="25"/>
+        </properties>
+    </rule>
+
+    <rule ref="category/java/errorprone.xml" >
+        <exclude name="AvoidLiteralsInIfCondition" />
+        <exclude name="BeanMembersShouldSerialize" />
+        <exclude name="DataflowAnomalyAnalysis" />
+    </rule>
+
+    <rule ref="category/java/multithreading.xml" />
+
+    <rule ref="category/java/performance.xml" >
+        <exclude name="ConsecutiveAppendsShouldReuse" />
+        <exclude name="RedundantFieldInitializer" />
+    </rule>
+
+    <rule ref="category/java/security.xml" />
+
+    <!--rule ref="category/pom/errorprone.xml" /-->
+
+    <!--rule ref="category/xml/errorprone.xml" /-->
+
+</ruleset>
+
+<!-- EOF -->
diff --git a/fixcrlf.xml b/fixcrlf.xml
deleted file mode 100644 (file)
index 90a7b46..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!-- ====================================================================== -->
-<!-- Ant build file (http://ant.apache.org/) for Ant 1.8.0 or later.        -->
-<!-- ====================================================================== -->
-
-<project basedir=".">
-<description>
-CAUTION : This is not build-file for project-building.
-It's just adapting project-files for native environment.
-</description>
-
-<!-- ====================================================================== -->
-<!-- sanitize files for native environment                                  -->
-<!-- ====================================================================== -->
-
-    <target description="sanitize files" name="sanitize" >
-        <echo message="sanitize files..." />
-
-        <fixcrlf
-            srcDir="." includes="*.txt"
-            encoding="UTF-8" outputencoding="UTF-8"
-            tablength="8" tab="remove"
-            eof="remove"
-        />
-
-        <fixcrlf
-            srcDir="./src/" includes="**/*.java"
-            encoding="UTF-8" outputencoding="UTF-8"
-            tablength="4" tab="remove" javafiles="true"
-            eof="remove"
-        />
-
-        <fixcrlf
-            srcDir="./src/" includes="**/*.properties"
-            encoding="ISO-8859-1" outputencoding="ISO-8859-1"
-            eol="lf"
-            eof="remove"
-        />
-
-        <fixcrlf
-            srcDir="./src/" includes="**/*.xml,**/*.xsd,**/*.dtd"
-            encoding="UTF-8" outputencoding="UTF-8"
-            tablength="8" tab="remove"
-            eol="lf"
-            eof="remove"
-        />
-
-        <fixcrlf
-            srcDir="./src/" includes="**/*.html,**/*.htm,**/*.css"
-            encoding="UTF-8" outputencoding="UTF-8"
-            tablength="8" tab="remove"
-            eol="lf"
-            eof="remove"
-        />
-
-        <chmod type="file" perm="a-x">
-            <fileset dir="." includes="**/*" excludes="**/*.sh" />
-        </chmod>
-
-    </target>
-
-</project>
-
-<!-- EOF -->
diff --git a/pom.xml b/pom.xml
index 62cdebd..df88d75 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,14 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
 <!--
-    Maven2(or3) POM definition file
+    Maven3 POM definition file
 -->
 
 <project
   xmlns="http://maven.apache.org/POM/4.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-  http://maven.apache.org/maven-v4_0_0.xsd"
+  http://maven.apache.org/xsd/maven-4.0.0.xsd"
 >
     <modelVersion>4.0.0</modelVersion>
     <!--parent/-->
@@ -16,7 +16,7 @@
     <groupId>jp.sourceforge.mikutoga</groupId>
     <artifactId>pmd2xml</artifactId>
 
-    <version>1.201.105-SNAPSHOT</version>
+    <version>1.202.2</version>
 
     <packaging>jar</packaging>
     <name>Pmd2XML</name>
 -->Pmd2XML is a PMD-XML converter for MikuMikuDance.<!--
  --></description>
 
-    <url>http://sourceforge.jp/projects/mikutoga/</url>
+    <url>https://ja.osdn.net/projects/mikutoga/devel/</url>
     <inceptionYear>2010</inceptionYear>
 
     <organization>
         <name>MikuToga Partners</name>
-        <url>http://sourceforge.jp/projects/mikutoga/devel/</url>
+        <url>https://ja.osdn.net/projects/mikutoga/devel/</url>
     </organization>
 
     <licenses>
         <license>
             <name>The MIT License</name>
-            <url>http://www.opensource.org/licenses/mit-license.php</url>
+            <url>https://opensource.org/licenses/MIT</url>
             <distribution>manual</distribution>
         </license>
     </licenses>
@@ -44,9 +44,9 @@
     <developers>
         <developer>
             <id>olyutorskii</id>
-            <url>http://sites.google.com/site/olyutorskiipit/</url>
+            <url>https://sites.google.com/site/olyutorskiipit/</url>
             <organization>MikuToga Partners</organization>
-            <organizationUrl>http://sourceforge.jp/projects/mikutoga/devel/</organizationUrl>
+            <organizationUrl>https://ja.osdn.net/projects/mikutoga/devel/</organizationUrl>
             <roles>
                 <role>Project Founder</role>
                 <role>Java Developer</role>
     <contributors/>
     <mailingLists/>
 
-    <prerequisites>
-        <maven>2.2</maven>
-    </prerequisites>
+    <!-- prerequisites/ -->
 
     <modules/>
 
     <scm>
-        <connection>scm:hg:http://hg.sourceforge.jp/view/mikutoga/Pmd2XML</connection>
-        <developerConnection>scm:hg:ssh://hg.sourceforge.jp//hgroot/mikutoga/Pmd2XML</developerConnection>
-        <url>http://hg.sourceforge.jp/view/mikutoga/Pmd2XML</url>
+        <connection>scm:git:git://git.osdn.net/gitroot/mikutoga/Pmd2XML.git</connection>
+        <developerConnection>scm:git:https://scm.osdn.net/gitroot/mikutoga/Pmd2XML.git</developerConnection>
+        <url>https://ja.osdn.net/projects/mikutoga/scm/git/Pmd2XML/</url>
     </scm>
 
     <issueManagement>
-        <system>SourceForge.JP</system>
-        <url>http://sourceforge.jp/projects/mikutoga/ticket/</url>
+        <system>OSDN.net</system>
+        <url>https://ja.osdn.net/projects/mikutoga/ticket/</url>
     </issueManagement>
 
     <ciManagement/>
     <distributionManagement/>
 
     <properties>
-        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
-
-        <maven.compiler.source>1.6</maven.compiler.source>
-        <maven.compiler.target>1.6</maven.compiler.target>
+        <maven.compiler.source>1.8</maven.compiler.source>
+        <maven.compiler.target>1.8</maven.compiler.target>
 
         <maven.compiler.showDeprecation>true</maven.compiler.showDeprecation>
         <maven.compiler.showWarnings>true</maven.compiler.showWarnings>
 
+        <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
-        <project.mainconf>${project.basedir}/src/main/config</project.mainconf>
+        <locale>en</locale>
+        <site.locales>${locale}</site.locales>
+        <javadoc.locale>${locale}</javadoc.locale>
+        <spotbugs.jvmArgs>-Duser.language=${locale}</spotbugs.jvmArgs>
+
+        <!-- Walk around: JDK 11 javadoc + Maven -->
+        <detectJavaApiLink>false</detectJavaApiLink>
+
+        <surefire-plugin.version>3.0.0-M3</surefire-plugin.version>
+        <jacoco-plugin.version>0.8.4</jacoco-plugin.version>
 
-        <checkstyle.config.location>${project.mainconf}/checks.xml</checkstyle.config.location>
+        <checkstyle-plugin.version>3.1.0</checkstyle-plugin.version>
+        <checkstyleruntime.version>8.21</checkstyleruntime.version>
+        <checkstyle.config.location>${project.basedir}/config/checkstyle/checkstyle.xml</checkstyle.config.location>
+        <checkstyle.suppressions.location>${project.basedir}/config/checkstyle/checkstyle-suppressions.xml</checkstyle.suppressions.location>
         <checkstyle.enable.rss>false</checkstyle.enable.rss>
 
+        <pmd-plugin.version>3.12.0</pmd-plugin.version>
+
+        <spotbugs-plugin.version>3.1.11</spotbugs-plugin.version>
+        <spotbugs.effort>Max</spotbugs.effort>
+        <spotbugs.threshold>Low</spotbugs.threshold>
+        <!-- for Jenkins -->
+        <spotbugs.xmlOutput>true</spotbugs.xmlOutput>
+
         <project.mainentry>jp.sfjp.mikutoga.pmd2xml.Pmd2Xml</project.mainentry>
 
     </properties>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>4.11</version>
+            <version>4.12</version>
             <scope>test</scope>
         </dependency>
 
         <dependency>
             <groupId>jp.sourceforge.mikutoga</groupId>
             <artifactId>togagem</artifactId>
-            <version>3.101.5-SNAPSHOT</version>
+            <version>3.121.2</version>
             <scope>compile</scope>
         </dependency>
 
     <pluginRepositories/>
 
     <build>
-        <pluginManagement/>
+
+        <pluginManagement>
+
+            <plugins>
+
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-checkstyle-plugin</artifactId>
+                    <version>${checkstyle-plugin.version}</version>
+                    <dependencies>
+                        <dependency>
+                            <groupId>com.puppycrawl.tools</groupId>
+                            <artifactId>checkstyle</artifactId>
+                            <version>${checkstyleruntime.version}</version>
+                        </dependency>
+                    </dependencies>
+                </plugin>
+
+            </plugins>
+
+        </pluginManagement>
 
         <plugins>
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-enforcer-plugin</artifactId>
-                <version>1.3.1</version>
-                <configuration>
-                    <rules>
-                        <requireMavenVersion>
-                            <version>[3.0,)</version>
-                        </requireMavenVersion>
-                        <requireJavaVersion>
-                            <version>[1.6,)</version>
-                        </requireJavaVersion>
-                    </rules>
-                </configuration>
-            </plugin>
 
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-install-plugin</artifactId>
-                <version>2.5.1</version>
-            </plugin>
+            <!-- clean lifecycle -->
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-clean-plugin</artifactId>
-                <version>2.5</version>
+                <version>3.1.0</version>
                 <configuration>
                     <filesets>
                         <fileset>
                             <directory>${project.basedir}</directory>
                             <includes>
-                                <include>**/.DS_Store</include>
-                                <include>**/_MACOSX</include>
+                                <include>**/*~</include>
+                                <include>**/*.swp</include>
+                                <include>**/*.DS_Store</include>
+                                <include>**/._*</include>
+                                <include>**/__MACOSX</include>
                                 <include>**/Thumbs.db</include>
-                                <include>**/thumbs.db</include>
-                                <include>**/Desktop.ini</include>
                                 <include>**/desktop.ini</include>
                                 <include>**/core</include>
+                                <include>**/hs_err_pid*</include>
                             </includes>
                         </fileset>
                     </filesets>
                 </configuration>
             </plugin>
 
+
+            <!-- default lifecycle -->
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-enforcer-plugin</artifactId>
+                <version>3.0.0-M2</version>
+                <executions>
+                    <execution>
+                        <id>enforce-versions</id>
+                        <goals>
+                            <goal>enforce</goal>
+                        </goals>
+                        <configuration>
+                            <rules>
+                                <requireMavenVersion>
+                                    <version>[3.3.9,)</version>
+                                </requireMavenVersion>
+                                <requireJavaVersion>
+                                    <version>[1.8,)</version>
+                                </requireJavaVersion>
+                            </rules>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>3.1.0</version>
+            </plugin>
+
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
-                <version>3.1</version>
+                <version>3.8.1</version>
                 <configuration>
-                    <source>1.6</source>  <!-- for NetBeans IDE -->
-                    <target>1.6</target>
-                    <showDeprecation>true</showDeprecation>
-                    <showWarnings>true</showWarnings>
+                    <source>1.8</source>  <!-- for NetBeans IDE -->
+                    <target>1.8</target>
                     <compilerArguments>
                         <Xlint/>
                     </compilerArguments>
+                    <showWarnings>true</showWarnings>
+                    <showDeprecation>true</showDeprecation>
                 </configuration>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${surefire-plugin.version}</version>
+                <configuration>
+                    <enableAssertions>true</enableAssertions>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>${jacoco-plugin.version}</version>
+                <executions>
+                    <execution>
+                        <id>default-prepare-agent</id>
+                        <goals>
+                            <goal>prepare-agent</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>default-report</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>report</goal>
+                        </goals>
+                    </execution>
+                    <execution>
+                        <id>default-check</id>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                        <configuration>
+                            <rules>
+                                <rule implementation="org.jacoco.maven.RuleConfiguration">
+                                    <element>BUNDLE</element>
+                                    <limits>
+                                        <limit implementation="org.jacoco.report.check.Limit">
+                                            <counter>COMPLEXITY</counter>
+                                            <value>COVEREDRATIO</value>
+                                            <minimum>0.0</minimum>
+                                        </limit>
+                                    </limits>
+                                </rule>
+                            </rules>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
-                <version>2.4</version>
+                <version>3.1.2</version>
                 <configuration>
                     <archive>
                         <manifest>
                             <mainClass>${project.mainentry}</mainClass>
+                            <addDefaultImplementationEntries>
+                                true
+                            </addDefaultImplementationEntries>
                         </manifest>
                         <manifestEntries>
                             <Built-By>${project.organization.name}</Built-By>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
-                <version>2.1</version>
+                <version>3.2.1</version>
                 <executions>
                     <execution>
                         <phase>package</phase>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <version>2.4</version>
-                <configuration>
-                    <archiveBaseDirectory>.</archiveBaseDirectory>
-                    <descriptors>
-                        <descriptor>src/main/assembly/descriptor.xml</descriptor>
-                    </descriptors>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-source-plugin</artifactId>
-                <version>2.2.1</version>
+                <version>3.1.0</version>
                 <configuration>
                     <includePom>true</includePom>
                     <archive>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-resources-plugin</artifactId>
-                <version>2.6</version>
+                <artifactId>maven-install-plugin</artifactId>
+                <version>3.0.0-M1</version>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.16</version>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <version>3.0.0-M1</version>
+            </plugin>
+
+
+            <!-- site lifecycle -->
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-site-plugin</artifactId>
+                <version>3.7.1</version>
                 <configuration>
-                    <skipTests>false</skipTests>
-                    <enableAssertions>true</enableAssertions>
+                    <locales>${site.locales}</locales>
                 </configuration>
             </plugin>
 
+
+            <!-- goals without lifecycle -->
+
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>3.3</version>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <version>3.1.1</version>
                 <configuration>
-                    <generateReports>true</generateReports>
-                    <locales>ja</locales>
-                    <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
-                    <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
+                    <descriptors>
+                        <descriptor>src/assembly/src.xml</descriptor>
+                    </descriptors>
                 </configuration>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.11</version>
-                <!-- config from property value -->
+                <version>${checkstyle-plugin.version}</version>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-pmd-plugin</artifactId>
-                <version>3.0.1</version>
+                <version>${pmd-plugin.version}</version>
                 <configuration>
-                    <targetJdk>${maven.compiler.target}</targetJdk>
                     <rulesets>
-                        <ruleset>${project.mainconf}/pmdrules.xml</ruleset>
+                        <ruleset>${project.basedir}/config/pmd/pmdrules.xml</ruleset>
                     </rulesets>
                 </configuration>
             </plugin>
 
             <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>findbugs-maven-plugin</artifactId>
-                <version>2.5.2</version>
-                <configuration>
-                    <effort>Max</effort>
-                    <threshold>Low</threshold>
-                    <!-- for Jenkins -->
-                    <findbugsXmlOutput>true</findbugsXmlOutput>
-                    <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
-                    <xmlOutput>true</xmlOutput>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>cobertura-maven-plugin</artifactId>
-                <version>2.5.2</version>
-                <configuration>
-                    <encoding>${project.build.sourceEncoding}</encoding>
-                    <formats>
-                        <format>html</format>
-                        <format>xml</format> <!-- for Jenkins -->
-                    </formats>
-                </configuration>
+                <groupId>com.github.spotbugs</groupId>
+                <artifactId>spotbugs-maven-plugin</artifactId>
+                <version>${spotbugs-plugin.version}</version>
             </plugin>
 
         </plugins>
                     <exclude>**/version.properties</exclude>
 
                     <exclude>**/.DS_Store</exclude>
-                    <exclude>**/_MACOSX</exclude>
+                    <exclude>**/__MACOSX</exclude>
                     <exclude>**/Thumbs.db</exclude>
                     <exclude>**/thumbs.db</exclude>
                     <exclude>**/Desktop.ini</exclude>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-project-info-reports-plugin</artifactId>
-                <version>2.7</version>
+                <version>3.0.0</version>
                 <configuration>
                     <linkOnly>true</linkOnly>
                     <offline>true</offline>
                         <reports>
                             <report>index</report>
                             <report>summary</report>
-                            <report>license</report>
+                            <report>licenses</report>
+                            <report>dependency-info</report>
                             <report>dependencies</report>
+                            <report>dependency-convergence</report>
                             <report>plugins</report>
+                            <report>plugin-management</report>
+                            <report>team</report>
+                            <report>issue-management</report>
                             <report>scm</report>
-                            <report>project-team</report>
 <!--
-                            <report>dependency-convergence</report>
-                            <report>dependency-info</report>
                             <report>dependency-management</report>
                             <report>distribution-management</report>
-                            <report>issue-tracking</report>
-                            <report>mailing-list</report>
+                            <report>ci-management</report>
+                            <report>mailing-lists</report>
                             <report>modules</report>
-                            <report>plugin-management</report>
 -->
                         </reports>
                     </reportSet>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
-                <version>2.9.1</version>
+                <version>3.1.0</version>
                 <configuration>
-                    <skip>false</skip>
+                    <author>false</author>
                     <notimestamp>true</notimestamp>
                     <quiet>true</quiet>
                     <show>protected</show>
-                    <stylesheet>maven</stylesheet>
+                    <header>${project.name} ${project.version} API</header>
+                    <version>true</version>
+                    <locale>${javadoc.locale}</locale>
+                    <!-- for JDK11 javadoc -->
+                    <additionalJOption>-J-Duser.language=${javadoc.locale}</additionalJOption>
                 </configuration>
                 <reportSets>
                     <reportSet>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jxr-plugin</artifactId>
-                <version>2.3</version>
-                <configuration>
-                    <skip>false</skip>
-                </configuration>
+                <version>3.0.0</version>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-report-plugin</artifactId>
-                <version>2.16</version>
-                <configuration>
-                    <showSuccess>false</showSuccess>
-                </configuration>
+                <version>${surefire-plugin.version}</version>
+            </plugin>
+
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <version>${jacoco-plugin.version}</version>
                 <reportSets>
                     <reportSet>
                         <reports>
-                            <report>report-only</report>
+                            <report>report</report>
                         </reports>
                     </reportSet>
                 </reportSets>
             </plugin>
 
             <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>cobertura-maven-plugin</artifactId>
-                <version>2.5.2</version>
-                <configuration>
-                    <encoding>${project.build.sourceEncoding}</encoding>
-                    <formats>
-                        <format>html</format>
-                        <format>xml</format> <!-- for Jenkins -->
-                    </formats>
-                </configuration>
-            </plugin>
-
-            <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.11</version>
-                <configuration>
-                    <skip>false</skip>
-                    <!-- config from property value -->
-                </configuration>
+                <version>${checkstyle-plugin.version}</version>
                 <reportSets>
                     <reportSet>
                         <reports>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-pmd-plugin</artifactId>
-                <version>3.0.1</version>
+                <version>${pmd-plugin.version}</version>
                 <configuration>
-                    <skip>false</skip>
-                    <targetJdk>${maven.compiler.target}</targetJdk>
                     <rulesets>
-                        <ruleset>${project.mainconf}/pmdrules.xml</ruleset>
+                        <ruleset>${project.basedir}/config/pmd/pmdrules.xml</ruleset>
                     </rulesets>
                 </configuration>
                 <reportSets>
             </plugin>
 
             <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>findbugs-maven-plugin</artifactId>
-                <version>2.5.2</version>
-                <configuration>
-                    <skip>false</skip>
-                    <effort>Max</effort>
-                    <threshold>Low</threshold>
-                    <!-- for Jenkins -->
-                    <findbugsXmlOutput>true</findbugsXmlOutput>
-                    <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
-                    <xmlOutput>true</xmlOutput>
-                    <!-- excludeFilterFile/ -->
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>javancss-maven-plugin</artifactId>
-                <version>2.0</version>
-            </plugin>
-
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>jdepend-maven-plugin</artifactId>
-                <version>2.0-beta-2</version>
+                <groupId>com.github.spotbugs</groupId>
+                <artifactId>spotbugs-maven-plugin</artifactId>
+                <version>${spotbugs-plugin.version}</version>
             </plugin>
 
         </plugins>
similarity index 53%
rename from src/main/assembly/descriptor.xml
rename to src/assembly/src.xml
index cc44f4f..b4f4424 100644 (file)
@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 
 <assembly
-  xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+  xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2
-  http://maven.apache.org/xsd/assembly-1.1.2.xsd"
+  xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0
+  http://maven.apache.org/xsd/assembly-2.0.0.xsd"
 >
 
 <!--
-    SourceForge.JP用リリースファイル構成定義ファイル
-    Maven2(or3) assembly用
+    OSDN.net用リリースファイル構成定義ファイル
+    Maven3 assembly用
 -->
 
     <id>src</id>
 
     <fileSets>
         <fileSet>
-            <directory>.</directory>
+            <directory>${project.basedir}</directory>
             <includes>
-                <include>pom.xml</include>
-                <include>fixcrlf.xml</include>
+                <include>*.xml</include>
                 <include>*.txt</include>
+                <include>*.md</include>
             </includes>
             <excludes>
                 <exclude>nb-configuration.xml</exclude>
             <useDefaultExcludes>true</useDefaultExcludes>
         </fileSet>
         <fileSet>
-            <directory>src/</directory>
+            <directory>${project.basedir}/src</directory>
+            <useDefaultExcludes>true</useDefaultExcludes>
+        </fileSet>
+        <fileSet>
+            <directory>${project.basedir}/config</directory>
             <useDefaultExcludes>true</useDefaultExcludes>
         </fileSet>
     </fileSets>
diff --git a/src/main/config/pmdrules.xml b/src/main/config/pmdrules.xml
deleted file mode 100644 (file)
index 0b76658..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!--
-    PMD用ルールセット定義
-
-    PMD [ http://pmd.sourceforge.net/ ] 5.0 以降用に記述されています。
-
-    Copyright(c) 2010 olyutorskii
--->
-
-<ruleset
-  xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
-  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0
-  http://pmd.sourceforge.net/ruleset_2_0_0.xsd"
-  name="Custom ruleset"
->
-
-    <description>
-        custom rulesets for project
-    </description>
-
-<!--
-    <rule ref="rulesets/java/android.xml" />
--->
-
-    <rule ref="rulesets/java/basic.xml" />
-
-    <rule ref="rulesets/java/braces.xml">
-        <exclude name="IfElseStmtsMustUseBraces" />
-        <exclude name="IfStmtsMustUseBraces" />
-    </rule>
-
-    <rule ref="rulesets/java/clone.xml" />
-
-    <rule ref="rulesets/java/codesize.xml">
-        <exclude name="TooManyMethods" />
-    </rule>
-    <rule ref="rulesets/java/codesize.xml/TooManyMethods">
-        <properties>
-            <property name="maxmethods" value="25"/>
-        </properties>
-    </rule>
-
-    <rule ref="rulesets/java/comments.xml">
-        <exclude name="CommentSize" />
-    </rule>
-    <rule ref="rulesets/java/comments.xml/CommentSize" >
-        <properties>
-            <property name="maxLines" value="25"/>
-        </properties>
-    </rule>
-
-    <rule ref="rulesets/java/controversial.xml">
-        <exclude name="NullAssignment" />
-        <exclude name="OnlyOneReturn" />
-        <exclude name="DefaultPackage" />
-        <exclude name="DataflowAnomalyAnalysis" />
-        <exclude name="AvoidUsingShortType" />
-        <exclude name="AvoidLiteralsInIfCondition" />
-        <exclude name="UseConcurrentHashMap" />
-    </rule>
-
-    <rule ref="rulesets/java/coupling.xml">
-        <exclude name="LawOfDemeter" />
-        <exclude name="LoosePackageCoupling" /> <!-- 3.0.1 では読めない -->
-    </rule>
-
-    <rule ref="rulesets/java/design.xml">
-        <exclude name="ConfusingTernary" />
-        <exclude name="UnnecessaryLocalBeforeReturn" />
-        <exclude name="FieldDeclarationsShouldBeAtStartOfClass" />
-    </rule>
-
-    <rule ref="rulesets/java/empty.xml" />
-
-    <rule ref="rulesets/java/finalizers.xml" />
-
-    <rule ref="rulesets/java/imports.xml" />
-
-<!--
-    <rule ref="rulesets/java/j2ee.xml" />
-    <rule ref="rulesets/java/javabeans.xml" />
--->
-
-    <rule ref="rulesets/java/junit.xml" />
-
-<!--
-    <rule ref="rulesets/java/logging-jakarta-commons.xml" />
--->
-
-    <rule ref="rulesets/java/logging-java.xml" />
-
-    <rule ref="rulesets/java/migrating.xml" />
-<!--
-    <rule ref="rulesets/java/migrating_to_XX.xml" />
--->
-
-    <rule ref="rulesets/java/naming.xml">
-        <exclude name="ShortVariable" />
-        <exclude name="LongVariable" />
-        <exclude name="AvoidFieldNameMatchingMethodName" />
-    </rule>
-    <rule ref="rulesets/java/naming.xml/LongVariable">
-        <properties>
-            <property name="minimum" value="25"/>
-        </properties>
-    </rule>
-
-    <rule ref="rulesets/java/optimizations.xml">
-        <exclude name="LocalVariableCouldBeFinal" />
-        <exclude name="MethodArgumentCouldBeFinal" />
-        <exclude name="RedundantFieldInitializer" />
-    </rule>
-
-    <rule ref="rulesets/java/strictexception.xml">
-        <exclude name="AvoidThrowingNullPointerException" />
-    </rule>
-
-    <rule ref="rulesets/java/strings.xml" />
-
-    <rule ref="rulesets/java/sunsecure.xml" />
-
-    <rule ref="rulesets/java/typeresolution.xml" />
-
-    <rule ref="rulesets/java/unnecessary.xml">
-        <exclude name="UnnecessaryReturn" />
-        <exclude name="UselessParentheses" />
-    </rule>
-
-    <rule ref="rulesets/java/unusedcode.xml" />
-
-</ruleset>
-
-<!-- EOF -->
diff --git a/src/main/config/suppressions.xml b/src/main/config/suppressions.xml
deleted file mode 100644 (file)
index 728df15..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<!DOCTYPE suppressions PUBLIC
-    "-//Puppy Crawl//DTD Suppressions 1.1//EN"
-    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
-
-<!--
-    Checkstyle用警告抑止設定
-    ※ SuppressionFilter モジュール用
-
-    [ http://checkstyle.sourceforge.net/ ]
-
-    Copyright(c) 2010 olyutorskii
--->
-
-
-<suppressions>
-
-<!--
-    <suppress files="" checks="ExecutableStatementCount" />
-
-    <suppress files="" checks="ClassDataAbstractionCoupling" />
-    <suppress files="" checks="ClassFanOutComplexity" />
-    <suppress files="" checks="CyclomaticComplexity" />
-    <suppress files="" checks="NPathComplexity" />
-    <suppress files="" checks="JavaNCSS" />
--->
-
-<!--
-    <suppress files="" checks="MagicNumber" />
-    <suppress files="" checks="MultipleStringLiterals" />
--->
-
-</suppressions>
-
-
-<!-- EOF -->
index 96e4974..1f9a4b0 100644 (file)
@@ -15,8 +15,8 @@ import java.util.Collection;
 import java.util.EnumMap;
 import java.util.LinkedList;
 import java.util.Map;
-import javax.xml.bind.DatatypeConverter;
 import jp.sfjp.mikutoga.pmd.model.PmdModel;
+import jp.sfjp.mikutoga.xml.DatatypeIo;
 import org.xml.sax.Attributes;
 
 /**
@@ -208,7 +208,7 @@ class SaxListener {
         String attrName = attr.attr();
         String attrVal = this.currentAttribute.getValue(attrName);
         boolean bVal;
-        bVal = DatatypeConverter.parseBoolean(attrVal);
+        bVal = DatatypeIo.parseBoolean(attrVal);
         return bVal;
     }
 
@@ -224,7 +224,7 @@ class SaxListener {
         String attrName = attr.attr();
         String attrVal = this.currentAttribute.getValue(attrName);
         float fVal;
-        fVal = DatatypeConverter.parseFloat(attrVal);
+        fVal = DatatypeIo.parseFloat(attrVal);
         return fVal;
     }
 
@@ -240,7 +240,7 @@ class SaxListener {
         String attrName = attr.attr();
         String attrVal = this.currentAttribute.getValue(attrName);
         int iVal;
-        iVal = DatatypeConverter.parseInt(attrVal);
+        iVal = DatatypeIo.parseInt(attrVal);
         return iVal;
     }