- Support for Group Coverage with Branch Coverage (mostly Coveralls)
- Source encoding gets automatically chosen unless we configure flag
failOnNoEncoding
totrue
- Overseer option:
overseer
. If this option is on, the plugin will look for external reports and sources automatically following the Overseer.md document rules - GoLang Coverage Support (
.out
files) - Fix double parent phenomenon for Codecov specific projects where the path fix algorithm doubles the parent folder. Example is
.
- Difficult to fix - The jacoco report being sent does have the path in a correct way, so this seems to be a divergent behaviour that happens in some Codecov corner cases. Nonetheless, a solution will be investigated. Perhaps an extra option
- Define where the name and location of the original jar when jacoco reports are being used as described in the Troubleshooting document.
- Add dynamic search for common source folder standards (from
src/main/java
to all known languages. i.e. addsrc/main/scala
tosrc/main/java
)
- Updates for unknown Fields in Meta
- Library updates
- Parallelization support for multiple sub-report frameworks like Codacy
- Parallelization support for multiple sub-report frameworks like Codacy (DO NOT USE THIS VERSION)
- Parallelization support
- Support for JDK19
- Share extra
source
andreport
algorithm - Ignore
node_modules
folder
- Refactoring - Current version still has a lot of code that can be reused.
- Option
OMNI_LOG
with environment variable. Logs everything intotarget/omni.log
file (Not configurable yet) - Read JSON configuration method
- Interoperability
- Important Static methods made available to
Clojure
andJava
- Reduction of the need to create instances on the fly.
- LCov Expected Values Parsing Improvements - The absence of some values would generate an unwanted exception
- Clojure's language support
This release contains breaking changes because it now supports interoperability between Kotlin and other JVM languages
- Remove possibility to send unknown reports in Omni to Codecov. Unfortunately Codecov crashes with unknown reports. The only way to check the correct format of the report is essentially to provide the implementation to do that. In this way report sending to Codecov becomes restricted to the known formats to Omni.
- Remove banned file name list - Since the algorithm no longer relies on the filename, it doesn't make sense anymore to keep doing that. Therefore, the banned list is removed.
- Jacoco XML generation sometimes results in empty string.
- Url Fix for BitBucket
Reports in the same folder are merged and average, (We assume thart if there are different reports in the same folder, it only means that there are different brands in there.)Unfortunately, by doing so, the results may become inconsistent for reports that do not report coverage for certain files. Please make sure not to have different report brands (i.e. Clover and LCov together) for the same files. In that case, line coverage will be reported duplicate.- Exclude report option
reportRejectList
. Given the above, it may be difficult to manage that situation. We can then use this option to exclude a report that for some reason we don't want to consider for the overall coverage calculation). See example in.
- Change file detection to include content. The check should be based on text labels and parsing should be avoided.
Remove files from the excluded list where applicable (code wise). Files in de excluded list are also used in a filename based algorithm. This needs to be changed.- I leave it there becausecoverage-final.json
is not a part of any other report default naming strategy. This way I keep this protection.- Add support for Circle CI and BitBucket builds
- Create flag
fetchBranchNameFromEnv
to fetch the branch name from environment variables
- Fix Reporting sending of test report files by default with
ignoreTestBuildDirectory
- Fix Codacy not including TSX in TypeScript reports
!! Breaking Changes !!
- Support for CoveragePy
- Support for LCov
- Support for Jacoco.exec files
- Support for OpenClover
- Root Path fix for internal elements
Support Upgrade Leap
It was found that under certain circumstances (i.e. use of Gradle INFO level), the Http Google Clients lets client logs output go to the console. This represents a security risk because access keys to the coverage API's would be exposed in that way. This release covers that and avoids this way of credentials being exposed in the logs.
Below the stripped line, you'll find the release roadmap for the omni-reporter-maven-plugin.
This library has its origins in this plugin. All the code has been moved to this library in order to be able to share code between the maven, gradle and future plugins.
NOTE: Version 0.0.0 of this library is to be released as the inception version. Full test coverage and improvements will follow in upcoming versions.
Omni Reporter Plugin Releases
- Ignore if package not found for Codecov with
failOnUnknown
- Path Corrections for Codecov Jacoco reports
- Codecov support for endpoint V4 version
- API token support for codacy
- Disable flags for Coveralls and Codacy to force them out even when environment variables are available
disableCoveralls
disableCodacy
- Exception handling for Codacy formatting issue
3.
failOnXmlParsingError
, false by default - Codacy update so solve Xerces module error. Manual implementation required
- Codacy support - JAVA 11 Only
failOnReportNotFound
failOnUnknown
Bug fix- Possibility to add external root sources - useful in cases where projects are using scala, java, kotlin and/or clojure at the same time. The plugin only recognizes one source directory. Parameter name is
extraSourceFolders
failOnReportSendingError
- Rollback
CI_COMMIT_REF_NAME
. Unfortunately this messes up the way the JOB ID is calculated.
It has been observed that GitLab checks out the repo on the desired commit, but looses reference to the branch at this point. This means that the only reference to the commit is the hash. If we change the branch name, it will use the hash-number regardless of what we configure for the Job ID. Example
Branch = main, Hash = AAAAAAAAAAAAA and service_number = null => JobId = #AAAAAAAAAAAAA, Branch Name = main
Branch = AAAAAAAAAAAAA, Hash AAAAAAAAAAAAA and service_number = null -> JobId = #AAAAAAAAAAAAA, Branch Name = AAAAAAAAAAAAA
Branch = AAAAAAAAAAAAA, Hash AAAAAAAAAAAAA and service_number = 99 -> JobId = 99, Branch Name = AAAAAAAAAAAAA
- Fix branch naming of GitLab using
CI_COMMIT_REF_NAME
- Fix JAXB upgrade -> Use Jackson Module parser
- Correct JOB_ID and RUN_ID for GIT_RUN pipeline
useCoverallsCount
to let Coveralls decide Job and run numbers.
- Source encoding gets automatically chosen unless we configure flag
failOnNoEncoding
totrue
- Ignore test build directory by default. Make
ignoreTestBuildDirectory
,true
by default. - Find files in all sources directories including generated sources
- Rejection words implemented. Fixes issue with GitHub pipelines build names for Coveralls Report
- Token log shadowing (even in debug) for Coveralls Report
- We can ignore unknown class error generated by Jacoco. This happens with some Kotlin code. The option is
failOnUnknown
- Saga and Cobertura support is not given because of the lack of updates in these plugins for more than 5 years.
- Plugin will search for all jacoco.xml files located in the build directory.
- If there are two reports with the same file reported, the result will be a sum.
- Coveralls support
- DOM processing instead of SAX. Using an event parser for XML can be quite cumbersome and if the XML document isn't correctly validated, we run the risk of having misleading or false results. In any case, when making a code report, we usually don't need to worry about performance and if we do, it is probably a sign that the codebase is too big and that our code is becoming a monolith.
- Line Coverage