├── .gitattributes ├── .github ├── auto_assign.yml ├── check-md-links.json ├── dependabot.yml ├── labels.yml ├── linkspector.yml ├── release-drafter.yml └── workflows │ ├── assign-pr.yml │ ├── check-md-links.yml │ ├── ci.yml │ ├── codeql.yml │ ├── coverage.yml │ ├── enforce-labels.yml │ ├── jenkins-security-scan.yml │ ├── quality-monitor.yml │ ├── run-release-drafter.yml │ ├── sync-labels.yml │ └── update-badges.yml ├── .gitignore ├── .mvn ├── extensions.xml └── maven.config ├── .remarkrc ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Jenkinsfile ├── LICENSE ├── README.md ├── SUPPORTED-FORMATS.md ├── badges ├── branch-coverage.svg ├── bugs.svg ├── line-coverage.svg └── style.svg ├── bin ├── go.sh ├── release.sh └── snapshot.sh ├── doc ├── dependencies.puml ├── dependency-graph.puml ├── jenkins.png ├── model-design.puml ├── module-detector.puml ├── package-detector-dip.puml ├── package-detector.puml ├── parser-descriptions.puml ├── parser-structure.puml ├── quality-monitor.png ├── sequence-issue-builder.puml ├── test-classdiagram.puml └── test_sequencediagram.puml ├── etc ├── Jenkinsfile.analysis ├── Jenkinsfile.coverage ├── Jenkinsfile.declarative ├── Jenkinsfile.fullBuild ├── Jenkinsfile.local ├── Jenkinsfile.parallel.declarative ├── Jenkinsfile.pr ├── Jenkinsfile.reference ├── Jenkinsfile.valgrind └── assertj-templates │ ├── assertion_class_template.txt │ ├── assertions_entry_point_class_template.txt │ ├── has_assertion_template.txt │ └── soft_assertions_entry_point_class_template.txt ├── package.json ├── pom.xml └── src ├── main ├── java │ └── edu │ │ └── hm │ │ └── hafner │ │ └── analysis │ │ ├── AbstractModuleDetector.java │ │ ├── AntModuleDetector.java │ │ ├── Categories.java │ │ ├── DuplicationGroup.java │ │ ├── FileNameResolver.java │ │ ├── FileReaderFactory.java │ │ ├── FingerprintGenerator.java │ │ ├── FullTextFingerprint.java │ │ ├── GradleModuleDetector.java │ │ ├── Issue.java │ │ ├── IssueBuilder.java │ │ ├── IssueDifference.java │ │ ├── IssueParser.java │ │ ├── IssuesInModifiedCodeMarker.java │ │ ├── LookaheadParser.java │ │ ├── MavenModuleDetector.java │ │ ├── ModuleDetectorRunner.java │ │ ├── ModuleResolver.java │ │ ├── OsgiModuleDetector.java │ │ ├── PackageNameResolver.java │ │ ├── ParsingCanceledException.java │ │ ├── ParsingException.java │ │ ├── ReaderFactory.java │ │ ├── Report.java │ │ ├── RevApiInfoExtension.java │ │ ├── SecureDigester.java │ │ ├── Severity.java │ │ ├── package-info.java │ │ ├── parser │ │ ├── AbstractDryParser.java │ │ ├── AbstractMavenLogParser.java │ │ ├── AcuCobolParser.java │ │ ├── AjcParser.java │ │ ├── AnsibleLintParser.java │ │ ├── AntJavacParser.java │ │ ├── AquaScannerParser.java │ │ ├── Armcc52CompilerParser.java │ │ ├── Armcc5CompilerParser.java │ │ ├── ArmccAbstractParser.java │ │ ├── ArmccCompilerParser.java │ │ ├── BluePearlParser.java │ │ ├── BrakemanParser.java │ │ ├── BuckminsterParser.java │ │ ├── CMakeParser.java │ │ ├── CadenceIncisiveParser.java │ │ ├── CargoCheckParser.java │ │ ├── CargoClippyParser.java │ │ ├── CcmParser.java │ │ ├── CheckStyleParser.java │ │ ├── CheckStyleRules.java │ │ ├── ClairParser.java │ │ ├── ClangAnalyzerPlistParser.java │ │ ├── ClangParser.java │ │ ├── ClangTidyParser.java │ │ ├── CodeAnalysisParser.java │ │ ├── CodeCheckerParser.java │ │ ├── CodeGeneratorParser.java │ │ ├── CoolfluxChessccParser.java │ │ ├── CpdParser.java │ │ ├── CppLintParser.java │ │ ├── CrossCoreEmbeddedStudioParser.java │ │ ├── DScannerParser.java │ │ ├── DiabCParser.java │ │ ├── DockerLintParser.java │ │ ├── DoxygenParser.java │ │ ├── DrMemoryParser.java │ │ ├── DupFinderParser.java │ │ ├── EclipseMavenParser.java │ │ ├── EclipseParser.java │ │ ├── EclipseXmlParser.java │ │ ├── EmbeddedEngineerParser.java │ │ ├── ErlcParser.java │ │ ├── ErrorProneParser.java │ │ ├── FindBugsMessages.java │ │ ├── FindBugsParser.java │ │ ├── FlawfinderParser.java │ │ ├── FlexSdkParser.java │ │ ├── FlowParser.java │ │ ├── FoodcriticParser.java │ │ ├── FxCopParser.java │ │ ├── Gcc4CompilerParser.java │ │ ├── Gcc4LinkerParser.java │ │ ├── GccParser.java │ │ ├── GendarmeParser.java │ │ ├── GhsMultiParser.java │ │ ├── GnatParser.java │ │ ├── GnuFortranParser.java │ │ ├── GoLintParser.java │ │ ├── GoVetParser.java │ │ ├── GradleErrorProneParser.java │ │ ├── GrypeParser.java │ │ ├── HadoLintParser.java │ │ ├── IarCstatParser.java │ │ ├── IarParser.java │ │ ├── IdeaInspectionParser.java │ │ ├── IntelParser.java │ │ ├── InvalidsParser.java │ │ ├── JavaDocParser.java │ │ ├── JavacParser.java │ │ ├── JcReportParser.java │ │ ├── JsonBaseParser.java │ │ ├── JsonIssueParser.java │ │ ├── JsonLogParser.java │ │ ├── JsonParser.java │ │ ├── LintParser.java │ │ ├── MavenConsoleParser.java │ │ ├── MentorParser.java │ │ ├── MetrowerksCwCompilerParser.java │ │ ├── MetrowerksCwLinkerParser.java │ │ ├── MsBuildParser.java │ │ ├── NagFortranParser.java │ │ ├── OeLintAdvParser.java │ │ ├── OtDockerLintParser.java │ │ ├── OwaspDependencyCheckParser.java │ │ ├── P4Parser.java │ │ ├── Pep8Parser.java │ │ ├── PerlCriticParser.java │ │ ├── PhpParser.java │ │ ├── PmdMessages.java │ │ ├── PmdParser.java │ │ ├── PnpmAuditParser.java │ │ ├── PolyspaceParser.java │ │ ├── PreFastParser.java │ │ ├── ProtoLintJsonParser.java │ │ ├── ProtoLintParser.java │ │ ├── PuppetLintParser.java │ │ ├── PvsStudioParser.java │ │ ├── PyLintDescriptions.java │ │ ├── PyLintParser.java │ │ ├── QacSourceCodeAnalyserParser.java │ │ ├── QtTranslationParser.java │ │ ├── RevApiParser.java │ │ ├── RfLintParser.java │ │ ├── RobocopyParser.java │ │ ├── RuboCopParser.java │ │ ├── SbtScalacParser.java │ │ ├── ScalacParser.java │ │ ├── SimianParser.java │ │ ├── SimulinkCheckParser.java │ │ ├── SonarQubeDiffParser.java │ │ ├── SonarQubeIssuesParser.java │ │ ├── SonarQubeParser.java │ │ ├── SphinxBuildLinkCheckParser.java │ │ ├── SphinxBuildParser.java │ │ ├── StyleCopParser.java │ │ ├── SunCParser.java │ │ ├── TaglistParser.java │ │ ├── TaskingVxCompilerParser.java │ │ ├── TiCcsParser.java │ │ ├── TnsdlParser.java │ │ ├── TrivyParser.java │ │ ├── ValeParser.java │ │ ├── VeraCodePipelineScannerParser.java │ │ ├── XlcCompilerParser.java │ │ ├── XlcLinkerParser.java │ │ ├── XmlParser.java │ │ ├── YoctoScannerParser.java │ │ ├── YuiCompressorParser.java │ │ ├── package-info.java │ │ └── violations │ │ │ ├── AbstractViolationAdapter.java │ │ │ ├── AndroidLintAdapter.java │ │ │ ├── AnsibleLaterAdapter.java │ │ │ ├── BanditAdapter.java │ │ │ ├── CodeClimateAdapter.java │ │ │ ├── CodeNarcAdapter.java │ │ │ ├── CoverityAdapter.java │ │ │ ├── CppCheckAdapter.java │ │ │ ├── DartAnalyzeParserAdapter.java │ │ │ ├── DocFxAdapter.java │ │ │ ├── Flake8Adapter.java │ │ │ ├── JUnitAdapter.java │ │ │ ├── JsHintAdapter.java │ │ │ ├── KlocWorkAdapter.java │ │ │ ├── MyPyAdapter.java │ │ │ ├── PitAdapter.java │ │ │ ├── PyDocStyleAdapter.java │ │ │ ├── ResharperInspectCodeAdapter.java │ │ │ ├── SarifAdapter.java │ │ │ ├── SemgrepAdapter.java │ │ │ ├── ValgrindAdapter.java │ │ │ ├── XmlLintAdapter.java │ │ │ ├── YamlLintAdapter.java │ │ │ ├── ZptLintAdapter.java │ │ │ └── package-info.java │ │ ├── registry │ │ ├── AcuCobolDescriptor.java │ │ ├── AjcDescriptor.java │ │ ├── AndroidLintDescriptor.java │ │ ├── AnsibleLaterDescriptor.java │ │ ├── AnsibleLintDescriptor.java │ │ ├── AquaScannerDescriptor.java │ │ ├── ArmccCompilerDescriptor.java │ │ ├── BanditDescriptor.java │ │ ├── BluePearlDescriptor.java │ │ ├── BrakemanDescriptor.java │ │ ├── BuckminsterDescriptor.java │ │ ├── CadenceIncisiveDescriptor.java │ │ ├── CargoClippyDescriptor.java │ │ ├── CargoDescriptor.java │ │ ├── CcmDescriptor.java │ │ ├── CheckStyleDescriptor.java │ │ ├── ClairDescriptor.java │ │ ├── ClangAnalyzerDescriptor.java │ │ ├── ClangDescriptor.java │ │ ├── ClangTidyDescriptor.java │ │ ├── CmakeDescriptor.java │ │ ├── CodeAnalysisDescriptor.java │ │ ├── CodeCheckerDescriptor.java │ │ ├── CodeClimateDescriptor.java │ │ ├── CodeGeneratorDescriptor.java │ │ ├── CodeNarcDescriptor.java │ │ ├── CompositeParserDescriptor.java │ │ ├── CoolfluxChessccDescriptor.java │ │ ├── CoverityDescriptor.java │ │ ├── CpdDescriptor.java │ │ ├── CppCheckDescriptor.java │ │ ├── CppLintDescriptor.java │ │ ├── CrossCoreEmbeddedStudioDescriptor.java │ │ ├── CssLintDescriptor.java │ │ ├── DScannerDescriptor.java │ │ ├── DartAnalyzeDescriptor.java │ │ ├── DetektDescriptor.java │ │ ├── DiabCDescriptor.java │ │ ├── DocFxDescriptor.java │ │ ├── DockerLintDescriptor.java │ │ ├── DoxygenDescriptor.java │ │ ├── DrMemoryDescriptor.java │ │ ├── DryDescriptor.java │ │ ├── DupfinderDescriptor.java │ │ ├── EclipseDescriptor.java │ │ ├── EmbeddedEngineerDescriptor.java │ │ ├── ErlcDescriptor.java │ │ ├── ErrorProneDescriptor.java │ │ ├── EsLintDescriptor.java │ │ ├── FindBugsDescriptor.java │ │ ├── Flake8Descriptor.java │ │ ├── FlawfinderDescriptor.java │ │ ├── FlexSdkDescriptor.java │ │ ├── FlowDescriptor.java │ │ ├── FoodCriticDescriptor.java │ │ ├── FxcopDescriptor.java │ │ ├── Gcc4Descriptor.java │ │ ├── GccDescriptor.java │ │ ├── GendarmeDescriptor.java │ │ ├── GhsMultiDescriptor.java │ │ ├── GnatDescriptor.java │ │ ├── GnuFortranDescriptor.java │ │ ├── GoLintDescriptor.java │ │ ├── GoVetDescriptor.java │ │ ├── GrypeDescriptor.java │ │ ├── HadoLintDescriptor.java │ │ ├── IarCstatDescriptor.java │ │ ├── IarDescriptor.java │ │ ├── IbLinterDescriptor.java │ │ ├── IdeaInspectionDescriptor.java │ │ ├── InferDescriptor.java │ │ ├── IntelDescriptor.java │ │ ├── InvalidsDescriptor.java │ │ ├── JUnitDescriptor.java │ │ ├── JavaDescriptor.java │ │ ├── JavaDocDescriptor.java │ │ ├── JcreportDescriptor.java │ │ ├── JsHintDescriptor.java │ │ ├── JsLintDescriptor.java │ │ ├── KlocWorkDescriptor.java │ │ ├── KotlinDescriptor.java │ │ ├── KtLintDescriptor.java │ │ ├── MavenConsoleDescriptor.java │ │ ├── MentorGraphicsDescriptor.java │ │ ├── MetrowerksCodeWarriorDescriptor.java │ │ ├── MsBuildDescriptor.java │ │ ├── MyPyDescriptor.java │ │ ├── NagFortranDescriptor.java │ │ ├── NativeFormatDescriptor.java │ │ ├── OeLintAdvDescriptor.java │ │ ├── OtDockerLintDescriptor.java │ │ ├── OwaspDependencyCheckDescriptor.java │ │ ├── ParserDescriptor.java │ │ ├── ParserRegistry.java │ │ ├── PcLintDescriptor.java │ │ ├── Pep8Descriptor.java │ │ ├── PerforceDescriptor.java │ │ ├── PerlCriticDescriptor.java │ │ ├── PhpCodeSnifferDescriptor.java │ │ ├── PhpDescriptor.java │ │ ├── PhpStanDescriptor.java │ │ ├── PitDescriptor.java │ │ ├── PmdDescriptor.java │ │ ├── PnpmAuditDescriptor.java │ │ ├── PolyspaceDescriptor.java │ │ ├── PreFastDescriptor.java │ │ ├── ProtoLintDescriptor.java │ │ ├── PuppetLintDescriptor.java │ │ ├── PvsStudioDescriptor.java │ │ ├── PyDocStyleDescriptor.java │ │ ├── PyLintDescriptor.java │ │ ├── QacSourceCodeAnalyserDescriptor.java │ │ ├── QtTranslationDescriptor.java │ │ ├── ResharperDescriptor.java │ │ ├── RevApiDescriptor.java │ │ ├── RfLintDescriptor.java │ │ ├── RoboCopyDescriptor.java │ │ ├── RuboCopDescriptor.java │ │ ├── SarifDescriptor.java │ │ ├── ScalaDescriptor.java │ │ ├── SemgrepDescriptor.java │ │ ├── SimianDescriptor.java │ │ ├── SimulinkCheckDescriptor.java │ │ ├── SonarQubeDescriptor.java │ │ ├── SphinxBuildDescriptor.java │ │ ├── SpotBugsDescriptor.java │ │ ├── StyleCopDescriptor.java │ │ ├── StyleLintDescriptor.java │ │ ├── SunCDescriptor.java │ │ ├── SwiftLintDescriptor.java │ │ ├── TaglistDescriptor.java │ │ ├── TaskingVxCompilerDescriptor.java │ │ ├── TiCcsDescriptor.java │ │ ├── TnsdlDescriptor.java │ │ ├── TrivyDescriptor.java │ │ ├── TsLintDescriptor.java │ │ ├── ValeDescriptor.java │ │ ├── ValgrindDescriptor.java │ │ ├── VeraCodePipelineScannerDescriptor.java │ │ ├── XlcDescriptor.java │ │ ├── XmlLintDescriptor.java │ │ ├── YamlLintDescriptor.java │ │ ├── YoctoScannerDescriptor.java │ │ ├── YuiCompressorDescriptor.java │ │ ├── ZptLintDescriptor.java │ │ └── package-info.java │ │ └── util │ │ ├── Deferred.java │ │ ├── IntegerParser.java │ │ ├── XmlElementUtil.java │ │ └── package-info.java └── resources │ └── edu │ └── hm │ └── hafner │ └── analysis │ └── parser │ ├── checkstyle │ ├── config_annotation.xml │ ├── config_blocks.xml │ ├── config_coding.xml │ ├── config_design.xml │ ├── config_filefilters.xml │ ├── config_filters.xml │ ├── config_header.xml │ ├── config_imports.xml │ ├── config_javadoc.xml │ ├── config_metrics.xml │ ├── config_misc.xml │ ├── config_modifier.xml │ ├── config_naming.xml │ ├── config_regexp.xml │ ├── config_reporting.xml │ ├── config_sizes.xml │ └── config_whitespace.xml │ ├── findbugs │ ├── fb-contrib-messages.xml │ ├── find-sec-bugs-messages.xml │ └── messages.xml │ └── pylint-descriptions.json └── test ├── java └── edu │ └── hm │ └── hafner │ ├── Example.jenkinsfile │ ├── analysis │ ├── AbstractBenchmark.java │ ├── AbstractModuleDetectorTest.java │ ├── AntModuleDetectorTest.java │ ├── DuplicationGroupTest.java │ ├── FileNameResolverTest.java │ ├── FileReaderFactoryTest.java │ ├── FingerprintGeneratorBenchmark.java │ ├── FingerprintGeneratorTest.java │ ├── FullTextFingerprintTest.java │ ├── GradleModuleDetectorTest.java │ ├── IssueBuilderTest.java │ ├── IssueDifferenceBenchmark.java │ ├── IssueDifferenceTest.java │ ├── IssueFilterTest.java │ ├── IssueParserTest.java │ ├── IssueTest.java │ ├── IssuesInModifiedCodeMarkerTest.java │ ├── MavenModuleDetectorTest.java │ ├── ModuleDetectorTest.java │ ├── ModuleResolverTest.java │ ├── OsgiModuleDetectorTest.java │ ├── PackageNameResolverBenchmark.java │ ├── PackageNameResolverTest.java │ ├── ReportSerializationBenchmark.java │ ├── ReportTest.java │ ├── SeverityTest.java │ ├── parser │ │ ├── AcuCobolParserTest.java │ │ ├── AjcParserTest.java │ │ ├── AnsibleLintParserTest.java │ │ ├── AntJavacParserTest.java │ │ ├── AquaScannerParserTest.java │ │ ├── Armcc52CompilerParserTest.java │ │ ├── Armcc5CompilerParserTest.java │ │ ├── ArmccCompilerParserTest.java │ │ ├── BluePearlParserTest.java │ │ ├── BrakemanParserTest.java │ │ ├── BuckminsterParserTest.java │ │ ├── CMakeParserTest.java │ │ ├── CadenceIncisiveParserTest.java │ │ ├── CargoCheckParserTest.java │ │ ├── CargoClippyParserTest.java │ │ ├── CcmParserTest.java │ │ ├── CheckStyleParserTest.java │ │ ├── CheckStyleRulesTest.java │ │ ├── ClairParserTest.java │ │ ├── ClangAnalyzerPlistParserTest.java │ │ ├── ClangParserTest.java │ │ ├── ClangTidyParserTest.java │ │ ├── CodeAnalysisParserTest.java │ │ ├── CodeCheckerParserTest.java │ │ ├── CodeGeneratorParserTest.java │ │ ├── CoolfluxChessccParserTest.java │ │ ├── CpdParserTest.java │ │ ├── CppLintParserTest.java │ │ ├── CrossCoreEmbeddedStudioParserTest.java │ │ ├── CssLintParserTest.java │ │ ├── DScannerParserTest.java │ │ ├── DiabCParserTest.java │ │ ├── DockerLintParserTest.java │ │ ├── DoxygenParserTest.java │ │ ├── DrMemoryParserTest.java │ │ ├── DupFinderParserTest.java │ │ ├── EclipseMavenParserTest.java │ │ ├── EclipseParserTest.java │ │ ├── EclipseSharedChecks.java │ │ ├── EclipseXmlParserTest.java │ │ ├── EmbeddedEngineerParserTest.java │ │ ├── ErlcParserTest.java │ │ ├── ErrorProneParserTest.java │ │ ├── FindBugsMessagesTest.java │ │ ├── FindBugsParserTest.java │ │ ├── FlawfinderParserTest.java │ │ ├── FlexSdkParserTest.java │ │ ├── FlowParserTest.java │ │ ├── FoodcriticParserTest.java │ │ ├── FxcopParserTest.java │ │ ├── Gcc4CompilerParserTest.java │ │ ├── Gcc4LinkerParserTest.java │ │ ├── GccParserTest.java │ │ ├── GendarmeParserTest.java │ │ ├── GhsMultiParserTest.java │ │ ├── GnatParserTest.java │ │ ├── GnuFortranParserTest.java │ │ ├── GoLintParserTest.java │ │ ├── GoVetParserTest.java │ │ ├── GradleErrorProneParserTest.java │ │ ├── GrypeParserTest.java │ │ ├── HadoLintParserTest.java │ │ ├── HpiCompileParserTest.java │ │ ├── IarCstatParserTest.java │ │ ├── IarParserTest.java │ │ ├── IdeaInspectionParserTest.java │ │ ├── IntelParserTest.java │ │ ├── InvalidsParserTest.java │ │ ├── JavaDocParserTest.java │ │ ├── JavacParserTest.java │ │ ├── JcReportParserTest.java │ │ ├── JsLintParserTest.java │ │ ├── JsonLogParserTest.java │ │ ├── JsonParserTest.java │ │ ├── MavenConsoleParserTest.java │ │ ├── MentorParserTest.java │ │ ├── MetrowerksCwCompilerParserTest.java │ │ ├── MetrowerksCwLinkerParserTest.java │ │ ├── MsBuildParserTest.java │ │ ├── NagFortranParserTest.java │ │ ├── OeLintAdvParserTest.java │ │ ├── OtDockerLintParserTest.java │ │ ├── OwaspDependencyCheckParserTest.java │ │ ├── P4ParserTest.java │ │ ├── ParserBenchmark.java │ │ ├── Pep8ParserTest.java │ │ ├── PerlCriticParserTest.java │ │ ├── PhpParserTest.java │ │ ├── PmdMessagesTest.java │ │ ├── PmdParserTest.java │ │ ├── PnpmAuditParserTest.java │ │ ├── PolyspaceParserTest.java │ │ ├── PreFastParserTest.java │ │ ├── ProtoLintJsonParserTest.java │ │ ├── ProtoLintParserTest.java │ │ ├── PuppetLintParserTest.java │ │ ├── PvsStudioParserTest.java │ │ ├── PyLintDescriptionsTest.java │ │ ├── PylintParserTest.java │ │ ├── QacSourceCodeAnalyserParserTest.java │ │ ├── QtTranslationParserTest.java │ │ ├── RevApiParserTest.java │ │ ├── RfLintParserTest.java │ │ ├── RobocopyParserTest.java │ │ ├── RuboCopParserTest.java │ │ ├── SbtScalacParserTest.java │ │ ├── ScalacParserTest.java │ │ ├── SimianParserTest.java │ │ ├── SimulinkCheckParserTest.java │ │ ├── SonarQubeDiffParserTest.java │ │ ├── SonarQubeIssuesParserTest.java │ │ ├── SphinxBuildLinkCheckParserTest.java │ │ ├── SphinxBuildParserTest.java │ │ ├── StructuredFileParserTest.java │ │ ├── StyleCopParserTest.java │ │ ├── SunCParserTest.java │ │ ├── TaglistParserTest.java │ │ ├── TaskingVxCompilerParserTest.java │ │ ├── TiCcsParserTest.java │ │ ├── TnsdlParserTest.java │ │ ├── TrivyParserTest.java │ │ ├── ValeParserTest.java │ │ ├── VeraCodePipelineScannerParserTest.java │ │ ├── XlcLinkerParserTest.java │ │ ├── XlcParserTest.java │ │ ├── XmlParserTest.java │ │ ├── YoctoScannerParserTest.java │ │ ├── YuiCompressorParserTest.java │ │ └── violations │ │ │ ├── AndroidLintAdapterTest.java │ │ │ ├── AnsibleLaterAdapterTest.java │ │ │ ├── BanditAdapterTest.java │ │ │ ├── CodeClimateAdapterTest.java │ │ │ ├── CodeNarcAdapterTest.java │ │ │ ├── CoverityAdapterTest.java │ │ │ ├── CppCheckAdapterTest.java │ │ │ ├── DartAnalyzeParserAdapterTest.java │ │ │ ├── DocFxAdapterTest.java │ │ │ ├── Flake8AdapterTest.java │ │ │ ├── JUnitAdapterTest.java │ │ │ ├── JsHintAdapterTest.java │ │ │ ├── KlocWorkAdapterTest.java │ │ │ ├── MyPyAdapterTest.java │ │ │ ├── PitAdapterTest.java │ │ │ ├── PyDocStyleAdapterTest.java │ │ │ ├── ResharperInspectCodeAdapterTest.java │ │ │ ├── SarifAdapterTest.java │ │ │ ├── SemgrepAdapterTest.java │ │ │ ├── ValgrindAdapterTest.java │ │ │ ├── XmlLintAdapterTest.java │ │ │ ├── YamlLintAdapterTest.java │ │ │ └── ZptLintAdapterTest.java │ ├── registry │ │ ├── AbstractParserTest.java │ │ ├── ParserRegistryTest.java │ │ ├── ParsersTest.java │ │ └── UpdateSupportedFormats.java │ └── util │ │ └── IntegerParserTest.java │ └── archunit │ ├── ArchitectureTest.java │ └── PackageArchitectureTest.java └── resources ├── archunit_ignore_patterns.txt ├── design.puml ├── edu └── hm │ └── hafner │ └── analysis │ ├── ActionBinding-Original-Formatting.cs │ ├── ActionBinding.cs │ ├── Class1.cs │ ├── MANIFEST-NAME.MF │ ├── MANIFEST.MF │ ├── MavenJavaTest.txt │ ├── MavenJavaTest.txt.java │ ├── MavenKotlinTest.txt │ ├── Program.cs │ ├── ath-colored.log │ ├── build.xml │ ├── child │ └── child.txt │ ├── complicated-package-declaration-kotlin.txt │ ├── complicated-package-declaration.txt │ ├── context.txt │ ├── dry.ser │ ├── eclipse-withinfo.xml │ ├── encoded-with-ISO8859-1.xml │ ├── encoded-with-UTF8.xml │ ├── encoded-without-encoding.xml │ ├── fingerprint-one.txt │ ├── fingerprint-two.txt │ ├── fingerprint.txt │ ├── issue.ser │ ├── l10n.properties │ ├── no-name-pom.xml │ ├── normalized.txt │ ├── parser │ ├── CadenceIncisive.txt │ ├── CargoCheck.json │ ├── ClangAnalyzer.txt │ ├── ClangTidy.txt │ ├── CodeChecker_with_linux_paths.txt │ ├── CodeChecker_with_windows_paths.txt │ ├── CodeGenerator.log │ ├── Gendarme.xml │ ├── Gendarme_unix.xml │ ├── GnuFortran.txt │ ├── GnuFortranError.txt │ ├── GnuFortranFatalError.txt │ ├── GnuFortranInternalError.txt │ ├── GnuFortranInvalid.txt │ ├── GnuFortranWarning.txt │ ├── IdeaInspectionExample.xml │ ├── MSBuildANSIColor.txt │ ├── MentorGraphics.log │ ├── MetrowerksCWCompiler.txt │ ├── MetrowerksCWLinker.txt │ ├── NagFortran.txt │ ├── NagFortranDeletedFeatureUsed.txt │ ├── NagFortranError.txt │ ├── NagFortranExtension.txt │ ├── NagFortranExtensionF2008.txt │ ├── NagFortranExtensionF2018.txt │ ├── NagFortranExtensionNAG.txt │ ├── NagFortranFatalError.txt │ ├── NagFortranInfo.txt │ ├── NagFortranNonStandardObsolete.txt │ ├── NagFortranObsolescent.txt │ ├── NagFortranPanic.txt │ ├── NagFortranQuestionable.txt │ ├── NagFortranRuntimeError.txt │ ├── NagFortranWarning.txt │ ├── PREfast.xml │ ├── QACSourceCodeAnalyser.txt │ ├── ResharperInspectCode.xml │ ├── Simulink.html │ ├── TEST-Aufgabe3Test.xml │ ├── TEST-org.jenkinsci.plugins.jvctb.perform.JvctbPerformerTest.xml │ ├── TestReport.plog │ ├── absolute-paths.txt │ ├── acu.txt │ ├── ajc.txt │ ├── all.txt │ ├── android-lint.xml │ ├── ansibleLint.txt │ ├── ant-javac-japanese.txt │ ├── ant-javac.txt │ ├── apple-llvm-clang.txt │ ├── aqua_scanner_result.json │ ├── armcc.txt │ ├── armcc5.txt │ ├── assignment1.xml │ ├── bluepearl.log │ ├── brakeman.json │ ├── buckminster.txt │ ├── cargo-clippy-2018.txt │ ├── cces.log │ ├── ccm.xml │ ├── checkstyle.xml │ ├── checkstyle │ │ ├── all-severities.xml │ │ ├── checkstyle.xml │ │ ├── issue19122.xml │ │ ├── issue25511.xml │ │ ├── issue60859.xml │ │ ├── issue63388.xml │ │ └── scalastyle-output.xml │ ├── clair-unusual.json │ ├── clair.json │ ├── clang-analyzer-bad.txt │ ├── clang-analyzer-test.txt │ ├── cmake.txt │ ├── codeNarc.xml │ ├── codeanalysis.txt │ ├── coolfluxchesscc.txt │ ├── cpd.xml │ ├── cpd │ │ ├── cpd.xml │ │ ├── issue12516.xml │ │ ├── issue22356.xml │ │ ├── one-cpd.xml │ │ ├── otherfile.xml │ │ └── pmd-cpd.xml │ ├── cpp-check-1.xml │ ├── cpp-check-2.xml │ ├── cppcheck.xml │ ├── cpplint-message-with-colon.txt │ ├── cpplint.txt │ ├── csslint.xml │ ├── dart.log │ ├── dependency-check-report.json │ ├── deprecations.txt │ ├── diabc.txt │ ├── docfx.json │ ├── dockerlint.json │ ├── doxygen.txt │ ├── drmemory.txt │ ├── dscanner-incomplete-report.json │ ├── dscanner-report.json │ ├── dupfinder.xml │ ├── dupfinder │ │ ├── otherfile.xml │ │ ├── with-sourcecode.xml │ │ └── without-sourcecode.xml │ ├── ea.log │ ├── eclipse-maven-withjavadoc.log │ ├── eclipse-withinfo.txt │ ├── eclipse-withinfo.xml │ ├── eclipse-withjavadoc.log │ ├── eclipse-withjavadoc.xml │ ├── eclipse.txt │ ├── enforcer-empty.txt │ ├── erlc.txt │ ├── error-prone-maven.log │ ├── error-prone.log │ ├── errorprone-maven.log │ ├── findbugs-native.xml │ ├── findbugs │ │ ├── fbcontrib.xml │ │ ├── findbugs-3rd-party-category.xml │ │ ├── findbugs-multclass.xml │ │ ├── findbugs-native.xml │ │ ├── findbugs-nomessage.xml │ │ ├── findbugs-severities.xml │ │ ├── issue12314.xml │ │ ├── issue7238.xml │ │ ├── issue7312.xml │ │ └── spotbugsXml.xml │ ├── flake8-issue53786 │ ├── flake8.log │ ├── flake8.txt │ ├── flawfinder.log │ ├── flexsdk.txt │ ├── flow.json │ ├── foodcritic.log │ ├── fxcop.xml │ ├── gcc.txt │ ├── gcc4.txt │ ├── gcc4ld.txt │ ├── ghsmulti.txt │ ├── gnat.txt │ ├── gnuMakeGcc.txt │ ├── golint.txt │ ├── govet.txt │ ├── gradle-error-prone.log │ ├── gradle.another.java.log │ ├── gradle.java.log │ ├── grype-report-wo-description.json │ ├── grype-report.json │ ├── hadolint-unsual.json │ ├── hadolint.json │ ├── hpi.txt │ ├── iar-cstat.txt │ ├── iar-ewarm-6.3.txt │ ├── iar-nowrap.log │ ├── iar.txt │ ├── iblinter.xml │ ├── intelc.txt │ ├── invalids.txt │ ├── issue10566.txt │ ├── issue11675.txt │ ├── issue11799.txt │ ├── issue11926.txt │ ├── issue12280.txt │ ├── issue12822.txt │ ├── issue13969.txt │ ├── issue14043.txt │ ├── issue14172.xml │ ├── issue14333.txt │ ├── issue14383.txt │ ├── issue14888.txt │ ├── issue16826.txt │ ├── issue17309.txt │ ├── issue17792-nofilename.txt │ ├── issue17792.txt │ ├── issue18081.txt │ ├── issue18084.txt │ ├── issue18290.txt │ ├── issue20154.txt │ ├── issue20544.txt │ ├── issue21240.txt │ ├── issue2133.txt │ ├── issue21377.txt │ ├── issue22386.txt │ ├── issue2316.txt │ ├── issue2383.txt │ ├── issue24611.txt │ ├── issue26441.txt │ ├── issue27664.txt │ ├── issue27681.txt │ ├── issue27914.txt │ ├── issue31936.txt │ ├── issue32298.txt │ ├── issue34141.txt │ ├── issue3582.txt │ ├── issue36817.txt │ ├── issue37975.txt │ ├── issue38215.txt │ ├── issue38557.txt │ ├── issue3897.txt │ ├── issue4010.txt │ ├── issue4098.txt │ ├── issue4260.txt │ ├── issue4274.txt │ ├── issue42823.txt │ ├── issue4576.txt │ ├── issue4700.txt │ ├── issue4707.txt │ ├── issue4712.txt │ ├── issue4731.txt │ ├── issue48647.txt │ ├── issue4932.txt │ ├── issue51485.txt │ ├── issue5402.txt │ ├── issue5445.txt │ ├── issue54506.txt │ ├── issue55221.txt │ ├── issue55345.json │ ├── issue55368.txt │ ├── issue55707.xml │ ├── issue55733-multiple-tags-with-same-id.xml │ ├── issue55733.xml │ ├── issue55750.txt │ ├── issue55805.txt │ ├── issue55840.linux.txt │ ├── issue55840.windows.txt │ ├── issue55846.log │ ├── issue56020.makefile.log │ ├── issue56020.ninja.log │ ├── issue56030.log │ ├── issue5605.txt │ ├── issue5606.txt │ ├── issue56193.log │ ├── issue56235.xml │ ├── issue56450.txt │ ├── issue56612.log │ ├── issue56613.txt │ ├── issue56915.txt │ ├── issue57365.txt │ ├── issue57379.txt │ ├── issue58159-2.txt │ ├── issue5868.txt │ ├── issue5870.txt │ ├── issue59118.txt │ ├── issue60033.txt │ ├── issue61855.txt │ ├── issue63216.txt │ ├── issue63346.log │ ├── issue63346.txt │ ├── issue63580.txt │ ├── issue64117.junit │ ├── issue6427.txt │ ├── issue64284.log │ ├── issue64519.xml │ ├── issue64657.txt │ ├── issue6563.txt │ ├── issue66130.log │ ├── issue66738.txt │ ├── issue66835.makefile.log │ ├── issue66923.txt │ ├── issue66950.txt │ ├── issue6709.txt │ ├── issue67291.txt │ ├── issue67296.json │ ├── issue68396.txt │ ├── issue68744.txt │ ├── issue69242.txt │ ├── issue6971.txt │ ├── issue70065.txt │ ├── issue70153.txt │ ├── issue7077-all.txt │ ├── issue7077.txt │ ├── issue70996.txt │ ├── issue7178.txt │ ├── issue72011.txt │ ├── issue72077.txt │ ├── issue7718.txt │ ├── issue7775.txt │ ├── issue8347.txt │ ├── issue8630.txt │ ├── issue8823.txt │ ├── issue9926.txt │ ├── issues-broken.json │ ├── issues-invalid.json │ ├── issues-no-issues.json │ ├── issues.json │ ├── java-eclipse-ant.log │ ├── javac-errorprone.txt │ ├── javac-errors.txt │ ├── javac-parallel-pipeline.txt │ ├── javac-timestamps.txt │ ├── javac.log │ ├── javac.txt │ ├── javadoc-category.txt │ ├── javadoc-in-java.log │ ├── javadoc.txt │ ├── jcreport.xml │ ├── jcreport │ │ ├── jcoderz-report.xml │ │ ├── testCorrect.xml │ │ ├── testCorrupt.xml │ │ └── testReportProps.xml │ ├── jshint.xml │ ├── jslint │ │ ├── csslint.xml │ │ ├── jslint.xml │ │ ├── multi.xml │ │ └── single.xml │ ├── json-issues-duplicate.log │ ├── json-issues-empty.txt │ ├── json-issues-lineBreak.log │ ├── json-issues.log │ ├── junit-skipped.xml │ ├── junit.xml │ ├── kernel.log │ ├── klocwork.xml │ ├── kotlin-1_8.txt │ ├── kotlin-cmake.txt │ ├── kotlin-gradle-error.txt │ ├── kotlin-gradle.txt │ ├── kotlin-maven-plugin.txt │ ├── kotlin.txt │ ├── llvm-clang.txt │ ├── maven-ansi.txt │ ├── maven-console.txt │ ├── maven-enforcer.log │ ├── maven-enforcer2.log │ ├── maven-error-prone.log │ ├── maven-goals.log │ ├── maven-line-number.log │ ├── maven-multimodule.log │ ├── maven.3.9.1.log │ ├── maven.txt │ ├── modelsim.log │ ├── msbuild.txt │ ├── mypy.txt │ ├── oelint-adv.txt │ ├── ot-docker-linter.json │ ├── package.xml │ ├── pep8Test.txt │ ├── perforce.txt │ ├── perlcritic.txt │ ├── php.txt │ ├── phpstan.xml │ ├── pit-with-duplicates.xml │ ├── pit.xml │ ├── pmd-6.xml │ ├── pmd │ │ ├── 4-pmd-warnings.xml │ │ ├── empty.xml │ │ ├── equals-test.xml │ │ ├── issue12801.xml │ │ ├── issue54736.xml │ │ ├── lines-columns.xml │ │ ├── otherfile.xml │ │ ├── pmd-report.xml │ │ └── warning-message-with-dot.xml │ ├── pnpm-audit.json │ ├── polyspace.csv │ ├── polyspace_cp.csv │ ├── project.ser │ ├── project.ser.xml │ ├── protolint.txt │ ├── protolint_0.49.8.json │ ├── protolint_0.50.2.json │ ├── puppet-lint.txt │ ├── pvsstudio │ │ └── TestReport.plog │ ├── pyLint.txt │ ├── pydocstyle.txt │ ├── pylint-absolute-paths.txt │ ├── pylint_parseable.txt │ ├── pynamodb_ccm_results_sample.xml │ ├── qttranslation.ts │ ├── qttranslation │ │ ├── duplicatedName.ts │ │ ├── duplicatedSource.ts │ │ ├── duplicatedTranslation.ts │ │ ├── missingElementStart.ts │ │ ├── missingName.ts │ │ ├── missingNumerusAttribute.ts │ │ ├── missingSource.ts │ │ ├── missingTranslation.ts │ │ ├── multilineTranslation.ts │ │ ├── rootElementHasParent.ts │ │ ├── shouldParseAllIssues.ts │ │ ├── shouldParseAllIssuesSingleLine.ts │ │ ├── unknownTranslationType.ts │ │ └── wrongParent.ts │ ├── report.junit │ ├── revapi-result.json │ ├── revapi_report.json │ ├── rflint.txt │ ├── robocopy.txt │ ├── rubocop.log │ ├── sarif.json │ ├── sbtScalac.txt │ ├── scalac.txt │ ├── simian.xml │ ├── simian │ │ ├── fourfile.xml │ │ ├── onefile.xml │ │ ├── otherfile.xml │ │ ├── simian-2.3.31.xml │ │ ├── twofile.xml │ │ └── twosets.xml │ ├── sonarqube-api-multimodule.json │ ├── sonarqube-api.json │ ├── sonarqube-differential-multimodule.json │ ├── sonarqube-differential.json │ ├── sphinxbuild.txt │ ├── sphinxbuildlinkcheck.txt │ ├── spotbugsXml.xml │ ├── stylecop.xml │ ├── stylecop │ │ ├── onefile.xml │ │ └── stylecop-v4.3.xml │ ├── sunc.txt │ ├── taglist.xml │ ├── tasking-vx.txt │ ├── taskname.txt │ ├── ticcs.txt │ ├── timestamps.log │ ├── tnsdl.txt │ ├── trivy_result.json │ ├── trivy_result_0.20.0.json │ ├── vale-report.json │ ├── veracode_pipeline_scanner_result.json │ ├── violations │ │ ├── ResharperInspectCode.xml │ │ ├── TEST-Aufgabe3Test.xml │ │ ├── TEST-edu.hm.hafner.analysis.parser.SonarQubeDiffParserTest.xml │ │ ├── TEST-edu.hm.hafner.analysis.parser.SonarQubeIssuesParserTest.xml │ │ ├── TEST-org.jenkinsci.plugins.jvctb.perform.JvctbPerformerTest.xml │ │ ├── android-lint.xml │ │ ├── ansible-later.json │ │ ├── assignment1.xml │ │ ├── bandit.txt │ │ ├── brokenfilePath.sarif │ │ ├── code-climate.json │ │ ├── codeNarc.xml │ │ ├── coverity.json │ │ ├── cpp-check-1.xml │ │ ├── cpp-check-2.xml │ │ ├── cppcheck.xml │ │ ├── dart.log │ │ ├── docfx.json │ │ ├── emptyfilePath.sarif │ │ ├── filePathInFileUriScheme.sarif │ │ ├── flake8-issue53786 │ │ ├── flake8.log │ │ ├── flake8.txt │ │ ├── issue55345.json │ │ ├── issue55733-multiple-tags-with-same-id.xml │ │ ├── issue55733.xml │ │ ├── issue64117.junit │ │ ├── issue64519.xml │ │ ├── jshint.xml │ │ ├── junit-skipped.xml │ │ ├── junit.xml │ │ ├── klocwork.xml │ │ ├── mypy.txt │ │ ├── pit-with-duplicates.xml │ │ ├── pit.xml │ │ ├── pydocstyle.txt │ │ ├── report.junit │ │ ├── sarif.json │ │ ├── security-scan.sarif │ │ ├── semgrep-report.json │ │ ├── suppressed-sarif.json │ │ ├── valgrind.xml │ │ ├── xmllint.txt │ │ ├── yamllint.txt │ │ └── zptlint.log │ ├── xlc-linker.txt │ ├── xlc.txt │ ├── xmlParserCustomPath.xml │ ├── xmlParserDefault.xml │ ├── xmlParserException.xml │ ├── xmlParserIncompatibleValues.xml │ ├── xmllint.txt │ ├── yamllint.txt │ ├── yocto_scanner_result.json │ ├── yui.txt │ └── zptlint.log │ ├── pom.xml │ ├── registry │ ├── findbugs-severities.xml │ ├── one-cpd.xml │ └── sphinxbuildlinkcheck.txt │ ├── relative.txt │ ├── report.ser │ ├── settings-1.gradle │ ├── settings-2.gradle │ ├── settings-3.gradle │ ├── settings-4.gradle │ └── settings-5.gradle ├── logging.properties └── python_src └── pypackage ├── __init__.py └── pymodule.py /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | *.java text 7 | *.xml text 8 | *.md text 9 | *.txt text 10 | 11 | # PMD configuration file for Eclipse wants to be LF 12 | .pmd text eol=lf 13 | 14 | # Denote all files that are truly binary and should not be modified. 15 | *.gif binary 16 | *.png binary 17 | *.jpg binary 18 | -------------------------------------------------------------------------------- /.github/auto_assign.yml: -------------------------------------------------------------------------------- 1 | addReviewers: false 2 | addAssignees: true 3 | 4 | assignees: 5 | - uhafner 6 | 7 | skipKeywords: 8 | - wip 9 | 10 | numberOfAssignees: 0 11 | -------------------------------------------------------------------------------- /.github/check-md-links.json: -------------------------------------------------------------------------------- 1 | { 2 | "httpHeaders": [ 3 | { 4 | "urls": ["https://github.com/", "https://guides.github.com/", "https://help.github.com/", "https://docs.github.com/", "https://classroom.github.com"], 5 | "headers": { 6 | "Accept-Encoding": "zstd, br, gzip, deflate" 7 | } 8 | } 9 | ], 10 | "aliveStatusCodes": [200, 500, 503, 429] 11 | } 12 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: maven 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | open-pull-requests-limit: 10 8 | commit-message: 9 | prefix: "" 10 | ignore: 11 | - dependency-name: org.eclipse.collections:eclipse-collections 12 | versions: 13 | - ">= 10.a" 14 | - dependency-name: org.eclipse.collections:eclipse-collections-api 15 | versions: 16 | - ">= 10.a" 17 | - dependency-name: net.javacrumbs.json-unit:json-unit-assertj 18 | versions: 19 | - ">= 3.0.0" 20 | 21 | - package-ecosystem: "github-actions" 22 | directory: "/" 23 | commit-message: 24 | prefix: "" 25 | schedule: 26 | interval: "daily" 27 | 28 | - package-ecosystem: "npm" 29 | directory: "/" 30 | commit-message: 31 | prefix: "" 32 | schedule: 33 | interval: "daily" 34 | -------------------------------------------------------------------------------- /.github/linkspector.yml: -------------------------------------------------------------------------------- 1 | files: 2 | - README.md 3 | dirs: 4 | - ./ 5 | - doc 6 | useGitIgnore: true 7 | ignorePatterns: 8 | - pattern: '^http://localhost:.*$' 9 | -------------------------------------------------------------------------------- /.github/workflows/assign-pr.yml: -------------------------------------------------------------------------------- 1 | name: 'Auto Assign PR' 2 | 3 | on: pull_request_target 4 | 5 | jobs: 6 | assign-pr: 7 | name: 'Auto Assign PR' 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: kentaro-m/auto-assign-action@v2.0.0 11 | with: 12 | repo-token: "${{ secrets.GITHUB_TOKEN }}" 13 | -------------------------------------------------------------------------------- /.github/workflows/check-md-links.yml: -------------------------------------------------------------------------------- 1 | name: 'Link Checker' 2 | 3 | on: push 4 | 5 | jobs: 6 | check-markdown-links: 7 | name: 'Check Markdown links' 8 | runs-on: ubuntu-22.04 9 | steps: 10 | - uses: actions/checkout@v4 11 | - uses: umbrelladocs/action-linkspector@v1.3.4 12 | with: 13 | github_token: ${{ secrets.github_token }} 14 | reporter: github-pr-check 15 | fail_on_error: true 16 | filter_mode: nofilter 17 | config_file: '.github/linkspector.yml' 18 | level: 'info' 19 | -------------------------------------------------------------------------------- /.github/workflows/enforce-labels.yml: -------------------------------------------------------------------------------- 1 | name: Label Checker 2 | on: 3 | pull_request_target: 4 | types: [opened, labeled, unlabeled, synchronize] 5 | jobs: 6 | enforce-labels: 7 | name: 'Enforce PR labels' 8 | runs-on: ubuntu-latest 9 | permissions: 10 | issues: write 11 | pull-requests: write 12 | steps: 13 | - uses: mheap/github-action-required-labels@v5 14 | with: 15 | mode: minimum 16 | count: 1 17 | labels: "bug,feature,enhancement,breaking,tests,documentation,internal,dependencies" 18 | message: "Maintainer needs to assign at least one label before merge" 19 | -------------------------------------------------------------------------------- /.github/workflows/jenkins-security-scan.yml: -------------------------------------------------------------------------------- 1 | name: Jenkins Security Scan 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | pull_request: 8 | types: [ opened, synchronize, reopened ] 9 | workflow_dispatch: 10 | 11 | permissions: 12 | security-events: write 13 | contents: read 14 | actions: read 15 | 16 | jobs: 17 | security-scan: 18 | uses: jenkins-infra/jenkins-security-scan/.github/workflows/jenkins-security-scan.yaml@v2 19 | with: 20 | java-cache: 'maven' # Optionally enable use of a build dependency cache. Specify 'maven' or 'gradle' as appropriate. 21 | # java-version: 21 # Optionally specify what version of Java to set up for the build, or remove to use a recent default. 22 | -------------------------------------------------------------------------------- /.github/workflows/run-release-drafter.yml: -------------------------------------------------------------------------------- 1 | name: 'Release Drafter' 2 | 3 | on: 4 | push: 5 | branches: 6 | - master 7 | - main 8 | 9 | jobs: 10 | update-release-draft: 11 | name: 'Update Release Draft' 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: release-drafter/release-drafter@v6.1.0 15 | env: 16 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 17 | -------------------------------------------------------------------------------- /.github/workflows/sync-labels.yml: -------------------------------------------------------------------------------- 1 | name: Sync labels 2 | on: 3 | push: 4 | branches: 5 | - master 6 | - main 7 | paths: 8 | - .github/labels.yml 9 | - .github/workflows/sync-labels.yml 10 | 11 | jobs: 12 | sync-labels: 13 | name: Sync labels 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v4 17 | - uses: micnncim/action-label-syncer@v1.3.0 18 | env: 19 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 20 | with: 21 | manifest: .github/labels.yml 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node 2 | node_modules 3 | target 4 | *.iml 5 | .classpath 6 | .project 7 | .settings 8 | pom.xml.versionsBackup 9 | pom.xml.releaseBackup 10 | release.properties 11 | .DS_Store 12 | .idea 13 | /package-lock.json 14 | metrics.env 15 | maven.log 16 | -------------------------------------------------------------------------------- /.mvn/extensions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | io.jenkins.tools.incrementals 4 | git-changelist-maven-extension 5 | 1.8 6 | 7 | 8 | -------------------------------------------------------------------------------- /.mvn/maven.config: -------------------------------------------------------------------------------- 1 | -Pmight-produce-incrementals 2 | -------------------------------------------------------------------------------- /.remarkrc: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": [ 3 | "remark-preset-lint-recommended", 4 | ["remark-lint-list-item-indent", false] 5 | ] 6 | } 7 | -------------------------------------------------------------------------------- /Jenkinsfile: -------------------------------------------------------------------------------- 1 | def configurations = [ 2 | [ platform: "linux", jdk: "21" ], 3 | [ platform: "windows", jdk: "17" ] 4 | ] 5 | 6 | def params = [ 7 | failFast: false, 8 | forkCount: '1C', 9 | configurations: configurations, 10 | checkstyle: [qualityGates: [[threshold: 1, type: 'NEW', unstable: true]]], 11 | pmd: [qualityGates: [[threshold: 1, type: 'NEW', unstable: true]]], 12 | jacoco: [sourceCodeRetention: 'MODIFIED'] 13 | ] 14 | 15 | buildPlugin(params) 16 | -------------------------------------------------------------------------------- /bin/go.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | mvn clean install || { echo "Build failed"; exit 1; } 6 | 7 | version=$( mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout ) 8 | 9 | echo Copying module analysis-model version ${version} to analysis-model-api-plugin Jenkins plugin 10 | 11 | cd ../analysis-model-api-plugin || { echo "Wrong directory"; exit 1; } 12 | 13 | exec ./go.sh $version 14 | -------------------------------------------------------------------------------- /bin/release.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | git pull 4 | git push 5 | mvn -B clean build-helper:parse-version release:prepare release:perform -DdevelopmentVersion=\${parsedVersion.majorVersion}.\${parsedVersion.nextMinorVersion}.0-SNAPSHOT 6 | -------------------------------------------------------------------------------- /bin/snapshot.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mvn install deploy:deploy -Durl=https://repo.jenkins-ci.org/snapshots/ -Did=maven.jenkins-ci.org 4 | -------------------------------------------------------------------------------- /doc/jenkins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/doc/jenkins.png -------------------------------------------------------------------------------- /doc/quality-monitor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/doc/quality-monitor.png -------------------------------------------------------------------------------- /etc/Jenkinsfile.valgrind: -------------------------------------------------------------------------------- 1 | node('java11-agent') { 2 | stage ('Checkout') { 3 | checkout scm 4 | } 5 | 6 | stage ('Build, Test, and Static Analysis') { 7 | recordIssues tool: analysisParser(analysisModelId: 'valgrind', pattern: '**/valgrind.xml') 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /etc/assertj-templates/assertions_entry_point_class_template.txt: -------------------------------------------------------------------------------- 1 | package ${package}; 2 | 3 | /** 4 | * Entry point for assertions of different data types. Each method in this class is a static factory for the 5 | * type-specific assertion objects. 6 | */ 7 | @edu.umd.cs.findbugs.annotations.SuppressFBWarnings("NM") 8 | @edu.hm.hafner.util.Generated(value="assertj-assertions-generator") 9 | public class Assertions extends org.assertj.core.api.Assertions { 10 | ${all_assertions_entry_points} 11 | /** 12 | * Creates a new {@link Assertions}. 13 | */ 14 | protected Assertions() { 15 | // empty 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /etc/assertj-templates/soft_assertions_entry_point_class_template.txt: -------------------------------------------------------------------------------- 1 | package ${package}; 2 | 3 | /** 4 | * Entry point for soft assertions of different data types. 5 | */ 6 | @edu.hm.hafner.util.Generated(value="assertj-assertions-generator") 7 | public class SoftAssertions extends org.assertj.core.api.AutoCloseableSoftAssertions { 8 | ${all_assertions_entry_points} 9 | } 10 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "analysis-model", 3 | "version": "1.0.0", 4 | "description": "Static Analysis Model and Parsers", 5 | "directories": { 6 | "doc": "doc" 7 | }, 8 | "dependencies": { 9 | "remark-cli": "^12.0.0", 10 | "remark-lint": "^10.0.0", 11 | "remark-preset-lint-recommended": "^7.0.0" 12 | }, 13 | "devDependencies": {}, 14 | "scripts": { 15 | "lint-md": "remark ." 16 | }, 17 | "remarkConfig": { 18 | "plugins": [ 19 | "remark-preset-lint-recommended" 20 | ] 21 | }, 22 | "repository": { 23 | "type": "git", 24 | "url": "git+https://github.com/jenkinsci/analysis-model.git" 25 | }, 26 | "author": "Ullrich Hafner", 27 | "license": "MIT", 28 | "homepage": "https://github.com/jenkinsci/analysis-model#readme" 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Provides base classes and utilities to parse files for warnings, issues, and so on. 3 | */ 4 | @DefaultAnnotation(NonNull.class) 5 | package edu.hm.hafner.analysis; 6 | 7 | import edu.umd.cs.findbugs.annotations.DefaultAnnotation; 8 | import edu.umd.cs.findbugs.annotations.NonNull; 9 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/Armcc52CompilerParser.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser; 2 | 3 | import java.io.Serial; 4 | 5 | /** 6 | * A parser for armcc5 compiler warnings. 7 | * 8 | * @author Dmytro Kutianskyi 9 | */ 10 | public final class Armcc52CompilerParser extends ArmccAbstractParser { 11 | @Serial 12 | private static final long serialVersionUID = -2677728927938443701L; 13 | 14 | private static final String ARMCC5_WARNING_PATTERN = 15 | "^\"(?.+)\", line (?\\d+): (?warning|error) #(?.+): (?.+)"; 16 | 17 | /** 18 | * Creates a new instance of {@link Armcc52CompilerParser}. 19 | */ 20 | public Armcc52CompilerParser() { 21 | super(ARMCC5_WARNING_PATTERN); 22 | } 23 | 24 | @Override 25 | protected boolean isLineInteresting(final String line) { 26 | return line.contains("#") && line.contains(", line"); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/Armcc5CompilerParser.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser; 2 | 3 | import java.io.Serial; 4 | 5 | /** 6 | * A parser for armcc5 compiler warnings. 7 | * 8 | * @author Dmytro Kutianskyi 9 | */ 10 | public final class Armcc5CompilerParser extends ArmccAbstractParser { 11 | @Serial 12 | private static final long serialVersionUID = -2677728927938443701L; 13 | 14 | private static final String ARMCC5_WARNING_PATTERN = 15 | "^(?.+)\\((?\\d+)\\): (?warning|error):\\s+#(?.+): (?.+)$"; 16 | 17 | /** 18 | * Creates a new instance of {@link Armcc5CompilerParser}. 19 | */ 20 | public Armcc5CompilerParser() { 21 | super(ARMCC5_WARNING_PATTERN); 22 | } 23 | 24 | @Override 25 | protected boolean isLineInteresting(final String line) { 26 | return line.contains("#"); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * The available parsers. For each report a different parser is provided. 3 | */ 4 | @DefaultAnnotation(NonNull.class) 5 | package edu.hm.hafner.analysis.parser; 6 | 7 | import edu.umd.cs.findbugs.annotations.DefaultAnnotation; 8 | import edu.umd.cs.findbugs.annotations.NonNull; 9 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/AndroidLintAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.AndroidLintParser; 6 | 7 | /** 8 | * Parses Android Lint files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class AndroidLintAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 2441144477814669681L; 15 | 16 | @Override 17 | AndroidLintParser createParser() { 18 | return new AndroidLintParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/AnsibleLaterAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.AnsibleLaterParser; 6 | 7 | /** 8 | * Parses Ansible-Later files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class AnsibleLaterAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 2441144477814669681L; 15 | 16 | @Override 17 | AnsibleLaterParser createParser() { 18 | return new AnsibleLaterParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/BanditAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.CLangParser; 6 | 7 | /** 8 | * Parses Bandit files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class BanditAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 2441144477814669681L; 15 | 16 | @Override 17 | CLangParser createParser() { 18 | return new CLangParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/CodeClimateAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.CodeClimateParser; 6 | 7 | /** 8 | * Parses CodeClimate JSON files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class CodeClimateAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 673249539417291948L; 15 | 16 | @Override 17 | CodeClimateParser createParser() { 18 | return new CodeClimateParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/CodeNarcAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.CodeNarcParser; 6 | 7 | /** 8 | * Parses CodeNarc files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class CodeNarcAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = -5699747899173867285L; 15 | 16 | @Override 17 | CodeNarcParser createParser() { 18 | return new CodeNarcParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/CoverityAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.CoverityParser; 6 | 7 | /** 8 | * Parses Coverity JSON V7 report files. 9 | * 10 | * @author Jobin Jose 11 | */ 12 | public class CoverityAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = -8210423965588732109L; 15 | 16 | @Override 17 | CoverityParser createParser() { 18 | return new CoverityParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/DartAnalyzeParserAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.MachineParser; 6 | 7 | /** 8 | * Parses Dart Analyze logger messages. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class DartAnalyzeParserAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 50827863228591461L; 15 | 16 | @Override 17 | MachineParser createParser() { 18 | return new MachineParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/DocFxAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.model.Violation; 6 | import se.bjurr.violations.lib.parsers.DocFXParser; 7 | 8 | import static se.bjurr.violations.lib.model.SEVERITY.*; 9 | 10 | /** 11 | * Parses DocFX files. 12 | * 13 | * @author Ullrich Hafner 14 | */ 15 | public class DocFxAdapter extends AbstractViolationAdapter { 16 | @Serial 17 | private static final long serialVersionUID = 2162266195669804761L; 18 | 19 | @Override 20 | DocFXParser createParser() { 21 | return new DocFXParser(); 22 | } 23 | 24 | @Override 25 | boolean isValid(final Violation violation) { 26 | var severity = violation.getSeverity(); 27 | return severity != INFO; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/Flake8Adapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.Flake8Parser; 6 | 7 | /** 8 | * Parses Flake8 files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class Flake8Adapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 4524731070497002381L; 15 | 16 | @Override 17 | Flake8Parser createParser() { 18 | return new Flake8Parser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/JsHintAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.JSLintParser; 6 | 7 | /** 8 | * Parses JSHint files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class JsHintAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 2981825338893917845L; 15 | 16 | @Override 17 | JSLintParser createParser() { 18 | return new JSLintParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/KlocWorkAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.KlocworkParser; 6 | 7 | /** 8 | * Parses Klocwork files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class KlocWorkAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 5676554459268768313L; 15 | 16 | @Override 17 | KlocworkParser createParser() { 18 | return new KlocworkParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/MyPyAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.MyPyParser; 6 | 7 | /** 8 | * Parses MyPy files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class MyPyAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = -6091072858896474363L; 15 | 16 | @Override 17 | MyPyParser createParser() { 18 | return new MyPyParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/PyDocStyleAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.PyDocStyleParser; 6 | 7 | /** 8 | * Parses PyDocStyle results files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class PyDocStyleAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 1119003057153007718L; 15 | 16 | @Override 17 | PyDocStyleParser createParser() { 18 | return new PyDocStyleParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/ResharperInspectCodeAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.ResharperParser; 6 | import se.bjurr.violations.lib.parsers.ViolationsParser; 7 | 8 | /** 9 | * A parser for the Resharper InspectCode compiler warnings. 10 | * 11 | * @author Ullrich Hafner 12 | */ 13 | public class ResharperInspectCodeAdapter extends AbstractViolationAdapter { 14 | @Serial 15 | private static final long serialVersionUID = -7285232072855215797L; 16 | 17 | @Override 18 | ViolationsParser createParser() { 19 | return new ResharperParser(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/SemgrepAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.SemgrepParser; 6 | 7 | /** 8 | * Parses PyDocStyle results files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class SemgrepAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 1119003057153007718L; 15 | 16 | @Override 17 | SemgrepParser createParser() { 18 | return new SemgrepParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/XmlLintAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.XMLLintParser; 6 | 7 | /** 8 | * Parses XMLLint results files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class XmlLintAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = -4191378552617352099L; 15 | 16 | @Override 17 | XMLLintParser createParser() { 18 | return new XMLLintParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/YamlLintAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.YAMLlintParser; 6 | 7 | /** 8 | * Parses YAMLLint results files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class YamlLintAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = 1233385439193697120L; 15 | 16 | @Override 17 | YAMLlintParser createParser() { 18 | return new YAMLlintParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/ZptLintAdapter.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser.violations; 2 | 3 | import java.io.Serial; 4 | 5 | import se.bjurr.violations.lib.parsers.ZPTLintParser; 6 | 7 | /** 8 | * Parses ZPTLint results files. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | public class ZptLintAdapter extends AbstractViolationAdapter { 13 | @Serial 14 | private static final long serialVersionUID = -6204265426578715957L; 15 | 16 | @Override 17 | ZPTLintParser createParser() { 18 | return new ZPTLintParser(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/parser/violations/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Parsers that use the violations lib (https://github.com/tomasbjerre/violations-lib). 3 | */ 4 | @DefaultAnnotation(NonNull.class) 5 | package edu.hm.hafner.analysis.parser.violations; 6 | 7 | import edu.umd.cs.findbugs.annotations.DefaultAnnotation; 8 | import edu.umd.cs.findbugs.annotations.NonNull; 9 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/AcuCobolDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.AcuCobolParser; 5 | 6 | /** 7 | * A descriptor for the AcuCobol Compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class AcuCobolDescriptor extends ParserDescriptor { 12 | private static final String ID = "acu-cobol"; 13 | private static final String NAME = "AcuCobol"; 14 | 15 | AcuCobolDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new AcuCobolParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/AjcDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.AjcParser; 5 | 6 | /** 7 | * A descriptor for the AspectJ (ajc) Compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class AjcDescriptor extends ParserDescriptor { 12 | private static final String ID = "aspectj"; 13 | private static final String NAME = "AspectJ"; 14 | 15 | AjcDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new AjcParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/AndroidLintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.AndroidLintAdapter; 5 | 6 | /** 7 | * A descriptor for Android Lint. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class AndroidLintDescriptor extends ParserDescriptor { 12 | private static final String ID = "android-lint"; 13 | private static final String NAME = "Android Lint"; 14 | 15 | AndroidLintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new AndroidLintAdapter(); 22 | } 23 | 24 | @Override 25 | public String getHelp() { 26 | return "Use the flag -p."; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/BluePearlDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.BluePearlParser; 5 | 6 | /** 7 | * A descriptor for the Blue Pearl Visual Verification Suite. 8 | * 9 | * @author Simon Matthews 10 | */ 11 | class BluePearlDescriptor extends ParserDescriptor { 12 | private static final String ID = "bluepearl"; 13 | private static final String NAME = "Blue Pearl Visual Verification Suite"; 14 | 15 | BluePearlDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public String getUrl() { 21 | return "https://bluepearlsoftware.com/visual-verification-suite/"; 22 | } 23 | 24 | @Override 25 | public IssueParser create(final Option... options) { 26 | return new BluePearlParser(); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/BuckminsterDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.BuckminsterParser; 5 | 6 | /** 7 | * A descriptor for the Buckminster compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class BuckminsterDescriptor extends ParserDescriptor { 12 | private static final String ID = "buckminster"; 13 | private static final String NAME = "Buckminster"; 14 | 15 | BuckminsterDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new BuckminsterParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CadenceIncisiveDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.CadenceIncisiveParser; 5 | 6 | /** 7 | * A descriptor for the Cadence Incisive Enterprise Simulator. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class CadenceIncisiveDescriptor extends ParserDescriptor { 12 | private static final String ID = "cadence"; 13 | private static final String NAME = "Cadence Incisive"; 14 | 15 | CadenceIncisiveDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CadenceIncisiveParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CargoClippyDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.CargoClippyParser; 5 | 6 | /** 7 | * A descriptor for Cargo Clippy. 8 | * 9 | * @author Ullrich Hafner 10 | */ 11 | class CargoClippyDescriptor extends ParserDescriptor { 12 | private static final String ID = "clippy"; 13 | private static final String NAME = "Cargo Clippy"; 14 | 15 | CargoClippyDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CargoClippyParser(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://github.com/rust-lang/rust-clippy"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CcmDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.CcmParser; 5 | 6 | /** 7 | * A descriptor for the CCM. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class CcmDescriptor extends ParserDescriptor { 12 | private static final String ID = "ccm"; 13 | private static final String NAME = "CCM"; 14 | 15 | CcmDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CcmParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/ClangDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.ClangParser; 5 | 6 | /** 7 | * A descriptor for the Clang parser. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class ClangDescriptor extends ParserDescriptor { 12 | private static final String ID = "clang"; 13 | private static final String NAME = "Clang"; 14 | 15 | ClangDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new ClangParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/ClangTidyDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.ClangTidyParser; 5 | 6 | /** 7 | * A descriptor for the Clang-Tidy compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class ClangTidyDescriptor extends ParserDescriptor { 12 | private static final String ID = "clang-tidy"; 13 | private static final String NAME = "Clang-Tidy"; 14 | 15 | ClangTidyDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new ClangTidyParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CmakeDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.CMakeParser; 5 | 6 | /** 7 | * A descriptor for CMake. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class CmakeDescriptor extends ParserDescriptor { 12 | private static final String ID = "cmake"; 13 | private static final String NAME = "CMake"; 14 | 15 | CmakeDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CMakeParser(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://cmake.org/"; 27 | } 28 | 29 | @Override 30 | public String getIconUrl() { 31 | return "https://cmake.org/wp-content/uploads/2023/08/CMake-Mark-1.svg"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CodeAnalysisDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.CodeAnalysisParser; 5 | 6 | /** 7 | * A descriptor for the Code Analysis compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class CodeAnalysisDescriptor extends ParserDescriptor { 12 | private static final String ID = "code-analysis"; 13 | private static final String NAME = "Code Analysis"; 14 | 15 | CodeAnalysisDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CodeAnalysisParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CodeCheckerDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.CodeCheckerParser; 5 | 6 | /** 7 | * A descriptor for the CodeChecker parser. 8 | * 9 | */ 10 | class CodeCheckerDescriptor extends ParserDescriptor { 11 | private static final String ID = "code-checker"; 12 | private static final String NAME = "CodeChecker"; 13 | 14 | CodeCheckerDescriptor() { 15 | super(ID, NAME); 16 | } 17 | 18 | @Override 19 | public IssueParser create(final Option... options) { 20 | return new CodeCheckerParser(); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CodeClimateDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.CodeClimateAdapter; 5 | 6 | /** 7 | * A descriptor for the Code Climate parser. 8 | * 9 | */ 10 | class CodeClimateDescriptor extends ParserDescriptor { 11 | private static final String ID = "code-climate"; 12 | private static final String NAME = "Code Climate"; 13 | 14 | CodeClimateDescriptor() { 15 | super(ID, NAME); 16 | } 17 | 18 | @Override 19 | public IssueParser create(final Option... options) { 20 | return new CodeClimateAdapter(); 21 | } 22 | 23 | @Override 24 | public String getUrl() { 25 | return "https://codeclimate.com/"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CodeGeneratorDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.CodeGeneratorParser; 5 | 6 | /** 7 | * A descriptor for the Simulink Code Generator tool. 8 | * 9 | * @author Eva Habeeb 10 | */ 11 | 12 | class CodeGeneratorDescriptor extends ParserDescriptor { 13 | private static final String ID = "code-generator"; 14 | private static final String NAME = "Code Generator Tool"; 15 | 16 | CodeGeneratorDescriptor() { 17 | super(ID, NAME); 18 | } 19 | 20 | @Override 21 | public IssueParser create(final Option... options) { 22 | return new CodeGeneratorParser(); 23 | } 24 | 25 | @Override 26 | public String getUrl() { 27 | return "https://www.mathworks.com/help/stats/code-generation.html"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CodeNarcDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.CodeNarcAdapter; 5 | 6 | /** 7 | * A descriptor for CodeNarc. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class CodeNarcDescriptor extends ParserDescriptor { 12 | private static final String ID = "codenarc"; 13 | private static final String NAME = "CodeNarc"; 14 | 15 | CodeNarcDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CodeNarcAdapter(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CoolfluxChessccDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.CoolfluxChessccParser; 5 | 6 | /** 7 | * A descriptor for the Coolflux DSP Compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class CoolfluxChessccDescriptor extends ParserDescriptor { 12 | private static final String ID = "coolflux"; 13 | private static final String NAME = "Coolflux DSP Compiler"; 14 | 15 | CoolfluxChessccDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CoolfluxChessccParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CoverityDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.CoverityAdapter; 5 | 6 | /** 7 | * A descriptor for Coverity. 8 | * 9 | * @author Ullrich Hafner 10 | */ 11 | class CoverityDescriptor extends ParserDescriptor { 12 | private static final String ID = "coverity"; 13 | private static final String NAME = "Coverity Scan"; 14 | 15 | CoverityDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CoverityAdapter(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://scan.coverity.com/"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CppCheckDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.CppCheckAdapter; 5 | 6 | /** 7 | * A descriptor for CPPCheck. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class CppCheckDescriptor extends ParserDescriptor { 12 | private static final String ID = "cppcheck"; 13 | private static final String NAME = "CPPCheck"; 14 | 15 | CppCheckDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CppCheckAdapter(); 22 | } 23 | 24 | @Override 25 | public String getHelp() { 26 | return "Use options --xml --xml-version=2"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CppLintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.CppLintParser; 5 | 6 | /** 7 | * A descriptor for Cpplint. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class CppLintDescriptor extends ParserDescriptor { 12 | private static final String ID = "cpplint"; 13 | private static final String NAME = "Cpplint"; 14 | 15 | CppLintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new CppLintParser(); 22 | } 23 | 24 | @Override 25 | public String getHelp() { 26 | return "You need to use the Eclipse format with the option --output=eclipse"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/CssLintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.LintParser; 5 | 6 | /** 7 | * A descriptor for CSS-Lint. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class CssLintDescriptor extends ParserDescriptor { 12 | private static final String ID = "csslint"; 13 | private static final String NAME = "CSS-Lint"; 14 | 15 | CssLintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new LintParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/DScannerDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.DScannerParser; 5 | 6 | /** 7 | * A descriptor for DScanner. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class DScannerDescriptor extends ParserDescriptor { 12 | private static final String ID = "dscanner"; 13 | private static final String NAME = "DScanner"; 14 | 15 | DScannerDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new DScannerParser(); 22 | } 23 | 24 | @Override 25 | public String getPattern() { 26 | return "**/dscanner-report.json"; 27 | } 28 | 29 | @Override 30 | public String getUrl() { 31 | return "https://github.com/dlang-community/D-Scanner"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/DartAnalyzeDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.DartAnalyzeParserAdapter; 5 | 6 | /** 7 | * A descriptor for the Dart analyze parser. 8 | * 9 | * @author Ullrich Hafner 10 | */ 11 | class DartAnalyzeDescriptor extends ParserDescriptor { 12 | private static final String ID = "dart"; 13 | private static final String NAME = "Dart Analyze"; 14 | 15 | DartAnalyzeDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new DartAnalyzeParserAdapter(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://dart.dev/"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/DiabCDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.DiabCParser; 5 | 6 | /** 7 | * A descriptor for the Wind River Diab Compiler (C/C++). 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class DiabCDescriptor extends ParserDescriptor { 12 | private static final String ID = "diabc"; 13 | private static final String NAME = "Wind River Diab Compiler (C/C++)"; 14 | 15 | DiabCDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new DiabCParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/DocFxDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.DocFxAdapter; 5 | 6 | /** 7 | * A descriptor for DocFX. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class DocFxDescriptor extends ParserDescriptor { 12 | private static final String ID = "docfx"; 13 | private static final String NAME = "DocFX"; 14 | 15 | DocFxDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new DocFxAdapter(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/DrMemoryDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.DrMemoryParser; 5 | 6 | /** 7 | * A descriptor for the Dr. Memory errors. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class DrMemoryDescriptor extends ParserDescriptor { 12 | private static final String ID = "dr-memory"; 13 | private static final String NAME = "Dr. Memory"; 14 | 15 | DrMemoryDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new DrMemoryParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/DupfinderDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.DupFinderParser; 5 | 6 | /** 7 | * A descriptor for Resharper DupFinder. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class DupfinderDescriptor extends DryDescriptor { 12 | private static final String ID = "dupfinder"; 13 | private static final String NAME = "Resharper DupFinder"; 14 | 15 | DupfinderDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new DupFinderParser(getHighThreshold(options), getNormalThreshold(options)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/EmbeddedEngineerDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.EmbeddedEngineerParser; 5 | 6 | /** 7 | * A descriptor for the EmbeddedEngineer EA Code Generator tool. 8 | * 9 | * @author Eva Habeeb 10 | */ 11 | class EmbeddedEngineerDescriptor extends ParserDescriptor { 12 | private static final String ID = "embedded-engineer"; 13 | private static final String NAME = "Embedded Engineer Tool"; 14 | 15 | EmbeddedEngineerDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new EmbeddedEngineerParser(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://www.lieberlieber.com/embedded-engineer/"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/ErlcDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.ErlcParser; 5 | 6 | /** 7 | * A descriptor for the Erlang Compiler (erlc). 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class ErlcDescriptor extends ParserDescriptor { 12 | private static final String ID = "erlc"; 13 | private static final String NAME = "Erlang Compiler (erlc)"; 14 | 15 | ErlcDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new ErlcParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/Flake8Descriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.Flake8Adapter; 5 | 6 | /** 7 | * A descriptor for Flake8. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class Flake8Descriptor extends ParserDescriptor { 12 | private static final String ID = "flake8"; 13 | private static final String NAME = "Flake8"; 14 | 15 | Flake8Descriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new Flake8Adapter(); 22 | } 23 | 24 | @Override 25 | public String getHelp() { 26 | return "

