Skip to content

Max chen does wheel characterization #289

Max chen does wheel characterization

Max chen does wheel characterization #289

Triggered via pull request February 12, 2025 17:59
Status Failure
Total duration 2m 7s
Artifacts 1

build.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

7 errors and 10 warnings
This class has only private constructors and may be final: src/main/java/frc/robot/sim/simController/ClosedLoop.java#L46
Reports classes that may be made final because they cannot be extended from outside their compilation unit anyway. This is because all their constructors are private, so a subclass could not call the super constructor. ClassWithOnlyPrivateConstructorsShouldBeFinal (Priority: 1, Ruleset: Design) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal
This class has only private constructors and may be final: src/main/java/frc/robot/sim/simController/UnitSafeControl.java#L742
Reports classes that may be made final because they cannot be extended from outside their compilation unit anyway. This is because all their constructors are private, so a subclass could not call the super constructor. ClassWithOnlyPrivateConstructorsShouldBeFinal (Priority: 1, Ruleset: Design) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal
Logger calls should be surrounded by log level guards.: src/main/java/frc/robot/sim/simField/SimArena.java#L107
Whenever using a log level, one should check if it is actually enabled, or otherwise skip the associate String creation and manipulation, as well as any method calls. An alternative to checking the log level are substituting parameters, formatters or lazy logging with lambdas. The available alternatives depend on the actual logging framework. GuardLogStatement (Priority: 2, Ruleset: Best Practices) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_bestpractices.html#guardlogstatement
This class has only private constructors and may be final: src/main/java/frc/robot/sim/simField/SimGamePiece.java#L249
Reports classes that may be made final because they cannot be extended from outside their compilation unit anyway. This is because all their constructors are private, so a subclass could not call the super constructor. ClassWithOnlyPrivateConstructorsShouldBeFinal (Priority: 1, Ruleset: Design) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_design.html#classwithonlyprivateconstructorsshouldbefinal
Logger calls should be surrounded by log level guards.: src/main/java/frc/robot/sim/simField/SimGamePiece.java#L302
Whenever using a log level, one should check if it is actually enabled, or otherwise skip the associate String creation and manipulation, as well as any method calls. An alternative to checking the log level are substituting parameters, formatters or lazy logging with lambdas. The available alternatives depend on the actual logging framework. GuardLogStatement (Priority: 2, Ruleset: Best Practices) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_bestpractices.html#guardlogstatement
Logger calls should be surrounded by log level guards.: src/main/java/frc/robot/sim/simMechanism/simSwerve/SimSwerve.java#L72
Whenever using a log level, one should check if it is actually enabled, or otherwise skip the associate String creation and manipulation, as well as any method calls. An alternative to checking the log level are substituting parameters, formatters or lazy logging with lambdas. The available alternatives depend on the actual logging framework. GuardLogStatement (Priority: 2, Ruleset: Best Practices) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_bestpractices.html#guardlogstatement
Check Format Java
Process completed with exit code 1.
Field 'm_robotContainer' may be declared final: src/main/java/frc/robot/Robot.java#L21
Reports non-final fields whose value never changes once object initialization ends, and hence may be marked final. Note that this rule does not enforce that the field value be deeply immutable itself. An object can still have mutable state, even if all its member fields are declared final. This is referred to as shallow immutability. For more information on mutability, see *Effective Java, 3rd Edition, Item 17: Minimize mutability*. Limitations: We can only check private fields for now. ImmutableField (Priority: 3, Ruleset: Design) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_design.html#immutablefield
Field 'simWorld' may be declared final: src/main/java/frc/robot/Robot.java#L22
Reports non-final fields whose value never changes once object initialization ends, and hence may be marked final. Note that this rule does not enforce that the field value be deeply immutable itself. An object can still have mutable state, even if all its member fields are declared final. This is referred to as shallow immutability. For more information on mutability, see *Effective Java, 3rd Edition, Item 17: Minimize mutability*. Limitations: We can only check private fields for now. ImmutableField (Priority: 3, Ruleset: Design) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_design.html#immutablefield
Switch statements or expressions should be exhaustive, add a default case (or missing enum branches): src/main/java/frc/robot/Robot.java#L46
Switch statements should be exhaustive, to make their control flow easier to follow. This can be achieved by adding a `default` case, or, if the switch is on an enum type, by ensuring there is one switch branch for each enum constant. This rule doesn't consider Switch Statements, that use Pattern Matching, since for these the compiler already ensures that all cases are covered. The same is true for Switch Expressions, which are also not considered by this rule. NonExhaustiveSwitch (Priority: 3, Ruleset: Best Practices) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_bestpractices.html#nonexhaustiveswitch
Avoid unused local variables such as 'operatorRightBumper'.: src/main/java/frc/robot/RobotContainer.java#L138
Detects when a local variable is declared and/or assigned, but not used. Variables whose name starts with `ignored` or `unused` are filtered out. UnusedLocalVariable (Priority: 3, Ruleset: Best Practices) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_bestpractices.html#unusedlocalvariable
Avoid unused private fields such as 'visionSubsystem'.: src/main/java/frc/robot/commands/autodrive/AutoAlign.java#L21
Detects when a private field is declared and/or assigned a value, but not used. Since PMD 6.50.0 private fields are ignored, if the fields are annotated with any annotation or the enclosing class has any annotation. Annotations often enable a framework (such as dependency injection, mocking or e.g. Lombok) which use the fields by reflection or other means. This usage can't be detected by static code analysis. Previously these frameworks where explicitly allowed by listing their annotations in the property "ignoredAnnotations", but that turned out to be prone of false positive for any not explicitly considered framework. UnusedPrivateField (Priority: 3, Ruleset: Best Practices) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_bestpractices.html#unusedprivatefield
Field 'targetPose' may be declared final: src/main/java/frc/robot/commands/autodrive/AutoAlign.java#L23
Reports non-final fields whose value never changes once object initialization ends, and hence may be marked final. Note that this rule does not enforce that the field value be deeply immutable itself. An object can still have mutable state, even if all its member fields are declared final. This is referred to as shallow immutability. For more information on mutability, see *Effective Java, 3rd Edition, Item 17: Minimize mutability*. Limitations: We can only check private fields for now. ImmutableField (Priority: 3, Ruleset: Design) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_design.html#immutablefield
Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty(): src/main/java/frc/robot/commands/characterization/FeedForwardCharacterization.java#L78
The isEmpty() method on java.util.Collection is provided to determine if a collection has any elements. Comparing the value of size() to 0 does not convey intent as well as the isEmpty() method. UseCollectionIsEmpty (Priority: 3, Ruleset: Best Practices) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_bestpractices.html#usecollectionisempty
Substitute calls to size() == 0 (or size() != 0, size() > 0, size() < 1) with calls to isEmpty(): src/main/java/frc/robot/commands/characterization/FeedForwardCharacterization.java#L78
The isEmpty() method on java.util.Collection is provided to determine if a collection has any elements. Comparing the value of size() to 0 does not convey intent as well as the isEmpty() method. UseCollectionIsEmpty (Priority: 3, Ruleset: Best Practices) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_bestpractices.html#usecollectionisempty
Do not add empty strings: src/main/java/frc/robot/commands/characterization/FeedForwardCharacterization.java#L89
The conversion of literals to strings by concatenating them with empty strings is inefficient. It is much better to use one of the type-specific `toString()` methods instead or `String.valueOf()`. AddEmptyString (Priority: 3, Ruleset: Performance) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_performance.html#addemptystring
Do not add empty strings: src/main/java/frc/robot/commands/characterization/FeedForwardCharacterization.java#L123
The conversion of literals to strings by concatenating them with empty strings is inefficient. It is much better to use one of the type-specific `toString()` methods instead or `String.valueOf()`. AddEmptyString (Priority: 3, Ruleset: Performance) https://docs.pmd-code.org/pmd-doc-7.10.0/pmd_rules_java_performance.html#addemptystring

Artifacts

Produced during runtime
Name Size
PMD Report
18.7 KB