SonarQube Java 3.2 发布,此版本新增了一个用来检测未闭合的资源(unclosed resources)规则和一个用户测试代码的规则。更新内容如下; Sub-task: [SONARJAVA-979] - Support relations between symbolic values deduced from relational operators [SONARJAVA-980] - Support interpretation of complex condition expressions [SONARJAVA-981] - Support symbolic values on boolean variables [SONARJAVA-982] - Support detection of opposite complex sub-conditions [SONARJAVA-989] - Add full analysis of blocks [SONARJAVA-995] - Support detection of Closeable which are never closed (ignoring loops and conditional path) [SONARJAVA-996] - Support detection of Closeable which are created in loop but closed outside [SONARJAVA-997] - Create properties to provide test classpath to analyzer [SONARJAVA-998] - Support detection of Closeable which are not closed in if-then-else statements [SONARJAVA-999] - Support try-with-resource statements [SONARJAVA-1000] - Primitive values should be considered as symbol values [SONARJAVA-1001] - Evaluation of conditions should also work when dealing with class fields [SONARJAVA-1004] - Add support of switch statements [SONARJAVA-1006] - Fix false positive: try-catch-finally blocks [SONARJAVA-1027] - Support detection of Closeable which are not closed in switch statements Bug 修复 [SONARJAVA-993] - S1220 should report issue on file 性能提升: [SONARJAVA-217] - Reference highlighting: Also compute and display references on test sources [SONARJAVA-724] - Provide an alternative to PMD rule 'CloseResource' able to detect more cases of connection leaks [SONARJAVA-830] - Migrate java code colorizer for test from core to sonar-java-plugin [SONARJAVA-935] - Surefire test reports path should only be read from sonar.junit.reportsPath property [SONARJAVA-1002] - Deprecate: S1145 - "if" statement conditions should not unconditionally evaluate to "true" or to "false" [SONARJAVA-1019] - Rule: S2387 Child class members should not shadow parent class members [SONARJAVA-1020] - Rule: S2677 "read", "readLine", and "next" return values should be used [SONARJAVA-1021] - Rule: S2786 Nested "enum"s should not be declared static 新特征: [SONARJAVA-869] - Rule: Unit tests should not be ignored [SONARJAVA-966] - Rule: Conditions should not unconditionally evaluate to "TRUE" or to "FALSE" [SONARJAVA-992] - Rule S2095: Resources should be closed [SONARJAVA-994] - Provide a mechanism to allow execution of rules specific to unit tests on test files. [SONARJAVA-1007] - Rule: S2701 Literal boolean values should not be used in assertions [SONARJAVA-1008] - Rule: S2700 Test cases should include tests [SONARJAVA-1011] - Rule: S2187 TestCases should contain tests [SONARJAVA-1012] - Rule S2186 JUnit assertions should not be used in "run" methods [SONARJAVA-1013] - Rule: S2698 JUnit assertions should include messages [SONARJAVA-1014] - Rule: S2188 JUnit test cases should call super methods [SONARJAVA-1016] - Rule: S864 Limited dependence should be placed on operator precedence rules in expressions 任务: [SONARJAVA-983] - Upgrade to sslr-squid-bridge 2.6 [SONARJAVA-1023] - Provide a mechanism to have self contained tests 更多内容请看发行页面。 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex 等。 开源中国代码质量管理系统 -> http://sonar.oschina.net/ SonarQube Java 3.2 发布下载地址