Run flake8 as flake8 --format=pylint

"; 27 | } 28 | 29 | @Override 30 | public String getUrl() { 31 | return "https://flake8.pycqa.org/"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/FlexSdkDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.FlexSdkParser; 5 | 6 | /** 7 | * A descriptor for FLEX SDK. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class FlexSdkDescriptor extends ParserDescriptor { 12 | private static final String ID = "flex"; 13 | private static final String NAME = "Flex SDK Compiler"; 14 | 15 | FlexSdkDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new FlexSdkParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/FlowDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.FlowParser; 5 | 6 | /** 7 | * A descriptor for Flow. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class FlowDescriptor extends ParserDescriptor { 12 | private static final String ID = "flow"; 13 | private static final String NAME = "Flow"; 14 | 15 | FlowDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new FlowParser(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://flow.org/"; 27 | } 28 | 29 | @Override 30 | public String getIconUrl() { 31 | return "https://raw.githubusercontent.com/facebook/flow/main/website/static/img/logo.svg"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/FxcopDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.FxCopParser; 5 | 6 | /** 7 | * A descriptor for FxCop. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class FxcopDescriptor extends ParserDescriptor { 12 | private static final String ID = "fxcop"; 13 | private static final String NAME = "FxCop"; 14 | 15 | FxcopDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new FxCopParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/Gcc4Descriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import java.util.Collection; 4 | 5 | import edu.hm.hafner.analysis.IssueParser; 6 | import edu.hm.hafner.analysis.parser.Gcc4CompilerParser; 7 | import edu.hm.hafner.analysis.parser.Gcc4LinkerParser; 8 | 9 | /** 10 | * A descriptor for the GNU C Compiler (gcc). 11 | * 12 | * @author Lorenz Munsch 13 | */ 14 | class Gcc4Descriptor extends CompositeParserDescriptor { 15 | private static final String ID = "gcc"; 16 | private static final String NAME = "GNU C Compiler (gcc)"; 17 | 18 | Gcc4Descriptor() { 19 | super(ID, NAME); 20 | } 21 | 22 | @Override 23 | protected Collection createParsers() { 24 | return asList(new Gcc4CompilerParser(), new Gcc4LinkerParser()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/GccDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.GccParser; 5 | 6 | /** 7 | * A descriptor for GNU C Compiler 3 (gcc). 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class GccDescriptor extends ParserDescriptor { 12 | private static final String ID = "gcc3"; 13 | private static final String NAME = "GNU C Compiler 3 (gcc)"; 14 | 15 | GccDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new GccParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/GendarmeDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.GendarmeParser; 5 | 6 | /** 7 | * A descriptor for Gendarme violations. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class GendarmeDescriptor extends ParserDescriptor { 12 | private static final String ID = "gendarme"; 13 | private static final String NAME = "Gendarme"; 14 | 15 | GendarmeDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new GendarmeParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/GhsMultiDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.GhsMultiParser; 5 | 6 | /** 7 | * A descriptor for the Ghs Multi Compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class GhsMultiDescriptor extends ParserDescriptor { 12 | private static final String ID = "ghs-multi"; 13 | private static final String NAME = "GHS Multi Compiler"; 14 | 15 | GhsMultiDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new GhsMultiParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/GnatDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.GnatParser; 5 | 6 | /** 7 | * A descriptor for the Ada Compiler (gnat). 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class GnatDescriptor extends ParserDescriptor { 12 | private static final String ID = "gnat"; 13 | private static final String NAME = "Ada Compiler (gnat)"; 14 | 15 | GnatDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new GnatParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/GnuFortranDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.GnuFortranParser; 5 | 6 | /** 7 | * A descriptor for the Gnu Fortran Compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class GnuFortranDescriptor extends ParserDescriptor { 12 | private static final String ID = "fortran"; 13 | private static final String NAME = "GNU Fortran Compiler"; 14 | 15 | GnuFortranDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new GnuFortranParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/GoLintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.GoLintParser; 5 | 6 | /** 7 | * A descriptor for Go Lint. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class GoLintDescriptor extends ParserDescriptor { 12 | private static final String ID = "golint"; 13 | private static final String NAME = "Go Lint"; 14 | 15 | GoLintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new GoLintParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/GoVetDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.GoVetParser; 5 | 6 | /** 7 | * A descriptor for the Go Vet. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class GoVetDescriptor extends ParserDescriptor { 12 | private static final String ID = "go-vet"; 13 | private static final String NAME = "Go Vet"; 14 | 15 | GoVetDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new GoVetParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/IarDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.IarParser; 5 | 6 | /** 7 | * A descriptor for the IAR C/C++ compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class IarDescriptor extends ParserDescriptor { 12 | private static final String ID = "iar"; 13 | private static final String NAME = "IAR Compiler (C/C++)"; 14 | 15 | IarDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new IarParser(); 22 | } 23 | 24 | @Override 25 | public String getHelp() { 26 | return "The IAR compilers need to be started with option --no_wrap_diagnostics. " 27 | + "Then the IAR compilers will create single-line warnings."; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/IdeaInspectionDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.IdeaInspectionParser; 5 | 6 | /** 7 | * A descriptor for the IntelliJ IDEA Inspections. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class IdeaInspectionDescriptor extends ParserDescriptor { 12 | private static final String ID = "idea"; 13 | private static final String NAME = "IntelliJ IDEA Inspections"; 14 | 15 | IdeaInspectionDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new IdeaInspectionParser(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://www.jetbrains.com/help/idea/code-inspection.html"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/IntelDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.IntelParser; 5 | 6 | /** 7 | * A descriptor for Intel compilers. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class IntelDescriptor extends ParserDescriptor { 12 | private static final String ID = "intel"; 13 | private static final String NAME = "Intel Compiler (C, Fortran)"; 14 | 15 | IntelDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new IntelParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/InvalidsDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.InvalidsParser; 5 | 6 | /** 7 | * A descriptor for the Invalids parser. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class InvalidsDescriptor extends ParserDescriptor { 12 | private static final String ID = "invalids"; 13 | private static final String NAME = "Oracle Invalids"; 14 | 15 | InvalidsDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new InvalidsParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/JUnitDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.JUnitAdapter; 5 | 6 | /** 7 | * A descriptor for JUnit reports. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class JUnitDescriptor extends ParserDescriptor { 12 | private static final String ID = "junit"; 13 | private static final String NAME = "JUnit"; 14 | 15 | JUnitDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new JUnitAdapter(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://junit.org"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/JavaDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import java.util.Collection; 4 | 5 | import edu.hm.hafner.analysis.IssueParser; 6 | import edu.hm.hafner.analysis.parser.AntJavacParser; 7 | import edu.hm.hafner.analysis.parser.JavacParser; 8 | 9 | /** 10 | * A descriptor for the javac compiler. 11 | * 12 | * @author Lorenz Munsch 13 | */ 14 | class JavaDescriptor extends CompositeParserDescriptor { 15 | private static final String ID = "java"; 16 | private static final String NAME = "Java Compiler"; 17 | 18 | JavaDescriptor() { 19 | super(ID, NAME); 20 | } 21 | 22 | @Override 23 | protected Collection createParsers() { 24 | return asList(new JavacParser(), new AntJavacParser()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/JavaDocDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.JavaDocParser; 5 | 6 | /** 7 | * A descriptor for the Java Doc parser. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class JavaDocDescriptor extends ParserDescriptor { 12 | private static final String ID = "javadoc-warnings"; 13 | private static final String NAME = "JavaDoc"; 14 | 15 | JavaDocDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new JavaDocParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/JcreportDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.JcReportParser; 5 | 6 | /** 7 | * A descriptor for the JcReport compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class JcreportDescriptor extends ParserDescriptor { 12 | private static final String ID = "jc-report"; 13 | private static final String NAME = "JCReport"; 14 | 15 | JcreportDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new JcReportParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/JsHintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.JsHintAdapter; 5 | 6 | /** 7 | * A descriptor for JsHint. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class JsHintDescriptor extends ParserDescriptor { 12 | private static final String ID = "js-hint"; 13 | private static final String NAME = "JsHint"; 14 | 15 | JsHintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new JsHintAdapter(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/JsLintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.LintParser; 5 | 6 | /** 7 | * A descriptor for JSLint. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class JsLintDescriptor extends ParserDescriptor { 12 | private static final String ID = "jslint"; 13 | private static final String NAME = "JSLint"; 14 | 15 | JsLintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new LintParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/KlocWorkDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.KlocWorkAdapter; 5 | 6 | /** 7 | * A descriptor for Klocwork. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class KlocWorkDescriptor extends ParserDescriptor { 12 | private static final String ID = "klocwork"; 13 | private static final String NAME = "Klocwork"; 14 | 15 | KlocWorkDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new KlocWorkAdapter(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/KotlinDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.JavacParser; 5 | 6 | /** 7 | * A descriptor for Kotlin errors and warnings. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class KotlinDescriptor extends ParserDescriptor { 12 | private static final String ID = "kotlin"; 13 | private static final String NAME = "Kotlin"; 14 | 15 | KotlinDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new JavacParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/MavenConsoleDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.MavenConsoleParser; 5 | 6 | /** 7 | * A descriptor for the Maven Console parser. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class MavenConsoleDescriptor extends ParserDescriptor { 12 | private static final String ID = "maven-warnings"; 13 | private static final String NAME = "Maven"; 14 | 15 | MavenConsoleDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new MavenConsoleParser(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://maven.apache.org/"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/MentorGraphicsDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.MentorParser; 5 | 6 | /** 7 | * A descriptor for the Mentor Graphics Modelsim/Questa Simulators. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class MentorGraphicsDescriptor extends ParserDescriptor { 12 | private static final String ID = "modelsim"; 13 | private static final String NAME = "Mentor Graphics Modelsim/Questa Simulators"; 14 | 15 | MentorGraphicsDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new MentorParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/MsBuildDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.MsBuildParser; 5 | 6 | /** 7 | * A descriptor for MS Build messages. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class MsBuildDescriptor extends ParserDescriptor { 12 | private static final String ID = "msbuild"; 13 | private static final String NAME = "MSBuild"; 14 | 15 | MsBuildDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new MsBuildParser(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://github.com/dotnet/msbuild"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/MyPyDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.MyPyAdapter; 5 | 6 | /** 7 | * A descriptor for MyPy. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class MyPyDescriptor extends ParserDescriptor { 12 | private static final String ID = "mypy"; 13 | private static final String NAME = "MyPy"; 14 | 15 | MyPyDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new MyPyAdapter(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://mypy-lang.org/"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/NagFortranDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.NagFortranParser; 5 | 6 | /** 7 | * A descriptor for the NagFortran Compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class NagFortranDescriptor extends ParserDescriptor { 12 | private static final String ID = "nag-fortran"; 13 | private static final String NAME = "NAG Fortran Compiler"; 14 | 15 | NagFortranDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new NagFortranParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/OeLintAdvDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.OeLintAdvParser; 5 | 6 | /** 7 | * Descriptor for oelint-adv. 8 | */ 9 | class OeLintAdvDescriptor extends ParserDescriptor { 10 | private static final String ID = "oelint-adv"; 11 | private static final String NAME = ID; 12 | 13 | OeLintAdvDescriptor() { 14 | super(ID, NAME); 15 | } 16 | 17 | @Override 18 | public IssueParser create(final Option... options) { 19 | return new OeLintAdvParser(); 20 | } 21 | 22 | @Override 23 | public String getUrl() { 24 | return "https://github.com/priv-kweihmann/oelint-adv"; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/Pep8Descriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.Pep8Parser; 5 | 6 | /** 7 | * A descriptor for the PEP8 Python style guide. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class Pep8Descriptor extends ParserDescriptor { 12 | private static final String ID = "pep8"; 13 | private static final String NAME = "PEP8"; 14 | 15 | Pep8Descriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new Pep8Parser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/PerforceDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.P4Parser; 5 | 6 | /** 7 | * A descriptor for the Perforce tool. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class PerforceDescriptor extends ParserDescriptor { 12 | private static final String ID = "perforce"; 13 | private static final String NAME = "Perforce Compiler"; 14 | 15 | PerforceDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new P4Parser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/PerlCriticDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.PerlCriticParser; 5 | 6 | /** 7 | * A descriptor for Perl::Critic. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class PerlCriticDescriptor extends ParserDescriptor { 12 | private static final String ID = "perl-critic"; 13 | private static final String NAME = "Perl::Critic"; 14 | 15 | PerlCriticDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new PerlCriticParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/PhpDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.PhpParser; 5 | 6 | /** 7 | * A descriptor for PHP runtime errors and warnings. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class PhpDescriptor extends ParserDescriptor { 12 | private static final String ID = "php"; 13 | private static final String NAME = "PHP Runtime"; 14 | 15 | PhpDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new PhpParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/PreFastDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.PreFastParser; 5 | 6 | /** 7 | * A descriptor for Microsoft PreFast. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class PreFastDescriptor extends ParserDescriptor { 12 | private static final String ID = "prefast"; 13 | private static final String NAME = "PREfast"; 14 | 15 | PreFastDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new PreFastParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/PvsStudioDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.PvsStudioParser; 5 | 6 | /** 7 | * A descriptor for the PVS-Studio static analyzer. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class PvsStudioDescriptor extends ParserDescriptor { 12 | private static final String ID = "pvs-studio"; 13 | private static final String NAME = "PVS-Studio"; 14 | 15 | PvsStudioDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new PvsStudioParser(); 22 | } 23 | 24 | @Override 25 | public String getPattern() { 26 | return "**/*.plog"; 27 | } 28 | 29 | @Override 30 | public String getUrl() { 31 | return "https://pvs-studio.com/en/pvs-studio/"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/PyDocStyleDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.PyDocStyleAdapter; 5 | 6 | /** 7 | * A descriptor for tPyDocStyle. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class PyDocStyleDescriptor extends ParserDescriptor { 12 | private static final String ID = "pydocstyle"; 13 | private static final String NAME = "PyDocStyle"; 14 | 15 | PyDocStyleDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new PyDocStyleAdapter(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/QacSourceCodeAnalyserDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.QacSourceCodeAnalyserParser; 5 | 6 | /** 7 | * A descriptor for the PRQA QA-C Sourcecode Analyser. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class QacSourceCodeAnalyserDescriptor extends ParserDescriptor { 12 | private static final String ID = "qac"; 13 | private static final String NAME = "QA-C Sourcecode Analyser"; 14 | 15 | QacSourceCodeAnalyserDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new QacSourceCodeAnalyserParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/ResharperDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.ResharperInspectCodeAdapter; 5 | 6 | /** 7 | * A descriptor for Resharper Inspections. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class ResharperDescriptor extends ParserDescriptor { 12 | private static final String ID = "resharper"; 13 | private static final String NAME = "Resharper Inspections"; 14 | 15 | ResharperDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new ResharperInspectCodeAdapter(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/RevApiDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.RevApiParser; 5 | 6 | /** 7 | * Parser for Revapi Json reports. 8 | * 9 | * @author Dominik Jantschar 10 | */ 11 | class RevApiDescriptor extends ParserDescriptor { 12 | private static final String ID = "revapi"; 13 | private static final String NAME = "Revapi"; 14 | 15 | RevApiDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new RevApiParser(); 22 | } 23 | 24 | @Override 25 | public String getPattern() { 26 | return "**/target/revapi-result.json"; 27 | } 28 | 29 | @Override 30 | public String getUrl() { 31 | return "https://revapi.org/revapi-site/main/index.html"; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/RfLintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.RfLintParser; 5 | 6 | /** 7 | * A descriptor for RfLint. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class RfLintDescriptor extends ParserDescriptor { 12 | private static final String ID = "rflint"; 13 | private static final String NAME = "Robot Framework Lint"; 14 | 15 | RfLintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new RfLintParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/RoboCopyDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.RobocopyParser; 5 | 6 | /** 7 | * A descriptor for the Robocopy. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class RoboCopyDescriptor extends ParserDescriptor { 12 | private static final String ID = "robocopy"; 13 | private static final String NAME = "Robocopy"; 14 | 15 | RoboCopyDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new RobocopyParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/RuboCopDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.RuboCopParser; 5 | 6 | /** 7 | * A descriptor for the RuboCop. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class RuboCopDescriptor extends ParserDescriptor { 12 | private static final String ID = "rubocop"; 13 | private static final String NAME = "Rubocop"; 14 | 15 | RuboCopDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new RuboCopParser(); 22 | } 23 | 24 | @Override 25 | public String getHelp() { 26 | return "Use commandline rubocop --format progress."; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/SarifDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.SarifAdapter; 5 | 6 | /** 7 | * A descriptor for the SARIF parser. 8 | * 9 | * @author Ullrich Hafner 10 | */ 11 | class SarifDescriptor extends ParserDescriptor { 12 | private static final String ID = "sarif"; 13 | private static final String NAME = "SARIF"; 14 | 15 | SarifDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new SarifAdapter(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://github.com/oasis-tcs/sarif-spec"; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/ScalaDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import java.util.Collection; 4 | 5 | import edu.hm.hafner.analysis.IssueParser; 6 | import edu.hm.hafner.analysis.parser.SbtScalacParser; 7 | import edu.hm.hafner.analysis.parser.ScalacParser; 8 | 9 | /** 10 | * A descriptor for the Scalac parser. 11 | * 12 | * @author Lorenz Munsch 13 | */ 14 | class ScalaDescriptor extends CompositeParserDescriptor { 15 | private static final String ID = "scala"; 16 | private static final String NAME = "Scala Compiler"; 17 | 18 | ScalaDescriptor() { 19 | super(ID, NAME); 20 | } 21 | 22 | @Override 23 | protected Collection createParsers() { 24 | return asList(new ScalacParser(), new SbtScalacParser()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/SimianDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.SimianParser; 5 | 6 | /** 7 | * A descriptor for the Simian duplication scanner. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class SimianDescriptor extends DryDescriptor { 12 | private static final String ID = "simian"; 13 | private static final String NAME = "Simian"; 14 | 15 | SimianDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new SimianParser(getHighThreshold(options), getNormalThreshold(options)); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/SphinxBuildDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import java.util.Collection; 4 | 5 | import edu.hm.hafner.analysis.IssueParser; 6 | import edu.hm.hafner.analysis.parser.SphinxBuildLinkCheckParser; 7 | import edu.hm.hafner.analysis.parser.SphinxBuildParser; 8 | 9 | /** 10 | * A descriptor for Sphinx build warnings. 11 | * 12 | * @author Lorenz Munsch 13 | */ 14 | class SphinxBuildDescriptor extends CompositeParserDescriptor { 15 | private static final String ID = "sphinx"; 16 | private static final String NAME = "Sphinx Build"; 17 | 18 | SphinxBuildDescriptor() { 19 | super(ID, NAME); 20 | } 21 | 22 | @Override 23 | protected Collection createParsers() { 24 | return asList(new SphinxBuildParser(), new SphinxBuildLinkCheckParser()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/SpotBugsDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | /** 4 | * A descriptor for SpotBugs. 5 | * 6 | * @author Lorenz Munsch 7 | */ 8 | class SpotBugsDescriptor extends FindBugsDescriptor { 9 | private static final String ID = "spotbugs"; 10 | private static final String NAME = "SpotBugs"; 11 | 12 | SpotBugsDescriptor() { 13 | super(ID, NAME); 14 | } 15 | 16 | @Override 17 | public String getPattern() { 18 | return "**/spotbugsXml.xml"; 19 | } 20 | 21 | @Override 22 | public String getUrl() { 23 | return "https://spotbugs.github.io"; 24 | } 25 | 26 | @Override 27 | public String getIconUrl() { 28 | return "https://raw.githubusercontent.com/spotbugs/spotbugs.github.io/master/images/logos/spotbugs_icon_only_zoom_256px.png"; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/StyleCopDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.StyleCopParser; 5 | 6 | /** 7 | * A descriptor for StyleCop. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class StyleCopDescriptor extends ParserDescriptor { 12 | private static final String ID = "stylecop"; 13 | private static final String NAME = "StyleCop"; 14 | 15 | StyleCopDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new StyleCopParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/SunCDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.SunCParser; 5 | 6 | /** 7 | * A descriptor for the the SUN Studio C++ compiler. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class SunCDescriptor extends ParserDescriptor { 12 | private static final String ID = "sunc"; 13 | private static final String NAME = "SUN C++ Compiler"; 14 | 15 | SunCDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new SunCParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/TaskingVxCompilerDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.TaskingVxCompilerParser; 5 | 6 | /** 7 | * A descriptor for the Tasking Vx Compiler parser. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class TaskingVxCompilerDescriptor extends ParserDescriptor { 12 | private static final String ID = "tasking-vx"; 13 | private static final String NAME = "TASKING VX Compiler"; 14 | 15 | TaskingVxCompilerDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new TaskingVxCompilerParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/TiCcsDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.TiCcsParser; 5 | 6 | /** 7 | * A descriptor for the Texas Instruments Code Composer Studio. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class TiCcsDescriptor extends ParserDescriptor { 12 | private static final String ID = "code-composer"; 13 | private static final String NAME = "Texas Instruments Code Composer Studio"; 14 | 15 | TiCcsDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new TiCcsParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/TnsdlDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.TnsdlParser; 5 | 6 | /** 7 | * A descriptor for the TNSDL Translator. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class TnsdlDescriptor extends ParserDescriptor { 12 | private static final String ID = "tnsdl"; 13 | private static final String NAME = "TNSDL Translator"; 14 | 15 | TnsdlDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new TnsdlParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/XlcDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import java.util.Collection; 4 | 5 | import edu.hm.hafner.analysis.IssueParser; 6 | import edu.hm.hafner.analysis.parser.XlcCompilerParser; 7 | import edu.hm.hafner.analysis.parser.XlcLinkerParser; 8 | 9 | /** 10 | * A descriptor for the IBM XLC Compiler. 11 | * 12 | * @author Lorenz Munsch 13 | */ 14 | class XlcDescriptor extends CompositeParserDescriptor { 15 | private static final String ID = "xlc"; 16 | private static final String NAME = "IBM XLC Compiler"; 17 | 18 | XlcDescriptor() { 19 | super(ID, NAME); 20 | } 21 | 22 | @Override 23 | protected Collection createParsers() { 24 | return asList(new XlcCompilerParser(), new XlcLinkerParser()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/XmlLintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.XmlLintAdapter; 5 | 6 | /** 7 | * A descriptor for XML-Lint. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class XmlLintDescriptor extends ParserDescriptor { 12 | private static final String ID = "xmllint"; 13 | private static final String NAME = "XML-Lint"; 14 | 15 | XmlLintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new XmlLintAdapter(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/YamlLintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.YamlLintAdapter; 5 | 6 | /** 7 | * A descriptor for YamlLint. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class YamlLintDescriptor extends ParserDescriptor { 12 | private static final String ID = "yamllint"; 13 | private static final String NAME = "YamlLint"; 14 | 15 | YamlLintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new YamlLintAdapter(); 22 | } 23 | 24 | @Override 25 | public String getUrl() { 26 | return "https://yamllint.readthedocs.io/"; 27 | } 28 | 29 | @Override 30 | public String getHelp() { 31 | return "Use option -f parsable."; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/YuiCompressorDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.YuiCompressorParser; 5 | 6 | /** 7 | * A descriptor for the Yui Compressor parser. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class YuiCompressorDescriptor extends ParserDescriptor { 12 | private static final String ID = "yui"; 13 | private static final String NAME = "YUI Compressor"; 14 | 15 | YuiCompressorDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new YuiCompressorParser(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/ZptLintDescriptor.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import edu.hm.hafner.analysis.IssueParser; 4 | import edu.hm.hafner.analysis.parser.violations.ZptLintAdapter; 5 | 6 | /** 7 | * A descriptor for the ZPT Lint parser. 8 | * 9 | * @author Lorenz Munsch 10 | */ 11 | class ZptLintDescriptor extends ParserDescriptor { 12 | private static final String ID = "zptlint"; 13 | private static final String NAME = "ZPT-Lint"; 14 | 15 | ZptLintDescriptor() { 16 | super(ID, NAME); 17 | } 18 | 19 | @Override 20 | public IssueParser create(final Option... options) { 21 | return new ZptLintAdapter(); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/registry/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Provides a registry for all {@link edu.hm.hafner.analysis.IssueParser parsers}. Consumers of the analysis model 3 | * library should never depend directly on one of the parser classes. Rather use the {@link 4 | * edu.hm.hafner.analysis.registry.ParserRegistry registry} to obtain a generic {@link 5 | * edu.hm.hafner.analysis.registry.ParserDescriptor descrptior} for the desired parser. You can use this descriptor to 6 | * create the actual parser and to query additional properties, like a help text or the default file name pattern. 7 | */ 8 | @DefaultAnnotation(NonNull.class) 9 | package edu.hm.hafner.analysis.registry; 10 | 11 | import edu.umd.cs.findbugs.annotations.DefaultAnnotation; 12 | import edu.umd.cs.findbugs.annotations.NonNull; 13 | -------------------------------------------------------------------------------- /src/main/java/edu/hm/hafner/analysis/util/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Provides highly reusable utility classes and static methods, chiefly concerned 3 | * with adding value to java.lang, java.util, and other standard core classes. 4 | * 5 | * @author Ullrich Hafner 6 | */ 7 | @DefaultAnnotation(NonNull.class) 8 | package edu.hm.hafner.analysis.util; 9 | 10 | import edu.umd.cs.findbugs.annotations.DefaultAnnotation; 11 | import edu.umd.cs.findbugs.annotations.NonNull; 12 | -------------------------------------------------------------------------------- /src/test/java/edu/hm/hafner/analysis/parser/PmdMessagesTest.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static edu.hm.hafner.analysis.assertions.Assertions.*; 6 | 7 | /** 8 | * Tests the class {@link PmdMessages}. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | class PmdMessagesTest { 13 | private static final int EXPECTED_RULE_SETS_SIZE = 8; 14 | 15 | @Test 16 | void shouldInitializeRuleSets() { 17 | var messages = new PmdMessages(); 18 | assertThat(messages.size()) 19 | .as("Wrong number of rule sets found") 20 | .isEqualTo(EXPECTED_RULE_SETS_SIZE); 21 | 22 | assertThat(messages.getMessage("Error Prone", "NullAssignment")) 23 | .contains("Assigning a \"null\" to a variable (outside of its declaration) is usually bad form."); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/test/java/edu/hm/hafner/analysis/parser/PyLintDescriptionsTest.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.parser; 2 | 3 | import org.junit.jupiter.api.Test; 4 | 5 | import static org.assertj.core.api.Assertions.*; 6 | 7 | /** 8 | * Tests the class {@link PyLintDescriptions}. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | class PyLintDescriptionsTest { 13 | @Test 14 | void shouldReadAllRules() { 15 | var descriptions = new PyLintDescriptions(); 16 | 17 | assertThat(descriptions.size()).isEqualTo(274); 18 | assertThat(descriptions.getDescription("C0112")) 19 | .isEqualTo( 20 | "Used when a module, function, class or method has an empty docstring (it wouldbe too easy ;)."); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/edu/hm/hafner/analysis/registry/UpdateSupportedFormats.java: -------------------------------------------------------------------------------- 1 | package edu.hm.hafner.analysis.registry; 2 | 3 | import java.io.IOException; 4 | 5 | import org.junit.jupiter.api.Test; 6 | 7 | /** 8 | * Updates the list with the supported formats. 9 | * 10 | * @author Ullrich Hafner 11 | */ 12 | @SuppressWarnings({"NewClassNamingConvention", "PMD.ClassNamingConventions"}) 13 | class UpdateSupportedFormats { 14 | @Test 15 | void run() throws IOException { 16 | ParserRegistry.main(); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/resources/archunit_ignore_patterns.txt: -------------------------------------------------------------------------------- 1 | // empty up to now, see https://www.archunit.org/userguide/html/000_Index.html#_ignoring_violations 2 | 3 | // ParsingCanceledException musst be called without context 4 | .*edu.hm.hafner.analysis.ParsingCanceledException.* 5 | 6 | // Assertions.assertTimeoutPreemptively from JUnit 5 is ok to use 7 | .*org.junit.jupiter.api.Assertions.assertTimeoutPreemptively.* 8 | 9 | // Here Integer.parseInt is ok to use since the exception is caught 10 | .*edu.hm.hafner.analysis.parser.XmlParser.readLineRanges.* 11 | .*edu.hm.hafner.analysis.registry.DryDescriptor.convertThreshold.* 12 | .*edu.hm.hafner.analysis.util.IntegerParser.parseInt.* 13 | -------------------------------------------------------------------------------- /src/test/resources/design.puml: -------------------------------------------------------------------------------- 1 | @startuml 2 | 3 | skinparam componentStyle uml2 4 | skinparam component { 5 | BorderColor #a0a0a0 6 | BackgroundColor #f8f8f8 7 | } 8 | 9 | [Violation Adapters] <<..analysis.parser.violations>> 10 | [Parsers] <<..analysis.parser>> 11 | [Assertions] <<..assertj>> 12 | [Model] <<..analysis>> 13 | [Registry] <<..registry>> 14 | 15 | [Utilities] <<..util>> 16 | 17 | [Violation Adapters] -> [Model] 18 | [Parsers] --> [Model] 19 | [Registry] --> [Violation Adapters] 20 | [Registry] --> [Parsers] 21 | [Registry] --> [Model] 22 | [Registry] --> [Utilities] 23 | [Parsers] --> [Utilities] 24 | [Violation Adapters] --> [Utilities] 25 | [Parsers] --> [Assertions] 26 | [Model] --> [Utilities] 27 | [Assertions] --> [Model] 28 | 29 | @enduml 30 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/Class1.cs: -------------------------------------------------------------------------------- 1 | // ----------------------------------------------------------------------- 2 | // 3 | // TODO: Update copyright text. 4 | // 5 | // ----------------------------------------------------------------------- 6 | 7 | namespace ConsoleApplication1 8 | { 9 | using System; 10 | using System.Collections.Generic; 11 | using System.Linq; 12 | using System.Text; 13 | 14 | /// 15 | /// TODO: Update summary. 16 | /// 17 | public class Class1 18 | { 19 | #warning This namespace will be detected OK, because of the comments at the top of the file. 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/MavenKotlinTest.txt: -------------------------------------------------------------------------------- 1 | package edu.hm.kersting 2 | 3 | class HelloWorld { 4 | fun main() = println("Hello World") 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/Program.cs: -------------------------------------------------------------------------------- 1 | namespace ConsoleApplication1 2 | { 3 | class Program 4 | { 5 | static void Main(string[] args) 6 | { 7 | #warning Test whether this warning shows up in the correct namespace 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/child/child.txt: -------------------------------------------------------------------------------- 1 | empty 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/complicated-package-declaration-kotlin.txt: -------------------------------------------------------------------------------- 1 | package edu.hm.kersting // Test 2 | 3 | class HelloWorld { 4 | fun main() = println("Hello World") 5 | } 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/context.txt: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | 8 9 | 9 10 | 0 11 | 1 12 | 2 13 | 3 14 | 4 15 | 5 16 | 6 17 | 7 18 | 8 19 | 9 20 | 0 21 | 1 22 | 2 23 | 3 24 | 4 25 | 5 26 | 6 27 | 7 28 | 8 29 | 9 30 | 0 -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/dry.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/src/test/resources/edu/hm/hafner/analysis/dry.ser -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/encoded-with-ISO8859-1.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/src/test/resources/edu/hm/hafner/analysis/encoded-with-ISO8859-1.xml -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/encoded-with-UTF8.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/encoded-without-encoding.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/fingerprint-one.txt: -------------------------------------------------------------------------------- 1 | A 2 | B 3 | C 4 | D 5 | E 6 | F 7 | G 8 | H 9 | I 10 | J 11 | K 12 | L 13 | M 14 | N 15 | O 16 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/fingerprint-two.txt: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | 8 9 | 9 10 | 0 11 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/fingerprint.txt: -------------------------------------------------------------------------------- 1 | A 2 | B 3 | C 4 | D 5 | E 6 | F 7 | G 8 | H 9 | I 10 | J 11 | K 12 | L 13 | M 14 | N 15 | O 16 | P 17 | Q 18 | R 19 | S 20 | T 21 | U 22 | V 23 | W 24 | X 25 | Y 26 | Z 27 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/issue.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/src/test/resources/edu/hm/hafner/analysis/issue.ser -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/l10n.properties: -------------------------------------------------------------------------------- 1 | Bundle-Name=My Bundle 2 | Bundle-Vendor=My Vendor -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/no-name-pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | base 7 | com.avaloq.adt 8 | 1.2.0-SNAPSHOT 9 | 10 | 4.0.0 11 | com.avaloq.adt.core 12 | source-plugin 13 | 14 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/normalized.txt: -------------------------------------------------------------------------------- 1 | empty 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/CadenceIncisive.txt: -------------------------------------------------------------------------------- 1 | make[2]: Entering directory '/tmp/build-dir' 2 | ncelab: *W,CUSRCH: Resolved design unit 'dummyram' at 'u_dummyrams' to 'dummysoc.dummyram:v' through a global search of all libraries. 3 | ncelab: *W,CUVWSP (../verilog/placeholder.v,313|24): 10 output ports were not connected 4 | ncelab: *W,CUNOTB: component instance is not fully bound (some.long:placeholder:blah:r1) [File:freaking_gbit_astral.vhd, Line:310]. 5 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/GnuFortranError.txt: -------------------------------------------------------------------------------- 1 | generic2.f90:81.24-26: 2 | 3 | call d_vode(istate, lambda_fcn, dummy_jac, lambda, x_tmp, x_end, tol, pm) 4 | 1 5 | Error: Interface mismatch in dummy procedure 'f' at (1): Shape mismatch in dimension 1 of argument 'y' 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/GnuFortranFatalError.txt: -------------------------------------------------------------------------------- 1 | /path/to/file.f90:7.10: 2 | 3 | Use ieee_arithmetic, Only: ieee_value 4 | 1 5 | Fatal Error: Can't open module file 'ieee_arithmetic.mod' for reading at (1): No such file or directory 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/GnuFortranInternalError.txt: -------------------------------------------------------------------------------- 1 | linear_algebra_mod.f90:5.8: 2 | 3 | use csr_matrix_mod 4 | 1 5 | Internal Error at (1): 6 | free_pi_tree(): Unresolved fixup 7 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/GnuFortranInvalid.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | C:/aaaa.f:318: 4 | Included at inc1.inc:4: 5 | Included at foo.f90:4: 6 | 7 | IF( XABS.NE.ZERO ) THEN 8 | 9 | Warning: Inequality comparison for REAL(8) at (1) 10 | 11 | 12 | C:/bbbb.f:318: 13 | Included at inc1.inc:4: 14 | 15 | 16 | 1 17 | Warning: Inequality comparison for REAL(8) at (1) 18 | 19 | 20 | C:/cccc.f:318: 21 | Included at inc1.inc:4: 22 | Included at foo.f90:4: 23 | 24 | IF( XABS.NE.ZERO ) THEN 25 | 1 26 | Bla: Inequality comparison for REAL(8) at (1) 27 | 28 | C:/dddd.f:318: -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/GnuFortranWarning.txt: -------------------------------------------------------------------------------- 1 | C:/zlaror.f:318: 2 | Included at inc1.inc:4: 3 | Included at foo.f90:4: 4 | 5 | IF( XABS.NE.ZERO ) THEN 6 | 1 7 | Warning: Inequality comparison for REAL(8) at (1) 8 | gfortran -O2 -frecursive -W -Wall -c zlarot.f -o zlarot.o 9 | gfortran -O2 -frecursive -W -Wall -c zlatm1.f -o zlatm1.o 10 | gfortran -O2 -frecursive -W -Wall -c zlarnd.f -o zlarnd.o 11 | zlarnd.f: In function ‘zlarnd’: 12 | zlarnd.f:76:0: warning: ‘__result_zlarnd’ may be used uninitialized in this function [-Wmaybe-uninitialized] 13 | COMPLEX*16 FUNCTION ZLARND( IDIST, ISEED ) 14 | ^ 15 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/IdeaInspectionExample.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | file://$PROJECT_DIR$/src/main/java/org/lopashev/Test.java 5 | 42 6 | tests 7 | org.lopashev 8 | 9 | Unused method parameters 10 | 11 | 12 | 13 | Parameter <code>intentionallyUnusedString</code> is not used in either this method or any of its derived methods 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/MSBuildANSIColor.txt: -------------------------------------------------------------------------------- 1 |  2>GenericCodeRunner\CompositeCode.cs(137,32): warning CS1591: Missing XML comment for publicly visible type or member 'CompositeCode.this[int]' [C:\j\6aa722\src\CodeRunner\CodeRunner.csproj] -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/MetrowerksCWCompiler.txt: -------------------------------------------------------------------------------- 1 | E:\work\PATH\PATH\PATH\PATH\Test1.c(570): WARNING C4448: Warning-directive found: EEPROM_QUEUE_BUFFER_SIZE instead of MONITOR_ERROR_DATA_LENGTH is used here. This must be fixed sooner or later 2 | E:\work\PATH\PATH\PATH\Test2.c(305): WARNING C2705: Possible loss of data 3 | E:\work\PATH\PATH\Test3.c(1501): ERROR C1815: bla not declared (or typename) 4 | E:\work\PATH\Test4.c(1502): ERROR C2801: ';' missing 5 | E:\work\PATH\PATH\PATH\PATH\PATH\PATH\PATH\Test5.c(480): INFORMATION C4301: Inline expansion done for function call 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/MetrowerksCWLinker.txt: -------------------------------------------------------------------------------- 1 | ERROR L1822: Symbol TestFunction in file e:/work/PATH/PATH/PATH/PATH/appl_src.lib is undefined 2 | WARNING L1916: Section name TEST_SECTION is too long. Name is cut to 90 characters length 3 | INFORMATION L2: Message overflow, skipping WARNING messages 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranDeletedFeatureUsed.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Deleted feature used: file6.f90, line 4: assigned GOTO statement 3 | [NAG Fortran Compiler - not a message line] 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranError.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Error: file7.f90: Character function length 7 is not same as argument F (no. 1) in reference to SUB from O8K (expected length 6) 3 | [NAG Fortran Compiler - not a message line] 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranExtension.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Extension: file4.f90, line 9: Left-hand side of intrinsic assignment is allocatable polymorphic variable X 3 | [NAG Fortran Compiler - not a message line] 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranExtensionF2008.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Extension(F2008): msgs71.f90, line 4: NUM_IMAGES intrinsic procedure 3 | [NAG Fortran Compiler - not a message line] -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranExtensionF2018.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Extension(F2018): msgs71.f90, line 5: NON_RECURSIVE attribute detected at @NON_RECURSIVE 3 | [NAG Fortran Compiler - not a message line] -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranExtensionNAG.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Extension(NAG): msgs71.f90, line 8: FORALL statement detected at 42@ 3 | [NAG Fortran Compiler - not a message line] -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranFatalError.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Fatal Error: file9.f90, line 5: SAME_NAME is not a derived type 3 | detected at ::@N 4 | [NAG Fortran Compiler - not a message line] 5 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranInfo.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Info: C:\file1.inc, line 1: Unterminated last line of INCLUDE file 3 | [NAG Fortran Compiler - not a message line] 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranNonStandardObsolete.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Non-standard(Obsolete): msgs71.f90, line 2: Byte count on numeric data type detected at *@8 3 | [NAG Fortran Compiler - not a message line] -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranObsolescent.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Obsolescent: file5.f, line 1: Fixed source form 3 | [NAG Fortran Compiler - not a message line] 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranPanic.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Panic: file10.f90, line 1: User requested panic 3 | [NAG Fortran Compiler - not a message line] 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranQuestionable.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Questionable: /file3.f90, line 12: Array constructor has polymorphic element P(5) (but the constructor value will not be polymorphic) 3 | [NAG Fortran Compiler - not a message line] 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranRuntimeError.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Runtime Error: file8.f90, line 7: Reference to undefined POINTER P 3 | [NAG Fortran Compiler - not a message line] 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/NagFortranWarning.txt: -------------------------------------------------------------------------------- 1 | nagfor file.f90 > not_a_message_line 2 | Warning: C:/file2.f90, line 5: Procedure pointer F pointer-assigned but otherwise unused 3 | [NAG Fortran Compiler - not a message line] 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/acu.txt: -------------------------------------------------------------------------------- 1 | Compiling: C:\Documents and Settings\xxxx\GNT\aaa.GNT... 2 | [ccbl] COPY\zzz.CPY, line 39: Warning: Imperative statement required 3 | Build failed (warning only): C:\Documents and Settings\xxxx\COB\aaa.COB 4 | Compiling: C:\Documents and Settings\xxxx\GNT\bbb.GNT... 5 | [ccbl] C:\Documents and Settings\xxxx\COB\bbb.COB, line 111: Warning: Don't run with knives 6 | [ccbl] C:\Documents and Settings\xxxx\COB\bbb.COB, line 115: Warning: Don't run with knives 7 | Build failed (warning only): C:\Documents and Settings\xxxx\COB\bbb.COB 8 | Compiling: C:\Documents and Settings\xxxx\GNT\ccc.GNT... 9 | C:\Documents and Settings\xxxx\COB\ccc.COB, line 123: Warning: I'm a green banana 10 | 11 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/ant-javac-japanese.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/src/test/resources/edu/hm/hafner/analysis/parser/ant-javac-japanese.txt -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/ant-javac.txt: -------------------------------------------------------------------------------- 1 | javac: 2 | 3 | [javac] Compiling 5 source files to C:\Users\tiliven\.hudson\jobs\Hello THS Trunk - compile\workspace\HelloTHSTest\build\classes 4 | 5 | [javac] C:\Users\tiliven\.hudson\jobs\Hello THS Trunk - compile\workspace\HelloTHSTest\src\ths\Hallo.java:28: warning: begrussen() in ths.types.IGruss has been deprecated 6 | 7 | [javac] System.out.println(grussen[i].begrussen()); 8 | 9 | [javac] ^ 10 | 11 | [javac] 1 warning 12 | 13 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/armcc.txt: -------------------------------------------------------------------------------- 1 | # Linux 2 | "/home/test/main.cpp", line 21: Error: #5: cannot open source input file "somefile.h": No such file or directory 3 | 4 | # Windows 5 | "C:\home\test\main.cpp ", line 23: Error: #5: cannot open source input file "somefile.h": No such file or directory 6 | 7 | # Warning 8 | "/home/test/main.cpp", line 25: Warning: #550-D: something bad happened here 9 | 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/armcc5.txt: -------------------------------------------------------------------------------- 1 | compiling wnDrv_Usbhw.c... 2 | ..\..\wnArch\wnDrv\wnDrv_Usbhw.c(197): error: #18: expected a ")" 3 | { 4 | ..\..\wnArch\wnDrv\wnDrv_Usbhw.c(211): warning: #12-D: parsing restarts here after previous syntax error 5 | } 6 | ..\..\wnArch\wnDrv\wnDrv_Usbhw.c(211): warning: #940-D: missing return statement at end of non-void function "wnDrv_Usbhw_GetEPCmdStatusPtr" 7 | } -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/checkstyle/all-severities.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/checkstyle/issue25511.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/checkstyle/issue60859.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 9 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/checkstyle/issue63388.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/checkstyle/scalastyle-output.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/clair-unusual.json: -------------------------------------------------------------------------------- 1 | { 2 | "vulnerabilities": [ 3 | { 4 | "featurename": "sqlite3", 5 | "fixedby": "3.22.0-1ubuntu0.4", 6 | "severity": "Medium" 7 | }, 8 | { 9 | "Featurename": "libidn2", 10 | "severity": "high" 11 | }, 12 | { 13 | "namespace": "ubuntu:18.04", 14 | "severIty": "Defcon1" 15 | }, 16 | { 17 | "featurename": "libgcrypt20", 18 | "namespacE": 5, 19 | "severity": [ ], 20 | "fixedBy": [ ], 21 | "link": "http://people.ubuntu.com/~ubuntu-security/cve/CVE-2019-13627" 22 | }, 23 | { 24 | "namespace": "ubuntu:18.04", 25 | "severity": "Critical", 26 | "fixedBy": null 27 | }, 28 | "FOO" 29 | ] 30 | } -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/clang-analyzer-bad.txt: -------------------------------------------------------------------------------- 1 | error: null pointer 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/cmake.txt: -------------------------------------------------------------------------------- 1 | [step1] CMake Warning: 2 | [step1] Manually-specified variables were not used by the project 3 | 4 | [step2] CMake Warning in CMakeLists.txt: 5 | [step2] The build directory is a subdirectory of the source directory. 6 | 7 | CMake Warning (dev) at tools/gtest-1.8/googlemock/CMakeLists.txt:10 (option): 8 | I'm the message 9 | 10 | CMake Warning at project/utils/fancy.cmake:423 (message): 11 | Special workaround applied 12 | 13 | CMake Error at error.cmake:2 (message): 14 | Uh oh !$%@! 15 | 16 | CMake Deprecation Warning at legacy.cmake:23 (message): 17 | function foo is deprecated, use bar instead 18 | 19 | CMake Warning at unlikely.cmake:357 nonexistingcategory: 20 | strange things can happen 21 | 22 | CMake Warning at unlikely.cmake:362 (message): -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/codeanalysis.txt: -------------------------------------------------------------------------------- 1 | MSBUILD : warning : CA1823 : Microsoft.Performance : It appears that field 'Program.a' is never used or is only ever assigned to. Use this field or remove it. [C:\Src\Parser\CSharp\Test.csproj] 2 | 3 | MSBUILD : warning CA1502: Microsoft.Maintainability : 'CanvasHandler.Canvas.CreateImage(out bool, out ImageFormat)' has a cyclomatic complexity of 53. Rewrite or refactor the method to reduce complexity to 25. [D:\somefolder\someproject.csproj] 4 | 5 | C:\Src\Parser\CSharp\test.cs(140): warning : CA1031 : Microsoft.Design : Modify 'AccountController.ChangePassword(ChangePasswordModel)' to catch a more specific exception than 'Exception' or rethrow the exception. [C:\Src\Parser\CSharp\Test.csproj] 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/cpd/issue22356.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/src/test/resources/edu/hm/hafner/analysis/parser/cpd/issue22356.xml -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/cpd/otherfile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/cpplint-message-with-colon.txt: -------------------------------------------------------------------------------- 1 | /path/to/file.cpp:1: Is this a non-const reference? If so, make const or use a pointer: std::vector & indices [runtime/references] [2] 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/dscanner-incomplete-report.json: -------------------------------------------------------------------------------- 1 | { 2 | "issues": [ 3 | { 4 | "fileName": ".\\source\\runtime\\internal\\api.d" 5 | }, 6 | { 7 | } 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/dupfinder/otherfile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/dupfinder/without-sourcecode.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 2219 5 | 108 6 | 216 7 | 8 | 9 | 10 | 11 | test\Publisher.cs 12 | 13 | 14 | 15 | 16 | test\Reporter.cs 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/enforcer-empty.txt: -------------------------------------------------------------------------------- 1 | [2023-09-13T11:34:06.033Z] [INFO] --- maven-enforcer-plugin:3.0.0-M3:enforce (enforce-maven) @ tframe-tgate-root --- 2 | [2023-09-13T11:34:06.033Z] [WARNING] Downloading from magenta-mirror: https://bin.t-mobile.at/artifactory/maven/org/apache/maven/enforcer/enforcer-api/3.0.0-M3/enforcer-api-3.0.0-M3.pom 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/erlc.txt: -------------------------------------------------------------------------------- 1 | 2 | ./test.erl:125: Warning: variable 'Name' is unused 3 | ./test2.erl:175: record 'Extension' undefined 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/error-prone-maven.log: -------------------------------------------------------------------------------- 1 | [INFO] Compiling 143 source files to /Users/hafner/Development/jenkins/workspace/Model - Freestyle - New/target/classes 2 | [WARNING] /Users/hafner/Development/jenkins/workspace/Model - Freestyle - New/src/main/java/edu/hm/hafner/analysis/parser/RobocopyParser.java:[29,45] [StringSplitter] String.split(String) has surprising behavior 3 | (see http://errorprone.info/bugpattern/StringSplitter) 4 | Did you mean 'String file = matcher.group(4).split("\\s{11}", -1)[0];'? 5 | [INFO] 6 | [INFO] --- maven-resources-plugin:3.1.0:testResources (default-testResources) @ analysis-model --- 7 | [INFO] Using 'UTF-8' encoding to copy filtered resources. 8 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/flake8-issue53786: -------------------------------------------------------------------------------- 1 | ../devopsloft/application.py:42:1: E302 expected 2 blank lines, found 1 2 | ../devopsloft/application.py:46:1: E302 expected 2 blank lines, found 1 3 | ../devopsloft/application.py:51:1: E302 expected 2 blank lines, found 1 4 | ../devopsloft/application.py:55:1: E302 expected 2 blank lines, found 1 5 | ../devopsloft/application.py:59:1: E302 expected 2 blank lines, found 1 6 | ../devopsloft/application.py:88:1: E302 expected 2 blank lines, found 1 7 | ../devopsloft/application.py:121:1: E302 expected 2 blank lines, found 1 8 | ../devopsloft/application.py:141:1: E302 expected 2 blank lines, found 1 9 | ../devopsloft/application.py:147:1: E305 expected 2 blank lines after class or function definition, found 1 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/flake8.log: -------------------------------------------------------------------------------- 1 | ./src/init.py:66:121: E501 line too long (143 > 120 characters) 2 | ./src/init.py:254:58: W292 no newline at end of file -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/flake8.txt: -------------------------------------------------------------------------------- 1 | 4 | myproject/__init__.py:7: [F401] 'db' imported but unused 5 | myproject/__init__.py:7: [F401] 'logger' imported but unused 6 | myproject/__main__.py:8: [E401] multiple imports on one line 7 | myproject/__main__.py:15: [F401] 'ggrc' imported but unused 8 | myproject/__main__.py:19: [E402] module level import not at top of file 9 | myproject/__main__.py:24: [E265] block comment should start with '# ' 10 | myproject/__main__.py:25: [E265] block comment should start with '# ' 11 | myproject/__main__.py:26: [E265] block comment should start with '# ' 12 | myproject/app.py:6: [F401] 'sys' imported but unused 13 | 14 | __fake__.py:26: [F265] test with F 15 | __fake__.py:27: [W265] test with W 16 | __fake__.py:28: [C265] test with C 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/foodcritic.log: -------------------------------------------------------------------------------- 1 | Checking 11 files 2 | x...x.....x 3 | 4 | FC001: Use strings in preference to symbols to access node attributes: ./foo/attributes/default.rb:8 5 | FC002: Avoid string interpolation where not required: ./foo/recipes/default.rb:80 6 | FC015: Consider converting definition to a Custom Resource: foo/definitions/foo.rb:1 7 | FC019: Access node attributes in a consistent manner: ./foo/attributes/default.rb:30 8 | FC064: Ensure issues_url is set in metadata: ./foo/metadata.rb:1 9 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/gcc.txt: -------------------------------------------------------------------------------- 1 | 2 | testhist.l:451: warning: `void yyunput(int, char*)' defined but not used 3 | 4 | /u1/drjohn/bfdist/packages/RegrTest/V00-03-01/RgtAddressLineScan.cc:73: error: implicit typename is deprecated, please see the documentation for details 5 | 6 | foo.cc:4:39: error: foo.h: No such file or directory 7 | 8 | foo.so: undefined reference to 'missing_symbol' 9 | 10 | ../../lib/linux-i686/include/boost/test/impl/execution_monitor.ipp:678: warning: missing initializer for member sigaltstack::ss_sp 11 | ../../lib/linux-i686/include/boost/test/impl/execution_monitor.ipp:678: warning: missing initializer for member sigaltstack::ss_flags 12 | ../../lib/linux-i686/include/boost/test/impl/execution_monitor.ipp:678: warning: missing initializer for member sigaltstack::ss_size 13 | 14 | src/test_simple_sgs_message.cxx:52: warning: large integer implicitly truncated to unsigned type 15 | 16 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/golint.txt: -------------------------------------------------------------------------------- 1 | conn.go:64:2: exported var ErrCloseSent should have comment or be unexported 2 | conn.go:104:3: should replace pos += 1 with pos++ 3 | conn.go:305:3: should replace c.writeSeq += 1 with c.writeSeq++ 4 | conn.go:360:3: should replace c.writeSeq += 1 with c.writeSeq++ 5 | conn.go:669:2: should replace c.readSeq += 1 with c.readSeq++ 6 | conn.go:706:4: should replace r.c.readSeq += 1 with r.c.readSeq++ 7 | conn_test.go:18:34: should omit type net.Error from declaration of var timeoutErrImplementsNetError; it will be inferred from the right-hand side -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/govet.txt: -------------------------------------------------------------------------------- 1 | ui_colored_test.go:46: missing argument for Fatalf("%#v"): format reads arg 2, have only 1 args 2 | ui_colored_test.go:59: missing argument for Fatalf("%#v"): format reads arg 2, have only 1 args 3 | exit status 1 -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/gradle.another.java.log: -------------------------------------------------------------------------------- 1 | /home/jenkins/agent/workspace/aaa/myProject/src/main/java/xxx/art/beans/MyServicesImpl.java:323: warning: [unchecked] unchecked call to put(K,V) as a member of the raw type Hashtable 2 | desiredElements.put("Adresse", ""); 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/gradle.java.log: -------------------------------------------------------------------------------- 1 | [java] /var/lib/jenkins/workspace/webhooks/src/main/java/File.java:59: error: ';' expected 2 | [java] eventResources.stream() 3 | [java] ^ 4 | [java] 1 error 5 | [java] -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/hadolint-unsual.json: -------------------------------------------------------------------------------- 1 | [ 2 | {}, 3 | { 4 | "level": "error" 5 | }, 6 | { 7 | "line": 15, 8 | "code": "DL3008", 9 | "message": "Pin versions in apt get install. Instead of `apt-get install ` use `apt-get install =`", 10 | "column": 1, 11 | "file": "Dockerfile", 12 | "level": "XXXX" 13 | }, 14 | { 15 | "line": 15, 16 | "code": "DL3015", 17 | "message": "Avoid additional packages by specifying `--no-install-recommends`", 18 | "column": 1, 19 | "file": "Dockerfile" 20 | } 21 | ] -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/iar-ewarm-6.3.txt: -------------------------------------------------------------------------------- 1 | C:\dev\bsc\daqtask.c(43) : Warning[Pe177]: variable "pgMsgEnv" was declared but never referenced 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/iblinter.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/invalids.txt: -------------------------------------------------------------------------------- 1 | OWNER,OBJECT_NAME,OBJECT_TYPE,STATUS,LINE,POSITION,TEXT,MESSAGE_NUMBER 2 | E,ENV_UTIL#,PACKAGE BODY,INVALID,45,1,PLW-05004: Encountered the symbol "END" when expecting one of the following: 3 | 4 | ; 5 | The symbol ";" was substituted for "END" to continue.,103 6 | 7 | E,ENV_ABBR#B,TRIGGER,INVALID,5,1,PLW-07202: Encountered the symbol "END" when expecting one of the following: 8 | 9 | ; 10 | The symbol ";" was substituted for "END" to continue.,103 11 | 12 | 0 rows affected 13 | 14 | 15 | E,/b77ce675_LoggerDynamicMBean,JAVA CLASS,INVALID,0,0,ORA-29521: referenced name javax/management/MBeanConstructorInfo could not be found 16 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue10566.txt: -------------------------------------------------------------------------------- 1 | ..\\..\\..\\xx_Source\\file.c(54): fatal error c1083: cannot open include file: 'Header.h': No such file or directory 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue11799.txt: -------------------------------------------------------------------------------- 1 | ================ gcc 4.6 warnings 2 | gcc4warning.c: In function 'gcc4warning': 3 | gcc4warning.c:4:2: warning: implicit declaration of function 'undeclared_function' [-Wimplicit-function-declaration] 4 | gcc4warning.c:3:6: warning: unused variable 'unused_local' [-Wunused-variable] 5 | gcc4warning.c:1:21: warning: unused parameter 'unused_parameter' [-Wunused-parameter] 6 | gcc4warning.c:5:1: warning: control reaches end of non-void function [-Wreturn-type] 7 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue11926.txt: -------------------------------------------------------------------------------- 1 | FLMSG Warning 451 /opt/server/jenkins/workspace/prova/src/component/include/myInclude.h,28 Header file '/opt/ti/xdctools_3_22_01_21/packages/xdc/runtime/Main.h' repeatedly included but does not have a standard include guard 2 | FLMSG Warning 451 /opt/server/jenkins/workspace/prova/src/component/include/myInclude.h,28 Header file '/opt/ti/xdctools_3_22_01_21/packages/xdc/runtime/Main.h' repeatedly included but does not have a standard include guard 3 | FLMSG Warning 451 /opt/server/jenkins/workspace/prova/src/component/include/myInclude.h,28 Header file '/opt/ti/xdctools_3_22_01_21/packages/xdc/runtime/Main.h' repeatedly included but does not have a standard include guard 4 | FLMSG Warning 451 /opt/server/jenkins/workspace/prova/src/component/include/myInclude.h,28 Header file '/opt/ti/xdctools_3_22_01_21/packages/xdc/runtime/Main.h' repeatedly included but does not have a standard include guard 5 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue14333.txt: -------------------------------------------------------------------------------- 1 | 11% scanner.cpp:1518:28: warning: Array access (via field 'yy_buffer_stack') results in a null pointer dereference 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue14888.txt: -------------------------------------------------------------------------------- 1 | F:\AC_working\new-wlanac\ac\np\capwap\source\capwap_data.c(974): Error 40: Undeclared identifier 'TRUE' 2 | F:\AC_working\new-wlanac\ac\np\capwap\source\capwap_data.c(974): Error 63: Expected an lvalue 3 | F:\AC_working\new-wlanac\ac\np\capwap\source\capwap_data.c(975): Error 40: Undeclared identifier 'pDstCwData' 4 | F:\AC_working\new-wlanac\ac\np\capwap\source\capwap_data.c(975): Error 10: Expecting a structure or union 5 | 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue16826.txt: -------------------------------------------------------------------------------- 1 | [WARNING] bootstrap class path not set in conjunction with -source 1.6 2 | /home/jan/.jenkins/jobs/Static_code_analysis/workspace/common/src/main/java/com/noesis/optimus/model/SerializedArray.java:[126,53] [unchecked] unchecked cast 3 | [WARNING] 4 | T extends Object declared in class SerializedArray 5 | /home/jan/.jenkins/jobs/Static_code_analysis/workspace/common/src/main/java/com/noesis/optimus/model/LongIdEntity.java:[147,37] [unchecked] unchecked cast 6 | [WARNING] 7 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue17309.txt: -------------------------------------------------------------------------------- 1 | foo.cc:4:39: error: dereferencing pointer '' does break strict-aliasing rules 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue17792-nofilename.txt: -------------------------------------------------------------------------------- 1 | Found "\N{SPACE}" at the end of the line at line 18, column 77. Don't use whitespace at the end of lines. Severity: 1 2 | Regular expression without "/s" flag at line 16, column 28. See pages 240,241 of PBP. Severity: 2 3 | Bareword file handle opened at line 15, column 1. See pages 202,204 of PBP. Severity: 5 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue17792.txt: -------------------------------------------------------------------------------- 1 | perl/dir_handler.pl: Code is not tidy at line 1, column 1. See page 33 of PBP. (Severity: 1) 2 | perl/system.pl: Code before warnings are enabled at line 10, column 1. See page 431 of PBP. (Severity: 4) 3 | perl/ch1/hello: Backtick operator used at line 7, column 10. Use IPC::Open3 instead. (Severity: 3) 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue18081.txt: -------------------------------------------------------------------------------- 1 | clang++ ... 2 | In file included from /home/user/project/test/test.cpp:10: 3 | ./test.h:10:10: fatal error: 'test.h' file not found 4 | #include "test.h" 5 | ^ 6 | 1 error generated. -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue18084.txt: -------------------------------------------------------------------------------- 1 | clang++ ... 2 | In file included from /home/user/project/test/test.cpp:10: 3 | ./test.h:10:10: fatal error: 'test.h' file not found 4 | #include "test.h" 5 | ^ 6 | 1 error generated. -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue18290.txt: -------------------------------------------------------------------------------- 1 | /opt/ros/fuerte/stacks/Mule/Mapping/Local_map/src/LocalCostMap.cpp:399: Missing space before { [whitespace/braces] [5] 2 | /opt/ros/fuerte/stacks/Mule/Mapping/Local_map/src/LocalCostMap.cpp:400: Tab found; better to use spaces [whitespace/tab] [1] 3 | 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue21240.txt: -------------------------------------------------------------------------------- 1 | aaa.class: warning: Cannot find annotation method 'xxx()' in type 'yyyy': class file for fully.qualified.ClassName not found 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue21377.txt: -------------------------------------------------------------------------------- 1 | [INFO] Compiling 5 source files to /path/to/job/job-name/module/target/classes 2 | [WARNING] /path/to/job/job-name/module/src/main/java/com/example/Example.java:[13] 3 | something.getOldValue(); 4 | ^^^^^^^^^^^^^ 5 | The method getOldValue() from the type SomeType is deprecated 6 | 1 problem (1 warning) -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue22386.txt: -------------------------------------------------------------------------------- 1 | Microsoft (R) Build Engine version 4.0.30319.17929 2 | [Microsoft .NET Framework, version 4.0.30319.18052] 3 | Copyright (C) Microsoft Corporation. All rights reserved. 4 | 5 | src\main.cpp(97): warning C4996: '_splitpath': This function or variable may be unsafe. Consider using _splitpath_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. [c:\solutiondir\projectdir\projectname.vcxproj] 6 | C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\stdlib.h(854): Siehe Deklaration von '_splitpath' 7 | src\main.cpp(99): warning C4996: 'strdup': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _strdup. See online help for details. [c:\solutiondir\projectdir\projectname.vcxproj] 8 | C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\string.h(245): Siehe Deklaration von 'strdup' 9 | 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue2383.txt: -------------------------------------------------------------------------------- 1 | Src\Parser\CSharp\cs.ATG (2242,17): Warning CS0168: The variable 'type' is declared but never used 2 | C:\Src\Parser\CSharp\file.cs (10): Error XXX: An error occurred -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue24611.txt: -------------------------------------------------------------------------------- 1 | [javac] Compiling 2 source files to C:\Users\momo\.jenkins\jobs\GoodMorningMrJenkins\workspace\app\Java8Lambdas\Album\build\classes 2 | [javac] C:\Users\momo\.jenkins\jobs\GoodMorningMrJenkins\workspace\app\Java8Lambdas\Album\src\music\album\Artist.java:65: warning: [deprecation] getDate() in Date has been deprecated 3 | [javac] int d = new Date().getDate(); 4 | [javac] ^ 5 | [javac] C:\Users\momo\.jenkins\jobs\GoodMorningMrJenkins\workspace\app\Java8Lambdas\Album\src\music\album\Artist.java:67: warning: [unchecked] unchecked call to add(E) as a member of the raw type List 6 | [javac] list.add("Warning?"); 7 | [javac] ^ 8 | [javac] where E is a type-variable: 9 | [javac] E extends Object declared in interface List 10 | [javac] 2 warnings 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue26441.txt: -------------------------------------------------------------------------------- 1 | [ FAILED ] allCases/ReferenceCaseTest.ROIRequirementsTest/25, where GetParam() = (19, 1) (11760 ms) 2 | [ RUN ] allCases/ReferenceCaseTest.ROIRequirementsTest/29 3 | C:\Program Files (x86)\Jenkins\jobs\MyJob\workspace\MyProject\testing\regression_tests\BackToBackTest\ROIRequirements.cpp(168): error: Expected: (xEdgeLength) <= (maxEdgeLength), actual: 150.781 vs 150 -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue27681.txt: -------------------------------------------------------------------------------- 1 | hpunit: 2 | [exec] PHPUnit 4.5.1 by Sebastian Bergmann and contributors. 3 | [exec] 4 | [exec] Configuration read from .../phpunit.xml 5 | [exec] 6 | [exec] PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from '...' : failed to load external entity "..." 7 | [exec] in ...*.php on line 39 8 | 9 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue27914.txt: -------------------------------------------------------------------------------- 1 | E:\workspace\TreeSize release nightly\DelphiLib\Jam.UI.Dialogs.pas(4522): Hint warning H2164: Variable 'lTaskDialog' is declared but never used in 'TDialog.ShowTaskDialog' [E:\workspace\TreeSize release nightly\CLI\TreeSizeCLI.dproj] 2 | E:\workspace\TreeSize release nightly\DelphiLib\Jam.UI.Dialogs.pas(4523): Hint warning H2164: Variable 'lButton' is declared but never used in 'TDialog.ShowTaskDialog' [E:\workspace\TreeSize release nightly\CLI\TreeSizeCLI.dproj] 3 | E:\workspace\TreeSize release nightly\DelphiLib\Jam.UI.Dialogs.pas(4524): Hint warning H2164: Variable 'lIndex' is declared but never used in 'TDialog.ShowTaskDialog' [E:\workspace\TreeSize release nightly\CLI\TreeSizeCLI.dproj] -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue31936.txt: -------------------------------------------------------------------------------- 1 | /Volumes/workspace/MyApp/ViewController.m:1211:26: warning: implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int' [-Wshorten-64-to-32] 2 | 3 | /Volumes/workspace/MyApp/Splot.m:85: error: -[SplotTests testSplots] : (([hereItGoes isThisOrThat:SetDefault]) is true) failed - Splot does not exists 4 | 5 | /Volumes/workspaceMyApp/InitTests.m:132: error: -[InitTests testOnRocks] : (([topViewController isKindOfClass:[DemoViewController class]]) is true) failed - demo view is not on top 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue34141.txt: -------------------------------------------------------------------------------- 1 | 14:22:36 New: vobs/1062_GEN3/configuration/tools/CSU/device_get_logs_info.sh /main/Integration/2 2 | 14:22:36 New: vobs/1062_GEN3/configuration/tools/RIU/device_get_logs_info.sh "symbolic link d6377eb4.fc7711e5.8fd8.00:50:56:bc:54:8e" SYMLINK 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue3582.txt: -------------------------------------------------------------------------------- 1 | ... 2 | [exec] 23>main.cpp 3 | [exec] 23>Compiling resources... 4 | [exec] 23>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1 5 | [exec] 23>Copyright (C) Microsoft Corporation. All rights reserved. 6 | [exec] 23>Linking... 7 | [exec] 23>LINK : fatal error LNK1181: cannot open input file 'TestLib.lib' 8 | [exec] 23>Build log was saved at "..." 9 | [exec] 23>MyApplication - 1 error(s), 0 warning(s) 10 | [exec] ========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ========== 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue36817.txt: -------------------------------------------------------------------------------- 1 | 2017-01-09 23:58:38.845 TheApp[23132:1512765431] void dbErrorLogCallback(...[Line 346] SQL error: 23 misuse at line 112343 of [c78c5a7786] 2 | 2017-01-09 23:57:56.598 TheApp[22354:151245512] void dbErrorLogCallback(...[Line 326] SQL error: 232 statement aborts at 12: [select a.id, a.zid, a.user_id 3 | 2017-01-09 23:58:38.943 TheApp[26457:151457651] void dbErrorLogCallback(...[Line 324] SQL error: 1 no such table: main.bin_fr_st 4 | 5 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue38215.txt: -------------------------------------------------------------------------------- 1 | 19:30:15 11>cl : Command line warning D9002: ignoring unknown option '-std=c++11' [C:\J\workspace\ci_windows\ws\build\rmw\test\test_error_handling.vcxproj] 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue3897.txt: -------------------------------------------------------------------------------- 1 | /dir1/dir2/file.c:12:15: file.h: No such file or directory 2 | /dir1/dir3/file.cpp:233: undefined reference to `MyInterface::getValue() const' 3 | 4 | /dir1/dir2/file.cpp:20:2: invalid preprocessing directive #incldue 5 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue4010.txt: -------------------------------------------------------------------------------- 1 | The following GNU Linker error is not reported by Warning plugin : 2 | 3 | g++ file1.o MyMain.o libMyMain.a -L/dir1/lib -lMyLib -lstdc++ -o MyMain 4 | /usr/bin/ld: cannot find -lMyLib 5 | 6 | gcc version : 3.4.6 7 | ld version : 2.15.92.0.2 8 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue4098.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | [javac] warning: [path] bad path element "C:\...\.hudson\jobs\...\log4j.jar": no such file or directory 4 | 5 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue4260.txt: -------------------------------------------------------------------------------- 1 | //cppunit-1.10.0-vx_rtp/include/cppunit/extensions/TestFixtureFactory.h:17: 2 | warning: class CppUnit::TestFixtureFactory has virtual functions but 3 | non-virtual destructor 4 | //cppunit-1.10.0-vx_rtp/include/cppunit/extensions/TestFixtureFactory.h: 5 | In instantiation of CppUnit::ConcretTestFixtureFactory<TestCase_MYdvc>: 6 | TestCase_MYdvc.h:67: instantiated from here 7 | 8 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue4274.txt: -------------------------------------------------------------------------------- 1 | When using GCC 2.7/3.3/4.0/4.02 the following warnings are not reported by the plugIn 2 | 3 | in GCC 3.3/4.0/4.2 (Xcode - MacOS X) 4 | folder1/file1.m:638: warning: local declaration of "command" hides instance variable 5 | folder1/file1.m:640: warning: instance variable "command" accessed in class method 6 | 7 | in GCC 2.7 (ProjectBuilder OpenStep-Enterprise (Windows)) 8 | file1.m:47: warning: "oldGeb" might be used uninitialized in this function 9 | file1.m:640: warning: local declaration of "command" hides instance variable 10 | 11 | All warning where generate by compiling ObjectiveC Code (see the *.m in the File-Names) 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue42823.txt: -------------------------------------------------------------------------------- 1 | 3: Known information: 2 | a whitespace at the end of the line above is important. 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue4576.txt: -------------------------------------------------------------------------------- 1 | [HUDSON] Archiving aggregated javadoc 2 | [WARNING] Javadoc Warnings 3 | [WARNING] javadoc: warning - Multiple sources of package comments found for package "org.hamcrest" 4 | [WARNING] /home/hudson-farm/.hudson/jobs/farm-toplevel/workspace/farm-toplevel/service-module/src/main/java/com/rackspace/farm/service/service/CoreAccountServiceImpl.java:94:warning - @param argument "CoreAccountNumberTO" is not a parameter 5 | name. 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue4700.txt: -------------------------------------------------------------------------------- 1 | [hudson_dvw_host] $ /usr/atria/bin/cleartool lshistory -all -since 24-sep-09.15:20:07utc+0000 -fmt '\"%Nd\" \"%u\" \"%En\" \"%Vn\" \"%e\" \"%o\" \n%c\n' -branch brtype:hudson_dvw_host -nco view/hudson_dvw_host/vobs/host/irm 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue4712.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/src/test/resources/edu/hm/hafner/analysis/parser/issue4712.txt -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue48647.txt: -------------------------------------------------------------------------------- 1 | 17:4>Filters\FilterBuilder.cs(229,34): warning CS0168 : There is maybe a mistake. -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue4932.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | Linking... 4 | SynchronisationHeure.obj : error LNK2001: unresolved external symbol "public: 5 | class IPosteCentral * __thiscall 6 | CModuleBorneEtats::GetInterfacePosteCentral(void)" 7 | (?GetInterfacePosteCentral@CModuleBorneEtats@@QAEPAVIPosteCentral@@XZ) 8 | Release\Navineo.exe : fatal error LNK1120: 1 unresolved externals 9 | Error executing link.exe. 10 | 11 | The LNK1120 error is not visible from Hudson (the others compilation error are 12 | reported). 13 | Feel free to ask form more details is needed. 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue51485.txt: -------------------------------------------------------------------------------- 1 | src/search-list.component.scss(41,17): warning shorthand-values : Property `margin` should be written more concisely as `5px 0 0` instead of `5px 0 0 0` 2 | src/search-list.component.scss(42,18): warning shorthand_values : Property `margin` should be written more concisely as `5px 0 0` instead of `5px 0 0 0` 3 | 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue5445.txt: -------------------------------------------------------------------------------- 1 | The Warnings plugin is incorrectly picking up output from the Clearcase Plugin as a warning. An example of a line being picked up by the plugin is: 2 | identity UCM.Stream oid:b694f709.1b014e0d.bf63.6c:03:05:8f:bc:23@vobuuid:bdbb9ca6.e88d43c1.abe7.9a:23:03:11:84:a1 1 3 | 4 | This is interpreted by the warnings plugin as: 5 | — 6 | File: identity UCM.Stream oid:b694f709.1b014e0d.bf63.6c:03:05:8f:bc:23@vobuuid:bdbb9ca6.e88d43c1.abe7.9a, Line: 23, Type: gcc, Priority: High, Category: GCC error 7 | 8 | a1 1 9 | — -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue54506.txt: -------------------------------------------------------------------------------- 1 | [ImmutableEnumChecker] enums should be immutable: 'Type' has field 'mime' of type 'com.acme.MyEnumType', the declaration of type 'com.acme.MyEnumType' is not annotated with @com.google.errorprone.annotations.Immutable 2 | 3 | [UnitTestGroup2] 2019-01-08 14:02:07 /opt/data/jenkins/Pipeline-Bitbucket/core@2/processing/src/java/com/acme/export/print/AbstractPdfExporter.java:54: warning: [deprecation] createTmpDirectory(String) in FileUtils has been deprecated 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue55345.json: -------------------------------------------------------------------------------- 1 | {"message":"For git repo , using branch 'warnings-ng' from the environment variable Git_Branch.","source":"BuildCore.Build Document.Load.TocDocumentProcessor","file":"toc.yml","date_time":"2018-12-26T20:23:53.8113472Z","message_severity":"info","correlation_id":"4A74E517-AC4E-49E8-ADDF-0635EB7796D9.117.1.31.2.4"} 2 | {"message":"Building 3 file(s) in ResourceDocumentProcessor(ValidateResourceMetadata)...","source":"BuildCore.Build Document.CompilePhaseHandlerWithIncremental.ResourceDocumentProcessor","file":"blub.yml","date_time":"2017-12-20T12:30:14.8769748Z","message_severity":"info","correlation_id":"5CEF92F0-944B-469D-A9A6-57BEB66C1DAC.80.1.26.9.1"} 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue55368.txt: -------------------------------------------------------------------------------- 1 | [INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ x --- 2 | [INFO] Changes detected - recompiling the module! 3 | [WARNING] /home/piotr/.../X.java:[9,214] The method isValid(String) from the type X can potentially be declared as static 4 | [WARNING] /home/piotr/.../X.java:[54,1802] The method as10(String) from the type X can potentially be declared as static 5 | [WARNING] /home/piotr/.../X.java:[60,2018] The method as13(String) from the type X can potentially be declared as static 6 | [INFO] 7 | [INFO] -----------------------< G:A >------------------------ -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue55750.txt: -------------------------------------------------------------------------------- 1 | "c:\external\specific\cpp\iar_cxxabi.cpp",432 Warning[Pe852]: expression must be a pointer to a complete object type 2 | "external/specific/wiced/WICED/security/BESL/host/WICED/wiced_p2p.c",81 Warning[Pe549]: variable "result" is used before its value is set 3 | "external/specific/wiced/WICED/platform/MCU/RTOS_STM32F4xx/platform_dct_external.c",412 Warning[Pe223]: function "memcpy" declared implicitly 4 | "source/dal/InterMcu/InterMcuTransport.cpp",633 Error[Pe018]: expected a ")" 5 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue56613.txt: -------------------------------------------------------------------------------- 1 | EXEC : warning : Project file C:\J\ws\project@2\src\website\ cannot be found. [C:\J\ws\project@2\ci.msbuildproj] 2 | 16:43:02 \\INTRANET\Releases\SmartTranslator\ConsoleTranslator.exe: Warning ST: Could not translate string 'Expand f&olders larger than:'. 3 | 17:19:23 NMAKE : fatal error U1077: '.\Tests.exe' : return code '0x1' 4 | 17:19:23 NMAKE : fatal error U1077: '"C:\Program Files (x86)\Utils\NMAKE.EXE"' : return code '0x2' 5 | 16:55:11 rs: error 002: Renaming the File was not possible. Message: The process cannot access the file '...' because it is being used by another process. -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue57365.txt: -------------------------------------------------------------------------------- 1 | 311>------ Build started: Project: sysinfo, Configuration: Debug Win32 ------ -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue57379.txt: -------------------------------------------------------------------------------- 1 | ---------- 2 | 2548. WARNING in C:\File.java (at line 3) 3 | * - javadoc {@link #msd()} words 4 | ^^^ 5 | Javadoc: The method msd(double[], double) in the type File is not applicable for the arguments () 6 | ---------- 7 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue5868.txt: -------------------------------------------------------------------------------- 1 | First for Ant javac or pure javac 2 | 3 | [javac] D:\path\to\my\Class.java:225: warning: [deprecation] loadAvailable(java.lang.String,int,int,java.lang.String[]) in my.OtherClass has been deprecated 4 | [javac] oc.loadAvailable("roottest.xml", 0xFFF, 0xFFFF, new String[]{"filter"}); 5 | [javac] ^ 6 | 7 | Then for maven javac 8 | 9 | [WARNING] D:\path\to\my\Class.java:[14,39] [deprecation] loadAvailable(java.lang.String,int,int,java.lang.String[]) in my.OtherClass has been deprecated 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue5870.txt: -------------------------------------------------------------------------------- 1 | configure.ac:9: installing `auto/config.guess' 2 | configure.ac:9: installing `auto/config.sub' 3 | configure.ac:6: installing `auto/install-sh' 4 | configure.ac:6: installing `auto/missing' 5 | 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue59118.txt: -------------------------------------------------------------------------------- 1 | [2019-08-28T08:44:26.749Z] Output from Compiling Foo.c: 2 | [2019-08-28T08:44:26.749Z] "C:\Path\To\bar.h", line 19: warning #1729-D: 3 | 4 | [2019-08-28T08:44:26.749Z] operands of logical && or || must be primary expressions 5 | 6 | [2019-08-28T08:44:26.749Z] #if !defined(_STDARG_H) && !defined(_STDIO_H) && !defined(_GHS_WCHAR_H) 7 | 8 | [2019-08-28T08:44:26.749Z] ^ 9 | 10 | [2019-08-28T08:44:26.749Z] 11 | 12 | [2019-08-28T08:44:28.122Z] "..\..\..\..\Sources\Foo\Bar\Test.c", line 491: warning #1729-D: 13 | 14 | [2019-08-28T08:44:28.122Z] operands of logical && or || must be primary expressions 15 | 16 | [2019-08-28T08:44:28.122Z] if(t_deltaInterval != t_u4Interval && t_deltaInterval != 0) 17 | 18 | [2019-08-28T08:44:28.122Z] ^ 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue63216.txt: -------------------------------------------------------------------------------- 1 | /src/be/doc/_sub/_classTest/05_test.rst: WARNING: document isn't included in any toctree -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue63580.txt: -------------------------------------------------------------------------------- 1 | ... 2 | [exec] 23>main.cpp 3 | [exec] 23>Compiling resources... 4 | [exec] 23>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1 5 | [exec] 23>Copyright (C) Microsoft Corporation. All rights reserved. 6 | [exec] 23>Linking... 7 | [exec] 23>LINK : warning LNK4217: symbol 'XYZ' defined in 'abc.obj' is imported by 'def.obj' in function 'FGH' 8 | [exec] 23>Build log was saved at "..." 9 | [exec] 23>MyApplication - 0 error(s), 1 warning(s) 10 | [exec] ========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ========== 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue64519.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue64657.txt: -------------------------------------------------------------------------------- 1 | Warning: doxygen no longer ships with the FreeSans font. 2 | You may want to clear or change DOT_FONTNAME. 3 | Otherwise you run the risk that the wrong font is being used for dot generated graphs. 4 | Warning: source ../path/to/file is not a readable file or directory... skipping. 5 | warning: tag INPUT: input source `../../example/inc/example2.h' does not exist -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue66130.log: -------------------------------------------------------------------------------- 1 | "D:\jenkins\src\MyFile.cpp", line 42: warning #381-D: extra ";" ignored 2 | Some Description 3 | ^ 4 | "D:\jenkins\src\MyColTest.cpp", line 42 *(col. 58)*: warning #382-D: extra ";" ignored 5 | This Description is not relevant 6 | ^ 7 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue66923.txt: -------------------------------------------------------------------------------- 1 | ninja: Entering directory `bin/example_project' 2 | ninja: Leaving directory `bin/example_project' 3 | Waf: Entering directory `/home/jenkins/workspace/ndn-cxx/OS/Ubuntu-20.04/build' 4 | Waf: Leaving directory `/home/jenkins/workspace/ndn-cxx/OS/Ubuntu-20.04/build' -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue66950.txt: -------------------------------------------------------------------------------- 1 | 22>-- Build files have been written to: /mnt/Jenkins_Workspace/V4SW/V4_Software_F/CUDALibs/CUDAYolo/Release-TX2 -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue6709.txt: -------------------------------------------------------------------------------- 1 | 2>Rules\TaskRules.cs(1145,49): warning CS0168: The variable 'ex' is declared but never used 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue67296.json: -------------------------------------------------------------------------------- 1 | { 2 | "SchemaVersion": 2, 3 | "ArtifactName": "/tmp/tmp.1F2RFo3ny4", 4 | "ArtifactType": "filesystem", 5 | "Metadata": { 6 | "ImageConfig": { 7 | "architecture": "", 8 | "created": "0001-01-01T00:00:00Z", 9 | "os": "", 10 | "rootfs": { 11 | "type": "", 12 | "diff_ids": null 13 | }, 14 | "config": {} 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue6971.txt: -------------------------------------------------------------------------------- 1 | /home/user/myproject/helper/LCPcalc.cpp:479:warning: the name `lcp_lexicolemke.c' supplied as the second argument in the \file statement is not an input file 2 | /home/user/myproject/helper/SimpleTimer.h:19:error: Unexpected character `"' 3 | 4 | [exec] .../XmlParser.h:357: warning: Member getInternalParser() (function) of class XmlParser is not documented. 5 | 6 | [exec] P:/Integration/DjRip/djrip/workspace/libraries/xml/XmlMemoryEntityResolver.h:39: warning: Member XmlMemoryEntityMapEntry (typedef) of class XmlMemoryEntityResolver is not documented. 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue70065.txt: -------------------------------------------------------------------------------- 1 | "sw/dbg/cfg/dbg_trace_acfg.h", line 354: warning #1-D: last line of file ends without a newline 2 | "out/include/common/dimming_ctrl.h", line 45: warning #1-D: last line of file ends without a newline -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue70153.txt: -------------------------------------------------------------------------------- 1 | > Task :travel:compileDebugKotlin 2 | w: '-Xjvm-default=compatibility' is deprecated, please use '-Xjvm-default=all|all-compatibility' 3 | w: /var/lib/jenkins/workspace/.../CountryFavoriteRepositoryImpl.kt: (35, 35): Type mismatch: inferred type is CountryFavoriteDto? but CountryFavoriteDto was expected 4 | w: /var/lib/jenkins/workspace/.../CountryFavoriteUseCase.kt: (86, 39): Name shadowed: favoriteCountry 5 | w: /var/lib/jenkins/workspace/.../CountryDetailActivity.kt: (48, 30): 'getParcelableExtra(String!): T?' is deprecated. Deprecated in Java -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issue8630.txt: -------------------------------------------------------------------------------- 1 | [junit] [26 Jan 2011 12:49:09] [Thread-8] 479099 ERROR (com.company.class:356) - log message 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issues-broken.json: -------------------------------------------------------------------------------- 1 | { 2 | "_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", 3 | "size": 5 4 | "issues": 42, -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/issues-no-issues.json: -------------------------------------------------------------------------------- 1 | { 2 | "_class": "io.jenkins.plugins.analysis.core.restapi.ReportApi", 3 | "size": 0 4 | } -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/jcreport/testReportProps.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/json-issues-duplicate.log: -------------------------------------------------------------------------------- 1 | {"fileName":"invalid1.xml","fileName":"invalid2.xml"} 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/json-issues-empty.txt: -------------------------------------------------------------------------------- 1 | // This is a test LOG, on each line an issue serialized in JSON format 2 | // {"fileName":"comment.txt","severity":"ERROR","lineStart":10,"description":"some comment"} -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/json-issues-lineBreak.log: -------------------------------------------------------------------------------- 1 | {"fileName":"file.xml", 2 | "description":"an \"important\" description"} 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/kotlin-gradle-error.txt: -------------------------------------------------------------------------------- 1 | > Configure project :app 2 | Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead. 3 | registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection) 4 | registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection) 5 | registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection) 6 | app: 'annotationProcessor' dependencies won't be recognized as kapt annotation processors. Please change the configuration name to 'kapt' for these artifacts: 'com.android.databinding:compiler:3.0.1'. 7 | e: /project/app/src/main/java/ui/Activity.kt: (214, 35): Unresolved reference: feth 8 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/llvm-clang.txt: -------------------------------------------------------------------------------- 1 | C/C++: /project/src/cpp/MyClass.cpp:35:15: warning: unused parameter 'parameter1' [-Wunused-parameter] 2 | 3 | C/C++: C:\project\src\cpp\MyClass.cpp:35:15: warning: unused parameter 'parameter1' [-Wunused-parameter] 4 | 5 | C/C++: MyClass.cpp:35:15: warning: unused parameter 'parameter1' [-Wunused-parameter] -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/msbuild.txt: -------------------------------------------------------------------------------- 1 | Src\Parser\CSharp\cs.ATG (2242,17): warning CS0168: The variable 'type' is declared but never used 2 | C:\Src\Parser\CSharp\file.cs (10): error XXX: An error occurred 3 | 4 | Controls\MozItem.cs(1338,4): warning CS0618: System.ComponentModel.Design.ComponentDesigner.OnSetComponentDefaults() : This method has been deprecated. Use InitializeNewComponent instead. http://go.microsoft.com/fwlink/?linkid=14202 5 | 6 | MediaPortal.cs(3001,5): warning CS0162: Hier kommt der Warnings Text 7 | 8 | x/a/b/include/abc.h(18) : fatal error C1083: Cannot open include file: xyz.h:... 9 | 10 | foo.h(5): Info 701: This is an info message from PcLint 11 | 12 | x/msbuild/normal/abc.h(29,53): error X3004: undeclared identifier 13 | 14 | x/msbuild/no/category/abc.h(334,3): error : use of undeclared identifier -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/mypy.txt: -------------------------------------------------------------------------------- 1 | fs/cs/backend/log.py: note: In member "filter" of class "CsLogFilter": 2 | fs/cs/backend/log.py:16: error: "LogRecord" has no attribute "user_uuid" 3 | fs/cs/backend/log.py:17: error: "LogRecord" has no attribute "tenant_id" 4 | fs/cs/backend/errorhandler.py: note: In member "__init__" of class "CsErrorHandler": 5 | fs/cs/backend/errorhandler.py:16: error: The return type of "__init__" must be None 6 | fs/cs/backend/api.py: note: At top level: 7 | fs/cs/backend/api.py:23: error: ContextManager[Any] not callable 8 | tests/test_schema.py:864: error: Name 'test_nested_only_and_exclude' already defined -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/pep8Test.txt: -------------------------------------------------------------------------------- 1 | optparse.py:69:11: E401 multiple imports on one line 2 | optparse.py:77:1: E302 expected 2 blank lines, found 1 3 | optparse.py:88:5: E301 expected 1 blank line, found 0 4 | optparse.py:222:34: W602 deprecated form of raising exception 5 | optparse.py:347:31: E211 whitespace before '(' 6 | optparse.py:357:17: E201 whitespace after '{' 7 | optparse.py:472:29: E221 multiple spaces before operator 8 | optparse.py:544:21: W601 .has_key() is deprecated, use 'in' -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/perforce.txt: -------------------------------------------------------------------------------- 1 | //eng/Tools/Hudson/instances/PCFARM08/.owner - can't add existing file 2 | //eng/Tools/Hudson/instances/PCFARM08/jobs/EASW-FIFA DailyTasks/config.xml - warning: add of existing file 3 | //eng/Tools/Hudson/instances/PCFARM08/jobs/BFBC2-DailyTasksEurope/config.xml - can't add (already opened for edit) 4 | //eng/Tools/Hudson/instances/PCFARM08/config.xml#8 - nothing changed -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/php.txt: -------------------------------------------------------------------------------- 1 | //error_reporting=2 2 | PHP Warning: include_once(): Failed opening 'RegexpLineParser.php' for inclusion (include_path='.:/usr/share/pear') in PhpParser.php on line 25 3 | //error_reporting=8 4 | PHP Notice: Undefined index: SERVER_NAME in /path/to/file/Settings.php on line 25 5 | 6 | PHP Fatal error: Undefined class constant 'MESSAGE' in /MyPhpFile.php on line 35 7 | 8 | PHP Parse error: Undefined class constant 'MESSAGE' in /MyPhpFile.php on line 35 9 | 10 | From Apache log 11 | [Tue Mar 02 08:22:40 2010] [error] [client 192.168.1.172] PHP Warning: Missing argument 1 for Title::getText(), called in Title.php on line 22 and defined in Category.php on line 34 -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/pmd/empty.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/pmd/lines-columns.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | The method 'parse' has a Cyclomatic Complexity of 10. 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/pmd/otherfile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/polyspace_cp.csv: -------------------------------------------------------------------------------- 1 | ID Family Group Color New Check Information Function File Status Severity Comment Key Line Col 2 | 16153 Run-time Check Data flow Red yes Unreachable code xinitialize() D:\workspace/math.c Unreviewed Unset CC1849A44441 30 4 3 | 16155 Run-time Check Data flow Gray yes Unreachable code method_a() D:\sample.h Unreviewed Medium CC10009C49A1 34 4 4 | 16144 Run-time Check Data flow Gray yes Unreachable code errorCheck() D:\Jenkins\main.c Unreviewed High 81111559C49A1 66 4 5 | 2436 MISRA C:2012 10 The essential type model Not Applicable yes 10.1 Operands shall not be of an inappropriate essential type. Category: Required a_message() /file/SERVICE.c Unreviewed Unset 844C182E62C8B9 217 27 6 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/project.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/src/test/resources/edu/hm/hafner/analysis/parser/project.ser -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/pyLint.txt: -------------------------------------------------------------------------------- 1 | trunk/src/python/cachedhttp.py:3: [C] Line too long (85/80) 2 | trunk/src/python/tv.py:28: [C0103, Show.__init__] Invalid name "seasonCount" (should match [a-z_][a-z0-9_]{2,30}$) 3 | trunk/src/python/tv.py:35: [C0111, Episode] Missing docstring 4 | trunk/src/python/tv.py:39: [E0213, Episode.__init__] Method should have "self" as first argument 5 | trunk/src/python/tv.py:5: [F0401, ] Unable to import 'deadbeef' 6 | trunk/src/python/tv.py:39: [W0102, Episode.__init__] Dangerous default value "[]" as argument 7 | trunk/src/python_package/module_name.py:python_package.module_name:1: [W0611, ] Unused import os (unused-import) 8 | trunk/src/module_name_no_package.py:module_name_no_package:1: [W0611, ] Unused import os (unused-import) 9 | trunk/src/python/tv.py:32: [I1101, run] Module 'PySide2.QtWidgets' has no 'QApplication' member, but source is unavailable. -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/pylint-absolute-paths.txt: -------------------------------------------------------------------------------- 1 | E:\JenkinsMIDEBLD\workspace\r-fix_pylint_warnings_ng_CYC-276\cyclops\archive\archive.py:1: [F0001(fatal), ] No module named src/test/resources/non_existant.py 2 | E:\JenkinsMIDEBLD\workspace\r-fix_pylint_warnings_ng_CYC-276\cyclops\archive\archive.py:28: [C0103, Show.__init__] Invalid name "seasonCount" (should match [a-z_][a-z0-9_]{2,30}$) 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/duplicatedName.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TranslatedObject 6 | TranslatedObject 7 | 8 | UndefinedClass 9 | Undefiniert 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/duplicatedSource.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TranslatedObject 6 | 7 | UndefinedClass 8 | UndefinedClass 9 | Undefiniert 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/duplicatedTranslation.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TranslatedObject 6 | 7 | UndefinedClass 8 | Undefiniert 9 | Undefiniert 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/missingElementStart.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TranslatedObject 6 | 7 | UndefinedClass 8 | %n Warnung 9 | %n Warnungen 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/missingName.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | UndefinedClass 7 | Undefiniert 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/missingNumerusAttribute.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TranslatedObjectWithPlurals 6 | 7 | %n Warning(s) 8 | 9 | %n Warnung 10 | %n Warnungen 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/missingSource.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TranslatedObject 6 | 7 | Undefiniert 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/missingTranslation.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TranslatedObject 6 | 7 | UndefinedClass 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/multilineTranslation.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TranslatedObject 6 | 7 | Show 8 | Classes 9 | Klassen 10 | anzeigen 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/rootElementHasParent.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | TranslatedObject 7 | 8 | UndefinedClass 9 | Undefiniert 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/unknownTranslationType.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | TranslatedObject 6 | 7 | UndefinedClass 8 | Undefiniert 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/qttranslation/wrongParent.ts: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | TranslatedObject 5 | 6 | UndefinedClass 7 | Undefiniert 8 | 9 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/report.junit: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | timrAPITests/Tests/Utils/UtilTests.swift:23 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/robocopy.txt: -------------------------------------------------------------------------------- 1 | *EXTRA File 0 b Unknown Task 2 | 100% New File 0 a.log 3 | same 0 a.log 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/sbtScalac.txt: -------------------------------------------------------------------------------- 1 | [warn] /home/user/.jenkins/jobs/job/workspace/path/SomeFile.scala:111: method stop in class Thread is deprecated: see corresponding Javadoc for more information. 2 | [warn] Thread.currentThread.stop() 3 | [error] /home/user/.jenkins/jobs/job/workspace/another/path/SomeFile.scala:9: ';' expected but identifier found. 4 | [warn] /home/user/.jenkins/jobs/job/workspace/Main.scala:4:18: implicit numeric widening 5 | [error] Total time: 127 s, completed Oct 7, 2019 9:11:30 AM 6 | [error] /home/user/.jenkins/jobs/job/workspace/Main.scala:5:11: Invalid literal number 7 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/scalac.txt: -------------------------------------------------------------------------------- 1 | [WARNING] /home/user/.jenkins/jobs/job/workspace/some/path/SomeFile.scala:29: warning: implicit conversion method toLab2OI should be enabled 2 | [WARNING] /home/user/.jenkins/jobs/job/workspace/another/path/SomeFile.scala:408: warning: method asJavaMap in object JavaConversions is deprecated: use mapAsJavaMap instead 3 | [ERROR] /home/user/.jenkins/jobs/job/workspace/yet/another/path/SomeFile.scala:59: warning: method error in object Predef is deprecated: Use `sys.error(message)` instead -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/simian/onefile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/simian/otherfile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/simian/twofile.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/sphinxbuild.txt: -------------------------------------------------------------------------------- 1 | /src/be/doc/_sub/00_outline.rst:12: ERROR: Unknown directive type "blockdiag". 2 | /src/infrastructure/jenkins-obs/jenkins-obs.rst:10: WARNING: unknown document: ../builder/builder 3 | /src/infrastructure/sphinx/plantuml.rst:26: WARNING: undefined label: building_documentation_with_the_sphinx_container (if the link has no caption the label must precede a section header) 4 | /src/feblock/doc/3_3_6_2_WriteCommandCallbackIF.rst:None: WARNING: Could not obtain image size. :scale: option is ignored. 5 | /src/infrastructure/self-test/self-test-vault/src/self-test/index.rst:: WARNING: document isn't included in any toctree 6 | /src/be/doc/_sub/_classThread/04_Interface.rst:21: ERROR: Unknown target name: "threadid". 7 | legacy.py:docstring of bar.foo.MyOtherFoo.foo_bar_baz_boo:26: WARNING: py:mod reference target not found: bar.foo.postprocessing 8 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/stylecop/stylecop-v4.3.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | The call to components must begin with the 'this.' prefix to indicate that the item is a member of the class. 5 | 6 | 8 | The call to components must begin with the 'this.' prefix to indicate that the item is a member of the class. 9 | 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/tnsdl.txt: -------------------------------------------------------------------------------- 1 | tnsdlx:(W) tstmasgx.sdl (398):unused variable sender_pid 2 | tnsdlx:(E) tstmasgx.sdl (399):unused variable a_sender_pid 3 | 4 | tnsdl:(W) s_dat:dty0132c.sdt (3):Id. length is reserved in PL/M 386 intrinsics 5 | tnsdl:(E) s_dat:dty0132c.sdt (4):Id. length is reserved in PL/M 386 intrinsics -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/bandit.txt: -------------------------------------------------------------------------------- 1 | /jenkins/workspace/ure_RC_SMTP_Bridge_flake8-bandit@2/rc_smtp_bridge/rc_smtp_bridge.py:42: MEDIUM: B307: Use of possibly insecure function - consider using safer ast.literal_eval. 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/flake8-issue53786: -------------------------------------------------------------------------------- 1 | ../devopsloft/application.py:42:1: E302 expected 2 blank lines, found 1 2 | ../devopsloft/application.py:46:1: E302 expected 2 blank lines, found 1 3 | ../devopsloft/application.py:51:1: E302 expected 2 blank lines, found 1 4 | ../devopsloft/application.py:55:1: E302 expected 2 blank lines, found 1 5 | ../devopsloft/application.py:59:1: E302 expected 2 blank lines, found 1 6 | ../devopsloft/application.py:88:1: E302 expected 2 blank lines, found 1 7 | ../devopsloft/application.py:121:1: E302 expected 2 blank lines, found 1 8 | ../devopsloft/application.py:141:1: E302 expected 2 blank lines, found 1 9 | ../devopsloft/application.py:147:1: E305 expected 2 blank lines after class or function definition, found 1 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/flake8.log: -------------------------------------------------------------------------------- 1 | ./src/init.py:66:121: E501 line too long (143 > 120 characters) 2 | ./src/init.py:254:58: W292 no newline at end of file -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/flake8.txt: -------------------------------------------------------------------------------- 1 | 4 | myproject/__init__.py:7: [F401] 'db' imported but unused 5 | myproject/__init__.py:7: [F401] 'logger' imported but unused 6 | myproject/__main__.py:8: [E401] multiple imports on one line 7 | myproject/__main__.py:15: [F401] 'ggrc' imported but unused 8 | myproject/__main__.py:19: [E402] module level import not at top of file 9 | myproject/__main__.py:24: [E265] block comment should start with '# ' 10 | myproject/__main__.py:25: [E265] block comment should start with '# ' 11 | myproject/__main__.py:26: [E265] block comment should start with '# ' 12 | myproject/app.py:6: [F401] 'sys' imported but unused 13 | 14 | __fake__.py:26: [F265] test with F 15 | __fake__.py:27: [W265] test with W 16 | __fake__.py:28: [C265] test with C 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/issue55345.json: -------------------------------------------------------------------------------- 1 | {"message":"For git repo , using branch 'warnings-ng' from the environment variable Git_Branch.","source":"BuildCore.Build Document.Load.TocDocumentProcessor","file":"toc.yml","date_time":"2018-12-26T20:23:53.8113472Z","message_severity":"info","correlation_id":"4A74E517-AC4E-49E8-ADDF-0635EB7796D9.117.1.31.2.4"} 2 | {"message":"Building 3 file(s) in ResourceDocumentProcessor(ValidateResourceMetadata)...","source":"BuildCore.Build Document.CompilePhaseHandlerWithIncremental.ResourceDocumentProcessor","file":"blub.yml","date_time":"2017-12-20T12:30:14.8769748Z","message_severity":"info","correlation_id":"5CEF92F0-944B-469D-A9A6-57BEB66C1DAC.80.1.26.9.1"} 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/issue64519.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/mypy.txt: -------------------------------------------------------------------------------- 1 | fs/cs/backend/log.py: note: In member "filter" of class "CsLogFilter": 2 | fs/cs/backend/log.py:16: error: "LogRecord" has no attribute "user_uuid" 3 | fs/cs/backend/log.py:17: error: "LogRecord" has no attribute "tenant_id" 4 | fs/cs/backend/errorhandler.py: note: In member "__init__" of class "CsErrorHandler": 5 | fs/cs/backend/errorhandler.py:16: error: The return type of "__init__" must be None 6 | fs/cs/backend/api.py: note: At top level: 7 | fs/cs/backend/api.py:23: error: ContextManager[Any] not callable 8 | tests/test_schema.py:864: error: Name 'test_nested_only_and_exclude' already defined -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/report.junit: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | timrAPITests/Tests/Utils/UtilTests.swift:23 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/xmllint.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | xml/other.xml:5: parser error : Opening and ending tag mismatch: font line 4 and body 10 | 11 | ^ 12 | xml/other.xml:6: parser error : Opening and ending tag mismatch: body line 3 and html 13 | 14 | ^ 15 | xml/other.xml:7: parser error : Premature end of data in tag html line 1 16 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/yamllint.txt: -------------------------------------------------------------------------------- 1 | file.yml:6:2: [warning] missing starting space in comment (comments) 2 | test/file.yml:57:1: [error] trailing spaces (trailing-spaces) 3 | file.yml:60:3: [error] wrong indentation: expected 4 but found 2 (indentation) 4 | ./molecule-default/create.yml:117:89: [error] syntax error: expected '', but found '' -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/violations/zptlint.log: -------------------------------------------------------------------------------- 1 | Error in: cpplint.py abc def ghe '" 123 , at line 4796 2 | Error in: cpplint.py abc '" 123 def ghe , at line 4797 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/xlc-linker.txt: -------------------------------------------------------------------------------- 1 | ld: 0711-987 Error occurred while reading file -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/xlc.txt: -------------------------------------------------------------------------------- 1 | "file.c", line 9.17: 1506-098 (E) Missing argument(s). -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/xmlParserDefault.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | category 4 | type 5 | HIGH 6 | message 7 | 1 8 | 2 9 | 3 10 | 4 11 | 12 | 13 | 5 14 | 6 15 | 16 | 17 | 63d61b1f-0cac-4e31-8bb9-f390ed1acfe8 18 | description 19 | reference 20 | origin 21 | module-name 22 | package-name 23 | file-name 24 | fingerprint 25 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/xmlParserException.xml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/xmllint.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | xml/other.xml:5: parser error : Opening and ending tag mismatch: font line 4 and body 10 | 11 | ^ 12 | xml/other.xml:6: parser error : Opening and ending tag mismatch: body line 3 and html 13 | 14 | ^ 15 | xml/other.xml:7: parser error : Premature end of data in tag html line 1 16 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/yamllint.txt: -------------------------------------------------------------------------------- 1 | file.yml:6:2: [warning] missing starting space in comment (comments) 2 | test/file.yml:57:1: [error] trailing spaces (trailing-spaces) 3 | file.yml:60:3: [error] wrong indentation: expected 4 but found 2 (indentation) 4 | ./molecule-default/create.yml:117:89: [error] syntax error: expected '', but found '' -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/yui.txt: -------------------------------------------------------------------------------- 1 | [WARNING] Try to use a single 'var' statement per scope. 2 | match){returnstringResult;}for( ---> var <--- i=0;match&&i replacement <--- =globalStoredVars[name];if(replacement!= 6 | 7 | [WARNING] Using 'eval' is not recommended. Moreover, using 'eval' reduces the level of compression! 8 | function(condition,label){if( ---> eval <--- (condition)){this.doGotolabel(label 9 | 10 | [WARNING] The function myFunction has already been declared in the same scope... 11 | 12 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/parser/zptlint.log: -------------------------------------------------------------------------------- 1 | Error in: cpplint.py abc def ghe '" 123 , at line 4796 2 | Error in: cpplint.py abc '" 123 def ghe , at line 4797 3 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | base 7 | com.avaloq.adt 8 | 1.2.0-SNAPSHOT 9 | 10 | 4.0.0 11 | com.avaloq.adt.core 12 | ADT Business Logic 13 | source-plugin 14 | 15 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/relative.txt: -------------------------------------------------------------------------------- 1 | empty 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/report.ser: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/src/test/resources/edu/hm/hafner/analysis/report.ser -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/settings-1.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "root-project" 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/settings-2.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'root-project-2' 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/settings-3.gradle: -------------------------------------------------------------------------------- 1 | rootProject.setName 'root-project-3' 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/settings-4.gradle: -------------------------------------------------------------------------------- 1 | rootProject.setName("root-project-4") 2 | -------------------------------------------------------------------------------- /src/test/resources/edu/hm/hafner/analysis/settings-5.gradle: -------------------------------------------------------------------------------- 1 | // Other code that does not rewrite the project name 2 | -------------------------------------------------------------------------------- /src/test/resources/logging.properties: -------------------------------------------------------------------------------- 1 | # Turn off any java.util.Loggers (or use SEVERE to see problems) 2 | .level=OFF 3 | -------------------------------------------------------------------------------- /src/test/resources/python_src/pypackage/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jenkinsci/analysis-model/5f724fc9a7b7eae8bc5234989869743d089fdb7a/src/test/resources/python_src/pypackage/__init__.py --------------------------------------------------------------------------------