override fun beforeRunnerStart()

in plugin-dotnet-agent/src/main/kotlin/jetbrains/buildServer/dotnet/coverage/dotcover/DotCoverVersionChecker.kt [36:52]


    override fun beforeRunnerStart(ctx: BuildRunnerContext) {
        val ps: DotnetCoverageParameters = _holder.getCoverageParameters()
        if (!CoverageConstants.PARAM_DOTCOVER.equals(ps.getCoverageToolName(), ignoreCase = true)) return
        if (StringUtil.isEmptyOrSpaces(ps.getRunnerParameter(CoverageConstants.PARAM_DOTCOVER_ATTRIBUTE_FILTERS))) return

        val runner = _runnerFactory.getDotCoverReporter(ps) ?: return
        try {
            val versionStr = _versionFetcher.getDotCoverVersionString(ps, runner)
            val version = _versionFetcher.getDotCoverVersion(versionStr, ps)
            if (version.isOlder(DotCoverVersion.DotCover_2_0)) {
                ctx.build.buildLogger.warning("Attribute assembly filter is not supported by specified dotCover.")
                ctx.addRunnerParameter(CoverageConstants.PARAM_DOTCOVER_ATTRIBUTE_FILTERS, "")
            }
        } catch (e: IOException) {
            LOG.warn("Failed to get version of dotCover")
        }
    }