mirror of
https://github.com/TheAlgorithms/Java.git
synced 2026-03-13 08:40:43 +08:00
chore: configure PMD to detect main methods (#6289)
This commit is contained in:
28
pmd-custom_ruleset.xml
Normal file
28
pmd-custom_ruleset.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset name="TheAlgorithms/Java ruleset"
|
||||
xmlns="http://pmd.sf.net/ruleset/1.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
|
||||
xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
|
||||
<description>
|
||||
Custom PMD checks for TheAlgorithms/Java
|
||||
</description>
|
||||
<rule name="UselessMainMethod"
|
||||
language="java"
|
||||
message="The main method is redundant in this context"
|
||||
class="net.sourceforge.pmd.lang.rule.xpath.XPathRule">
|
||||
<description>
|
||||
Avoid using the main method.
|
||||
</description>
|
||||
<priority>3</priority>
|
||||
<properties>
|
||||
<property name="xpath">
|
||||
<value>
|
||||
<![CDATA[
|
||||
//MethodDeclaration[@Name = "main"]
|
||||
]]>
|
||||
</value>
|
||||
</property>
|
||||
</properties>
|
||||
</rule>
|
||||
</ruleset>
|
||||
@@ -1,64 +1,120 @@
|
||||
com.thealgorithms.ciphers.AES=UselessMainMethod
|
||||
com.thealgorithms.ciphers.AESEncryption=UselessMainMethod
|
||||
com.thealgorithms.ciphers.AffineCipher=UselessParentheses
|
||||
com.thealgorithms.ciphers.DES=UselessParentheses
|
||||
com.thealgorithms.ciphers.ProductCipher=UselessMainMethod
|
||||
com.thealgorithms.ciphers.RSA=UselessParentheses
|
||||
com.thealgorithms.conversions.AnyBaseToAnyBase=UselessParentheses
|
||||
com.thealgorithms.conversions.AnyBaseToAnyBase=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.conversions.AnytoAny=UselessParentheses
|
||||
com.thealgorithms.conversions.RgbHsvConversion=UselessMainMethod
|
||||
com.thealgorithms.datastructures.crdt.Pair=UnusedPrivateField
|
||||
com.thealgorithms.datastructures.graphs.AStar=UselessParentheses
|
||||
com.thealgorithms.datastructures.graphs.AdjacencyMatrixGraph=CollapsibleIfStatements,UnnecessaryFullyQualifiedName,UselessParentheses
|
||||
com.thealgorithms.datastructures.graphs.BellmanFord=UselessMainMethod
|
||||
com.thealgorithms.datastructures.graphs.BipartiteGraphDFS=CollapsibleIfStatements
|
||||
com.thealgorithms.datastructures.graphs.ConnectedComponent=UselessMainMethod
|
||||
com.thealgorithms.datastructures.graphs.Cycles=UselessMainMethod
|
||||
com.thealgorithms.datastructures.graphs.Graphs=UselessMainMethod
|
||||
com.thealgorithms.datastructures.graphs.KahnsAlgorithm=UselessMainMethod
|
||||
com.thealgorithms.datastructures.graphs.MatrixGraphs=UselessMainMethod
|
||||
com.thealgorithms.datastructures.hashmap.hashing.HashMapCuckooHashing=UselessParentheses
|
||||
com.thealgorithms.datastructures.hashmap.hashing.MainCuckooHashing=UselessMainMethod
|
||||
com.thealgorithms.datastructures.heaps.FibonacciHeap=UselessParentheses
|
||||
com.thealgorithms.datastructures.heaps.HeapNode=UselessParentheses
|
||||
com.thealgorithms.datastructures.lists.DoublyLinkedList=UselessParentheses
|
||||
com.thealgorithms.datastructures.lists.Link=UselessMainMethod
|
||||
com.thealgorithms.datastructures.lists.RandomNode=UselessMainMethod
|
||||
com.thealgorithms.datastructures.lists.SearchSinglyLinkedListRecursion=UselessParentheses
|
||||
com.thealgorithms.datastructures.lists.SinglyLinkedList=UnusedLocalVariable
|
||||
com.thealgorithms.datastructures.lists.SinglyLinkedList=UnusedLocalVariable,UselessMainMethod
|
||||
com.thealgorithms.datastructures.queues.Deque=UselessMainMethod
|
||||
com.thealgorithms.datastructures.queues.PriorityQueue=UselessParentheses
|
||||
com.thealgorithms.datastructures.trees.BSTRecursiveGeneric=UselessMainMethod
|
||||
com.thealgorithms.datastructures.trees.CheckBinaryTreeIsValidBST=UselessParentheses
|
||||
com.thealgorithms.datastructures.trees.LCA=UselessMainMethod
|
||||
com.thealgorithms.datastructures.trees.NearestRightKey=UselessMainMethod
|
||||
com.thealgorithms.datastructures.trees.PrintTopViewofTree=UselessMainMethod
|
||||
com.thealgorithms.datastructures.trees.SegmentTree=UselessParentheses
|
||||
com.thealgorithms.devutils.nodes.LargeTreeNode=UselessParentheses
|
||||
com.thealgorithms.devutils.nodes.SimpleNode=UselessParentheses
|
||||
com.thealgorithms.devutils.nodes.SimpleTreeNode=UselessParentheses
|
||||
com.thealgorithms.devutils.nodes.TreeNode=UselessParentheses
|
||||
com.thealgorithms.divideandconquer.ClosestPair=UnnecessaryFullyQualifiedName,UselessParentheses
|
||||
com.thealgorithms.divideandconquer.ClosestPair=UnnecessaryFullyQualifiedName,UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.divideandconquer.Point=UselessParentheses
|
||||
com.thealgorithms.dynamicprogramming.CatalanNumber=UselessMainMethod
|
||||
com.thealgorithms.dynamicprogramming.EggDropping=UselessMainMethod
|
||||
com.thealgorithms.dynamicprogramming.LongestPalindromicSubsequence=UselessMainMethod
|
||||
com.thealgorithms.dynamicprogramming.WineProblem=UselessParentheses
|
||||
com.thealgorithms.maths.BinomialCoefficient=UselessParentheses
|
||||
com.thealgorithms.maths.Complex=UselessParentheses
|
||||
com.thealgorithms.maths.DistanceFormulaTest=UnnecessaryFullyQualifiedName
|
||||
com.thealgorithms.maths.EulerMethod=UselessMainMethod
|
||||
com.thealgorithms.maths.GCDRecursion=UselessMainMethod
|
||||
com.thealgorithms.maths.Gaussian=UselessParentheses
|
||||
com.thealgorithms.maths.GcdSolutionWrapper=UselessParentheses
|
||||
com.thealgorithms.maths.HeronsFormula=UselessParentheses
|
||||
com.thealgorithms.maths.JugglerSequence=UselessMainMethod
|
||||
com.thealgorithms.maths.KaprekarNumbers=UselessParentheses
|
||||
com.thealgorithms.maths.KeithNumber=UselessParentheses
|
||||
com.thealgorithms.maths.KeithNumber=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.maths.LeonardoNumber=UselessParentheses
|
||||
com.thealgorithms.maths.LinearDiophantineEquationsSolver=UselessParentheses
|
||||
com.thealgorithms.maths.LinearDiophantineEquationsSolver=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.maths.MagicSquare=UselessMainMethod
|
||||
com.thealgorithms.maths.PiNilakantha=UselessMainMethod
|
||||
com.thealgorithms.maths.Prime.PrimeCheck=UselessMainMethod
|
||||
com.thealgorithms.maths.PythagoreanTriple=UselessMainMethod
|
||||
com.thealgorithms.maths.RomanNumeralUtil=UselessParentheses
|
||||
com.thealgorithms.maths.SecondMinMax=UselessParentheses
|
||||
com.thealgorithms.maths.SecondMinMaxTest=UnnecessaryFullyQualifiedName
|
||||
com.thealgorithms.maths.SimpsonIntegration=UselessMainMethod
|
||||
com.thealgorithms.maths.StandardDeviation=UselessParentheses
|
||||
com.thealgorithms.maths.SumOfArithmeticSeries=UselessParentheses
|
||||
com.thealgorithms.maths.TrinomialTriangle=UselessParentheses
|
||||
com.thealgorithms.maths.TrinomialTriangle=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.maths.VectorCrossProduct=UselessMainMethod
|
||||
com.thealgorithms.maths.Volume=UselessParentheses
|
||||
com.thealgorithms.matrix.RotateMatrixBy90Degrees=UselessMainMethod
|
||||
com.thealgorithms.misc.Sparsity=UselessParentheses
|
||||
com.thealgorithms.others.CRC16=UselessParentheses
|
||||
com.thealgorithms.others.Damm=UnnecessaryFullyQualifiedName
|
||||
com.thealgorithms.others.Luhn=UnnecessaryFullyQualifiedName
|
||||
com.thealgorithms.others.Mandelbrot=UselessParentheses
|
||||
com.thealgorithms.others.MiniMaxAlgorithm=UselessParentheses
|
||||
com.thealgorithms.others.PageRank=UselessParentheses
|
||||
com.thealgorithms.others.PerlinNoise=UselessParentheses
|
||||
com.thealgorithms.others.BankersAlgorithm=UselessMainMethod
|
||||
com.thealgorithms.others.BrianKernighanAlgorithm=UselessMainMethod
|
||||
com.thealgorithms.others.CRC16=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.others.CRC32=UselessMainMethod
|
||||
com.thealgorithms.others.Damm=UnnecessaryFullyQualifiedName,UselessMainMethod
|
||||
com.thealgorithms.others.Dijkstra=UselessMainMethod
|
||||
com.thealgorithms.others.GaussLegendre=UselessMainMethod
|
||||
com.thealgorithms.others.HappyNumbersSeq=UselessMainMethod
|
||||
com.thealgorithms.others.Huffman=UselessMainMethod
|
||||
com.thealgorithms.others.InsertDeleteInArray=UselessMainMethod
|
||||
com.thealgorithms.others.KochSnowflake=UselessMainMethod
|
||||
com.thealgorithms.others.Krishnamurthy=UselessMainMethod
|
||||
com.thealgorithms.others.LinearCongruentialGenerator=UselessMainMethod
|
||||
com.thealgorithms.others.Luhn=UnnecessaryFullyQualifiedName,UselessMainMethod
|
||||
com.thealgorithms.others.Mandelbrot=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.others.MiniMaxAlgorithm=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.others.PageRank=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.others.PerlinNoise=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.others.QueueUsingTwoStacks=UselessParentheses
|
||||
com.thealgorithms.others.Trieac=UselessParentheses
|
||||
com.thealgorithms.others.Verhoeff=UnnecessaryFullyQualifiedName
|
||||
com.thealgorithms.others.Trieac=UselessMainMethod,UselessParentheses
|
||||
com.thealgorithms.others.Verhoeff=UnnecessaryFullyQualifiedName,UselessMainMethod
|
||||
com.thealgorithms.puzzlesandgames.Sudoku=UselessMainMethod
|
||||
com.thealgorithms.searches.HowManyTimesRotated=UselessMainMethod
|
||||
com.thealgorithms.searches.InterpolationSearch=UselessParentheses
|
||||
com.thealgorithms.searches.KMPSearch=UselessParentheses
|
||||
com.thealgorithms.searches.RabinKarpAlgorithm=UselessParentheses
|
||||
com.thealgorithms.searches.RecursiveBinarySearch=UselessMainMethod
|
||||
com.thealgorithms.sorts.BogoSort=UselessMainMethod
|
||||
com.thealgorithms.sorts.CircleSort=EmptyControlStatement
|
||||
com.thealgorithms.sorts.DutchNationalFlagSort=UselessParentheses
|
||||
com.thealgorithms.sorts.MergeSortNoExtraSpace=UselessParentheses
|
||||
com.thealgorithms.sorts.RadixSort=UselessParentheses
|
||||
com.thealgorithms.sorts.TreeSort=UselessMainMethod
|
||||
com.thealgorithms.sorts.WiggleSort=UselessParentheses
|
||||
com.thealgorithms.stacks.LargestRectangle=UselessMainMethod
|
||||
com.thealgorithms.stacks.MaximumMinimumWindow=UselessMainMethod
|
||||
com.thealgorithms.stacks.PostfixToInfix=UselessParentheses
|
||||
com.thealgorithms.strings.Alphabetical=UselessMainMethod
|
||||
com.thealgorithms.strings.HorspoolSearch=UnnecessaryFullyQualifiedName,UselessParentheses
|
||||
com.thealgorithms.strings.KMP=UselessMainMethod
|
||||
com.thealgorithms.strings.Lower=UselessMainMethod
|
||||
com.thealgorithms.strings.Palindrome=UselessParentheses
|
||||
com.thealgorithms.strings.Pangram=UselessMainMethod
|
||||
com.thealgorithms.strings.RabinKarp=UselessMainMethod
|
||||
com.thealgorithms.strings.Rotation=UselessMainMethod
|
||||
com.thealgorithms.strings.Upper=UselessMainMethod
|
||||
|
||||
4
pom.xml
4
pom.xml
@@ -143,6 +143,10 @@
|
||||
<artifactId>maven-pmd-plugin</artifactId>
|
||||
<version>3.26.0</version>
|
||||
<configuration>
|
||||
<rulesets>
|
||||
<ruleset>/rulesets/java/maven-pmd-plugin-default.xml</ruleset>
|
||||
<ruleset>file://${basedir}/pmd-custom_ruleset.xml</ruleset>
|
||||
</rulesets>
|
||||
<printFailingErrors>true</printFailingErrors>
|
||||
<includeTests>true</includeTests>
|
||||
<linkXRef>false</linkXRef>
|
||||
|
||||
Reference in New Issue
Block a user