Eclipse Java 编译器警告作为 ant 任务
我希望 eclipse Java 编译器警告可作为 ant 任务(即没有 eclipse) - 理想情况下作为 ant 插件 - 但我希望巡航控制 ant 任务在出现 eclipse 警告时失败。 对于以下警告
对静态成员的非静态访问
具有构造函数名称的方法
不带serialVersionUID的可序列化类< /p>
赋值无效
finally 未正常完成
在字符串连接中使用 char 数组< /p>
隐藏的 catch 块
可变参数参数的不精确类型匹配
空指针访问
p>类型参数隐藏另一个类型
方法不重写包可见方法
接口方法与受保护的“对象”方法
永远不会读取局部变量
未使用的本地或私有成员
未经检查的泛型类型操作
原始类型的使用
使用最终类型绑定声明的泛型类型参数
注释用作超级接口
我认为这意味着必须使用 Eclipse 抽象语法树 - 以及 Eclipse 编译必须创建一个单位。
问题是: (1)这件事已经完成了吗? (2) 如果没有 - 那么给定一个
org.eclipse.jdt.core.dom.CompilationUnit
对象 - 如何(即在代码示例中)从此 CompilationUnit 中获取警告?
(我知道 PMD、checkstyle 等 - 这些都不完全符合 Eclipse 编码风格的偏好。我想要一个完全符合 Eclipse 编码风格的 ant 任务)
I want the eclipse Java Compiler Warnings available as an ant task (ie without eclipse) - ideally as ant plugins - but I want the cruise control ant task to fail if an eclipse warning shows up. For the following warnings
Non-static access to static member
Method with a constructor name
Serializable class without serialVersionUID
Assignment has no effect
finally does not complete normally
Using a char array in string concatenation
Hidden catch block
Inexact type match for vararg arguments
Null pointer access
Type parameter hides another type
Method does not override package visible method
Interface method conflicts with protected 'Object' method
Local variable is never read
unused local or private member
Unchecked generic type operation
Usage of a raw type
Generic type parameter declared with a final type bound
Annotation is used as a super interface
I assume this means that the eclipse abstract syntax tree would have to be used - and an eclipse compilation unit would have to be created.
The question is:
(1) Has this been done?
(2) If it hasn't - then given a
org.eclipse.jdt.core.dom.CompilationUnit
object - how do you (ie in code examples) get the warnings out of this CompilationUnit?
(I KNOW about PMD, checkstyle etc - none of these EXACTLY match the eclipse preferences for coding style. I want an ant task that exactly matches the eclipse coding style)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
什么版本的日食?
可以通过 ant 启动 JDT 编译器。 请参阅:
http://help.eclipse .org/ganymede/topic/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm
请参阅“使用 ant javac 适配器”
警告和错误附加到Eclipse 工作区。 它们被称为“标记”。 将警告作为标记获取可能比直接通过编译过程更容易。
另一个值得研究的途径是启动 PDE 构建,但我认为这对于您的要求来说太过分了,而且随着时间的推移,这样的构建脚本可能会变得非常难以维护。
What version of eclipse?
It is possible to launch the JDT compiler via ant. See:
http://help.eclipse.org/ganymede/topic/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm
See 'Using the ant javac adapter'
Warnings and errors are attached to resources (such as files or CompilationUnits) in the Eclipse workspace. They are known as 'markers'. It may be easier to get the warnings as markers rather than via the compilation process directly.
Another avenue to look into is launching a PDE build but I think this is overkill for your requirements and such build scripts can get very difficult to maintain with time.