#!/usr/bin/env bash set -euo pipefail repo_root="$(git -C "${BASH_SOURCE%/*}/.." rev-parse --show-toplevel 2>/dev/null || pwd)" project_path="${repo_root}/src/Scanner/__Libraries/StellaOps.Scanner.Analyzers.Lang.Python/StellaOps.Scanner.Analyzers.Lang.Python.csproj" output_dir="${repo_root}/out/analyzers/python" plugin_dir="${repo_root}/plugins/scanner/analyzers/lang/StellaOps.Scanner.Analyzers.Lang.Python" to_win_path() { if command -v wslpath >/dev/null 2>&1; then wslpath -w "$1" else printf '%s\n' "$1" fi } rm -rf "${output_dir}" project_path_win="$(to_win_path "$project_path")" output_dir_win="$(to_win_path "$output_dir")" dotnet publish "$project_path_win" \ --configuration Release \ --output "$output_dir_win" \ --self-contained false mkdir -p "${plugin_dir}" cp "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Python.dll" "${plugin_dir}/" if [[ -f "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Python.pdb" ]]; then cp "${output_dir}/StellaOps.Scanner.Analyzers.Lang.Python.pdb" "${plugin_dir}/" fi repo_root_win="$(to_win_path "$repo_root")" exec dotnet run \ --project "${repo_root_win}/tools/LanguageAnalyzerSmoke/LanguageAnalyzerSmoke.csproj" \ --configuration Release \ -- --repo-root "${repo_root_win}"