All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- fixed bug which causes malformat of issues
Add new parameter '--excluded-path' in order to exclude specified paths for coverage and warnings-and-errors Add unit tests for the new feature Read submission ID from notarization call in order to echo the entire command for 'notarytool' info and 'notarytool log', so we can copy and paste it into the terminal Add new xcresult file to test xcresult with errors
- Swift 5.9 is better choice over 5.10 in terms of compatibility
- revert changes to Package.swift so we can build with Xcode 15 again
- Use XcresultKit 1.1.0, which is Xcode 16 compatible by supporting the xcresulttool --legacy flag
- Make the package Swift 6 compatible, which just meant to eliminate an anyway not so nice global variable.
- Add a few more missing, not so important, tests.
Changed the Junit xml slightly in order to be compatible with Jenkins plugin
It looks like the Jenkins plugin (https://plugins.jenkins.io/xunit/) expects: only 3 decimal places after the . in the time attribute an errors attribute, even if errors=0 on the testsuite
removed swiftlint plugin from Package.swift file, as it seems to not work with commandline tools?
Reverted swift package version back to 5.6 Fixed bug introduced in last version, which broke unit tests as well
Fix crash for cobertura coverage converter
The DTD URL changed and the fallback file, which was supposed to be read from the bundle crashed the app. No surprise, because the command line tool is not a bundle. DUH! The fix is to include the DTD as string in the code. Also removed the online poll of the DTD, as it will probably never change!
Adds support for configurying the coverage report format
Updated the tool for Xcode 15 xccov tool. ATTENTION: use version 1.5.2 of this tool, if you are still using Xcode 14. Coverage won't work otherwise. The big change is that now we can get all the coverage data at once from xccov command line. No tedious getting coverage data for each single file. That defeats the original purpose of this tool to generate coverage data faster than the shel script, which was provided by sonar. Now this tool is not much faster at that task, as the shell script. But meanwhile xcresultparser offers more than only converting coverage data to xml. The Readme has you covered on this.
Add support for multiple testsuites in junit xml
Adds support for Skipped and Expected Failure test statuses
- Merged Pull Request to allow multiple run destinations to be processed correctly (Credits to Alex Deem https://github.com/alexdeem)
- updated dependencies to their latest versions
- Added static local coverage-04.dtd file for cobertura coverage converter, for the case when http://cobertura.sourceforge.net/xml/coverage-04.dtd is not reachable
- fixed warnings for printing optionals
Fixed bug where coverage would gather coverage for duplicate files
Added support for the targets filter for the coverage functions as well Added new method to just list all target names contained in the xcresult archive
Fixes the junit output formatter, set cobertura timestamp to test execution time and improves the entire test suite.
Make output test report format for xml output selectable.
Added output format for coverage data: cobertura XML (this format is the only one supported by GitLab coverage visualizer). (Credits go to Eliot Lash)
Fixed crash in coverage XML when output is concurrently modified. (Credits go to Björn Dahlgren)
escaped quotes in markdown changed formatting in markdown to better suit the needs for teams web hook
Added simple markdown output (first implemented for use in Teams Webhook message).
Changed format of test duration for sonar now from double to long
Fixed format of test duration for sonar
- added -v switch to output version of the tool
(Kind of) Fixed the file paths in test results xml for sonarqube.
Unfortunately I didn't find the file paths for the tests in the xcresult archive.
Only the classnames of the test classes are exposed. So I use grep
to find the
file in the directory provided with the '-p' parameter. That will only work on the machine
where the .xcresult file was created, because only there the files exist, which can be found by grep
.