Skip to content

addExtensions flag triggers expensive dependency resolution but result is never used #369

Description

@elharo

Affected version: all

Description:

In MavenArchiver.doGetManifest() at line 262, a dependency resolution is performed if either addClasspath or addExtensions is true:

DependencyResolverResult result;
if (config.isAddClasspath() || config.isAddExtensions()) {
    result = session.getService(DependencyResolver.class).resolve(session, project, PathScope.MAIN_RUNTIME);
} else {
    result = null;
}

if (config.isAddClasspath()) {
    // ... uses result ...
}

The result is only consumed inside the if (config.isAddClasspath()) block. The addExtensions branch has no corresponding implementation — it's dead configuration that silently triggers expensive work and then discards it.

Impact: Users enabling addExtensions waste CPU and memory on dependency resolution that is thrown away. The config option appears to do something but has no effect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    javaPull requests that update Java codemaintenance

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions