@@ -789,7 +789,8 @@ def _get_llvm_version(rctx):
789
789
790
790
def _get_all_llvm_distributions (* , llvm_distributions , extra_llvm_distributions , parsed_llvm_version ):
791
791
distributions = {}
792
- for basename , sha256 in llvm_distributions .items ():
792
+ for dist , sha256 in llvm_distributions .items () + (extra_llvm_distributions .items () if extra_llvm_distributions else []):
793
+ basename = _distribution_basename (dist )
793
794
version = _distribution_version (basename )
794
795
if parsed_llvm_version and parsed_llvm_version != version :
795
796
continue
@@ -798,16 +799,6 @@ def _get_all_llvm_distributions(*, llvm_distributions, extra_llvm_distributions,
798
799
sha256 = sha256 ,
799
800
version = version ,
800
801
)
801
- if extra_llvm_distributions :
802
- for dist , sha256 in extra_llvm_distributions .items ():
803
- version = _distribution_version (dist )
804
- if parsed_llvm_version and parsed_llvm_version != version :
805
- continue
806
- distributions [_distribution_basename (dist )] = struct (
807
- distribution = dist ,
808
- sha256 = sha256 ,
809
- version = version ,
810
- )
811
802
return distributions
812
803
813
804
_UBUNTU_NAMES = [
@@ -1135,7 +1126,11 @@ def _required_llvm_release_name(*, version_or_requirements, all_llvm_distributio
1135
1126
return None , None , "ERROR: No matching distribution found."
1136
1127
1137
1128
def required_llvm_release_name_rctx (rctx , llvm_version ):
1138
- all_llvm_distributions = _get_all_llvm_distributions (rctx )
1129
+ all_llvm_distributions = _get_all_llvm_distributions (
1130
+ llvm_distributions = _llvm_distributions ,
1131
+ extra_llvm_distributions = rctx .attr .extra_llvm_distributions ,
1132
+ parsed_llvm_version = _parse_version (llvm_version ),
1133
+ )
1139
1134
return _required_llvm_release_name (
1140
1135
version_or_requirements = llvm_version ,
1141
1136
all_llvm_distributions = all_llvm_distributions ,
@@ -1424,7 +1419,7 @@ def _distributions_test_writer_impl(ctx):
1424
1419
ctx .actions .write (ctx .outputs .select , "\n " .join (select ) + "\n " )
1425
1420
1426
1421
write_distributions = rule (
1427
- implementation = _write_distributions_impl ,
1422
+ implementation = _distributions_test_writer_impl ,
1428
1423
attrs = {
1429
1424
"output" : attr .output (mandatory = True ),
1430
1425
"select" : attr .output (mandatory = True ),
0 commit comments