Session 103 validated 11 native fixers but found 4 tools not installed. This session installs and tests the missing tools.
Missing tools from Session 103:
- Sorald (Java SonarQube fixer)
- clang-tidy (C/C++ linting with fixes)
- dotnet-format (C# formatting)
- OpenRewrite (Java Maven plugin)
Goal: Install clang-tidy which is part of LLVM tools Steps:
- Run
brew install llvm - Add LLVM to PATH:
export PATH="/opt/homebrew/opt/llvm/bin:$PATH" - Verify installation:
clang-tidy --version - Document the installation in TIER2_FIXER_MATRIX.md
Goal: Validate which clang-tidy checks support auto-fix Steps:
- Create test C++ file with modernization issues (auto, nullptr, override)
- Run
clang-tidy --fix --checks='modernize-*' test.cpp - Document which checks support --fix
- Create before/after examples
Goal: Install .NET SDK for dotnet-format Steps:
- Run
brew install dotnet - Verify installation:
dotnet --version - Document the installation
Goal: Validate dotnet-format on C# code Steps:
- Create minimal C# project with formatting issues
- Run
dotnet formaton the project - Document what dotnet-format fixes
- Note: requires .csproj file
Goal: Install Sorald for Java SonarQube rule fixes Steps:
- Check brew:
brew install soraldor download JAR - Verify installation:
sorald --version - Document supported SonarQube rules
- If not available via brew, document JAR download from GitHub
Goal: Validate Sorald on Java SonarQube violations Steps:
- Create test Java file with SonarQube violations (S1068, S1144, etc.)
- Run
sorald repair --source <file> - Document which SonarQube rules Sorald can fix
- Compare to PMD (which has no auto-fix)
Goal: Document how to use OpenRewrite Maven plugin Steps:
- Create sample pom.xml with OpenRewrite plugin
- Document common recipes for code quality
- Show example:
mvn rewrite:run -Drewrite.recipeArtifactCoordinates=... - Note: This is a project-level tool, not CLI
Goal: Update documentation with installation results Steps:
- Update tool status for newly installed tools
- Add detailed capabilities for clang-tidy
- Add dotnet-format capabilities
- Add Sorald supported rules list
- Update installation instructions
Goal: Ensure tier2-executor.ts has working executors Steps:
- Verify ClangTidyExecutor works with installed tool
- Verify DotnetFormatExecutor works with installed tool
- Add SoraldExecutor if Sorald is installed
- Update checkInstalled() to work correctly
Goal: Verify all tier 2 tools are properly detected Steps:
- Create script to check all tool availability
- Run getAllTier2ToolsStatus() and log results
- Verify installation hints are correct
- Document final tool coverage
Goal: Add tests for newly installed tools Steps:
- Add dry-run tests for clang-tidy
- Add dry-run tests for dotnet-format
- Add tests for Sorald if installed
- Verify all executors are covered
Goal: Document how to install all tier 2 tools in CI Steps:
- Create shell script with all tool installations
- Support macOS (brew) and Linux (apt)
- Add to docs/CI_TOOL_INSTALLATION.md
- Test script runs without errors