In PowerShell, you need to wrap any argument values that include a dot (.) in double quotes or PowerShell can misinterpret them as property accessors.
This should work:
.\utplsql.bat run system/pass@//localhost:1521/XEPDB1 -f=ut_coverage_sonar_reporter -o="coverage.xml" --coverage-schemes=SYSTEM -p=SYSTEM
I say should because generating this report properly can be tricky. The PL/SQL support from SonarQube commercial builds doesn’t have any native support for utPLSQL coverage reports, so the coverage.xml file must include the actual file paths for your PL/SQL sources. That’s where things get complicated.
To make that work, utPLSQL-cli has a file-mapping config, but it can be very complex, or even impossible, depending on how your source files are organized.
I tried the command you suggested, but it still didn’t work as expected. Given how tricky this setup is—especially with the file path mappings and the lack of native support in SonarQube’s commercial editions—I’m wondering how teams typically get this working reliably.
Do you happen to know if there’s a recommended or commonly used approach that produces a valid report? Or maybe an alternative tool or workflow that integrates more smoothly with SonarQube for PL/SQL code coverage?