tasks/analysis.tasks.ps1

$hadesVersion = "0.9.2"

task InstallHadesTool {
    Install-DotNetTool -Name hades -Version $hadesVersion
}

task RunHades Version,InstallHadesTool,{
    $hadesXmlOutputFile = "{0}.sbom.xml" -f [IO.Path]::GetFileNameWithoutExtension($SolutionToBuild)
    $hadesHtmlReportFile = $hadesXmlOutputFile.Replace(".sbom.xml",".sbom.html")

    exec {
        & dotnet-hades $SolutionToBuild `
                    -v $script:GitVersion.SemVer `
                    --output $hadesXmlOutputFile `
                    --report
    }

    if ($IsAzureDevops) {
        Write-Host "##vso[task.setvariable variable=SbomHtmlReportPath;isoutput=true]$hadesHtmlReportFile"
        Write-Host "##vso[artifact.upload artifactname=SBOM]$hadesHtmlReportFile"
        Write-Host "##vso[artifact.upload artifactname=SBOM]$hadesXmlOutputFile"
    }
}