shortenFullyQualifiedTypes does not shorten all the fully qualified types
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
- Domain
- build-system, tooling
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from diffplug/spotless
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Difficulty 3/5 1-2 days Newbie friendliness 66/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
All issues in diffplug/spotless
Similar issues
-
certification
Difficulty 1/5 Under an hour Newbie friendliness 80/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
[BUG] ECR GetAuthorizationToken returns a proxyEndpoint for the default region, not the request's Openbug ecr
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Needs: Triage Type: Feature request
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
AntennaPod/AntennaPod#8794 ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
github/copilot-sdk#2760 ·