nuget-to-nix: skip local sources

+15 -2
+15 -2
pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
··· 23 23 24 24 mapfile -t sources < <(dotnet nuget list source --format short | awk '/^E / { print $2 }') 25 25 26 + declare -a remote_sources 26 27 declare -A base_addresses 27 28 28 29 for index in "${sources[@]}"; do 29 - base_addresses[$index]=$( 30 + if [[ -d "$index" ]]; then 31 + continue 32 + fi 33 + 34 + remote_sources+=($index) 35 + 36 + base_addresses[$index]=$( 30 37 curl --compressed --netrc -fsL "$index" | \ 31 38 jq -r '.resources[] | select(."@type" == "PackageBaseAddress/3.0.0")."@id"') 32 39 done ··· 35 42 36 43 cd "$pkgs" 37 44 for package in *; do 45 + [[ -d "$package" ]] || continue 38 46 cd "$package" 39 47 for version in *; do 40 48 id=$(xq -r .package.metadata.id "$version"/*.nuspec) ··· 44 52 fi 45 53 46 54 used_source="$(jq -r '.source' "$version"/.nupkg.metadata)" 47 - for source in "${sources[@]}"; do 55 + 56 + if [[ -d "$used_source" ]]; then 57 + continue 58 + fi 59 + 60 + for source in "${remote_sources[@]}"; do 48 61 url="${base_addresses[$source]}$package/$version/$package.$version.nupkg" 49 62 if [[ "$source" == "$used_source" ]]; then 50 63 sha256="$(nix-hash --type sha256 --flat --base32 "$version/$package.$version".nupkg)"