You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Andrey Turbanov (Jira)" <ji...@apache.org> on 2023/01/10 07:50:00 UTC

[jira] [Updated] (MENFORCER-459) Plugin shouldn't use NullPointerException for non-exceptional code flow

     [ https://issues.apache.org/jira/browse/MENFORCER-459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrey Turbanov updated MENFORCER-459:
--------------------------------------
    Affects Version/s: 3.1.0

> Plugin shouldn't use NullPointerException for non-exceptional code flow
> -----------------------------------------------------------------------
>
>                 Key: MENFORCER-459
>                 URL: https://issues.apache.org/jira/browse/MENFORCER-459
>             Project: Maven Enforcer Plugin
>          Issue Type: Bug
>    Affects Versions: 3.1.0
>            Reporter: Andrey Turbanov
>            Priority: Minor
>
> When I debugged build of my project I noticed that maven-enforcer-plugin generates lots of NPEs with this stack trace:
> {noformat}
>  at java.util.ArrayList.addAll(ArrayList.java:702)
>   at org.apache.maven.plugins.enforcer.RequirePluginVersions.getReportingPlugins(RequirePluginVersions.java:1062)
>   at org.apache.maven.plugins.enforcer.RequirePluginVersions.getAllPluginEntries(RequirePluginVersions.java:970)
>   at org.apache.maven.plugins.enforcer.RequirePluginVersions.execute(RequirePluginVersions.java:237)
>   at org.apache.maven.plugins.enforcer.EnforceMojo.execute(EnforceMojo.java:199)
>   - locked <0x1eb6> (a org.apache.maven.plugins.enforcer.RequirePluginVersions)
>   at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
>   at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:301)
>   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:211)
>   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:165)
>   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:157)
>   at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:121)
>   at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:210)
>   at org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:195)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:264)
>   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:264)
>   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>   at java.lang.Thread.run(Thread.java:829)
> {noformat}
> Exceptions shouldn't be used for non-exceptional flow.
> Also it's considered bad practice to return null from a method which returns collection. Empty collection should be returned instead.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)