Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

shortenFullyQualifiedTypes does not shorten all the fully qualified types

Open
#3,039 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
68/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
java

Research direction

Start with the shortenFullyQualifiedTypes step in the spotless-gradle-plugin and reproduce the two Java examples from the issue using version 8.10.1. Trace why fully qualified references such as ManagementFactory and pkg.models.CustomTypeProperty.TypeEnum remain unchanged, then verify that all fully qualified types are shortened and the resulting code compiles.

Written by the indexing model from the issue text.

Description

Summary

shortenFullyQualifiedTypes shortens a fully-qualified reference into the simple name of a type declared in the same compilation unit. The result does not compile.

Reproducer

spotless-gradle-plugin 8.10.1, with shortenFullyQualifiedTypes as one of the steps:

Test example 1:
import java.lang.management.BufferPoolMXBean;
import java.util.List;

public class ClassA
{
    public void methodA()
    {
        final List<BufferPoolMXBean> pools = java.lang.management.ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
    }
}
Actual behavior of example 1:

Type java.lang.management.ManagementFactory used in code is not shortened.

Test example 2:
public class classB {
  final List<CustomTypeProperty> connectionProps = List.of(new CustomTypeProperty().name("host")
    .type(pkg.models.CustomTypeProperty.TypeEnum.STRING));
}
Actual behavior of example 2:

Type pkg.models.CustomTypeProperty used in code is not shortened.

Expected behavior

All FQT should be shortened.

FYI @maxandersen

Dominant language
Java
Stars
5.7k
Forks
560
Avg merge
1d 13h
Merged PRs (30d)
43

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from diffplug/spotless

All issues in diffplug/spotless

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.