apache / apache/maven-toolchains-plugin

Dead code: unreachable null check on @Parameter(required=true) in ToolchainMojo

Offen Anfängerfreundlich
#175 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
27
Forks
31
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Summary

`ToolchainMojo.execute()` contains a null check on the `toolchains` field that is annotated with `@Parameter(required = true)`. Maven enforces required parameters before the mojo executes, making this check dead code.

## Location

`ToolchainMojo.java:58-61`

https://github.com/apache/maven-toolchains-plugin/blob/master/src/main/java/org/apache/maven/plugins/toolchain/ToolchainMojo.java#L58-L61

## Code

```java
@Parameter(required = true)
private ToolchainsRequirement toolchains;

@Override
public void execute() throws MojoExecutionException, MojoFailureException {
if (toolchains == null) {
// should not happen since parameter is required...
getLog().warn("No toolchains requirements configured.");
return;
}
// ...
}
```

## Problem

1. `@Parameter(required = true)` means Maven will fail the build with an error if the `toolchains` configuration is not provided
2. The null check guard is unreachable because execution never reaches the mojo if a required parameter is missing
3. The comment `// should not happen since parameter is required...` confirms the developer knew this was dead code
4. If it did somehow execute, silently returning with just a warning is the wrong behavior for a missing required config

## Impact

Dead code increases maintenance burden and gives a false impression that the plugin handles missing configuration gracefully (it doesn't - Maven handles it beforehand).

## Suggested Fix

Remove the null check block entirely.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Öffne src/main/java/org/apache/maven/plugins/toolchain/ToolchainMojo.java und untersuche ToolchainMojo.execute() ungefähr in den Zeilen 58–61. Entferne den Null-Prüfblock für den erforderlichen toolchains-Parameter und verifiziere anschließend, dass das Plugin weiterhin erstellt wird und seine bestehenden Prüfungen bestehen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
build-system
Issue-Typ
Refactoring
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
88/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.