Case sensitive Java type annotations
还没有人认领这个 Issue。
评估
调研方向
首先,在 Maven 3.8 下使用 Spotless 2.38.0 重现 Java 代码片段的格式化过程,然后跟踪格式化器使用的硬编码类型注解匹配逻辑。完成的标准是:仅大小写不同的注解(例如 Checker Framework @min 和 Jakarta Validation @Min)不会被视为同一个注解,并且所示示例的格式保持一致。
由索引模型根据 Issue 内容生成。
描述
We are running Spotless 2.38.0 with Maven 3.8 to format Java and its annotations. Since currently hardcoded list of type annotations doesn't have fully qualified names I think annotations should be matched by case sensitive check.
Case in point, @min annotation from Checker Framework and @Min(X) annotation from Jakarta Validation are two different annotations.
Consider such code:
@NotNull
@Min(60)
@Max(86400)
public long getExpiration() {
return super.getExpiration();
}
Current behaviour results in @Min annotation moved inline with @NotNull and @Max left alone. What's more interesting (and could be related), is that @NotNull and @Min is never moved inline with public long even if I completely remove @Max.
@NotNull @Min(60)
@Max(86400)
public long getExpiration() {
return super.getExpiration();
}
Of source, checking by fully qualified names would be even better solution, but I think case sensitivity would solve current issue in a more trivial way.
- 主要语言
- Java
- 星标
- 5.7k
- 派生
- 560
- 平均合并
- 1 天 9 小时
- 30 天内合并 PR
- 40
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
diffplug/spotless 的其他 Issue
-
难度 5/5 一周以上 新手友好度 15/100
-
难度 5/5 一周以上 新手友好度 35/100
-
难度 3/5 1-2 天 新手友好度 66/100
-
难度 3/5 1-2 天 新手友好度 68/100
-
难度 4/5 3-5 天 新手友好度 52/100
查看 diffplug/spotless 的全部 Issue
相似的 Issue
-
documentation
难度 2/5 1-3 小时 新手友好度 65/100
inu-appcenter/memorIN-backend#288 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
-
frontend maui-pilot pilot-ask question
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 75/100
-
area/plugin
难度 2/5 1-3 小时 新手友好度 75/100
kestra-io/plugin-kestra#190 ·