@ -559,13 +559,13 @@ pub fn build(b: *Build) !void {
const header_step = PrintStep . create ( b , logo , std . io . getStdErr ( ) ) ;
const header_step = PrintStep . create ( b , logo , std . io . getStdErr ( ) ) ;
if ( exno ) | i | {
if ( exno ) | n | {
if ( i = = 0 or i > exercises . len - 1 ) {
if ( n = = 0 or n > exercises . len - 1 ) {
print ( " unknown exercise number: {} \n " , . { i } ) ;
print ( " unknown exercise number: {} \n " , . { n } ) ;
std . os . exit ( 1 ) ;
std . os . exit ( 1 ) ;
}
}
const ex = exercises [ i - 1 ] ;
const ex = exercises [ n - 1 ] ;
const base_name = ex . baseName ( ) ;
const base_name = ex . baseName ( ) ;
const file_path = std . fs . path . join ( b . allocator , & [ _ ] [ ] const u8 {
const file_path = std . fs . path . join ( b . allocator , & [ _ ] [ ] const u8 {
if ( use_healed ) " patches/healed " else " exercises " , ex . main_file ,
if ( use_healed ) " patches/healed " else " exercises " , ex . main_file ,
@ -603,8 +603,8 @@ pub fn build(b: *Build) !void {
var prev_step = verify_step ;
var prev_step = verify_step ;
for ( exercises ) | exn | {
for ( exercises ) | exn | {
const n = exn . number ( ) ;
const n th = exn . number ( ) ;
if ( n > i ) {
if ( n th > n ) {
const verify_stepn = ZiglingStep . create ( b , exn , use_healed ) ;
const verify_stepn = ZiglingStep . create ( b , exn , use_healed ) ;
verify_stepn . step . dependOn ( & prev_step . step ) ;
verify_stepn . step . dependOn ( & prev_step . step ) ;
@ -646,8 +646,11 @@ pub fn build(b: *Build) !void {
ziglings_step . dependOn ( & header_step . step ) ;
ziglings_step . dependOn ( & header_step . step ) ;
b . default_step = ziglings_step ;
b . default_step = ziglings_step ;
/ / Don ' t use the " multi-object for loop " syntax , in order to avoid a syntax
/ / error with old Zig compilers .
var prev_step : * Step = undefined ;
var prev_step : * Step = undefined ;
for ( exercises , 0 . . ) | ex , i | {
for ( exercises ) | ex | {
const n = ex . number ( ) ;
const base_name = ex . baseName ( ) ;
const base_name = ex . baseName ( ) ;
const file_path = std . fs . path . join ( b . allocator , & [ _ ] [ ] const u8 {
const file_path = std . fs . path . join ( b . allocator , & [ _ ] [ ] const u8 {
" exercises " , ex . main_file ,
" exercises " , ex . main_file ,
@ -657,7 +660,7 @@ pub fn build(b: *Build) !void {
build_step . install ( ) ;
build_step . install ( ) ;
const verify_stepn = ZiglingStep . create ( b , ex , use_healed ) ;
const verify_stepn = ZiglingStep . create ( b , ex , use_healed ) ;
if ( i = = 0 ) {
if ( n = = 1 ) {
prev_step = & verify_stepn . step ;
prev_step = & verify_stepn . step ;
} else {
} else {
verify_stepn . step . dependOn ( prev_step ) ;
verify_stepn . step . dependOn ( prev_step ) ;