Commit graph

122 commits

Author SHA1 Message Date
Chris Boesch
f4408f9eb9 help text for parameters adapted 2023-04-07 18:06:13 +02:00
Manlio Perillo
0d56ba3ca3 build: restore the exercise chain
The new parallel build support in Zig broke the exercise chain, so that
each esercise check is no longer strictly serialized.

  1. Add the Dexno option, in order to isolate the chain starting from a
     named exercise from the normal chain, thus simplify the code.

     The current code have an additional issue: it added 4 x n steps,
     making reading the help message or the list of steps very hard.

     Add only the `install`, `uninstall`, `zigling`, `test` and `start`
     steps.  The last three steps match the old steps `n`, `n_test` and
     `n_start`.

     The default step is zigling (note the singular form).

     The `install` step override the builtin install step, showing a
     custom description and matches the old `n_install` step.
     The uninstall step was added for consistency, so that the
     description is consistent.

     Setup a new chain starting at `zig build -Dexno=n start` so that it
     is stricly serialized.

     The behavior should be the same as the old one.

  2. Handle the code for all the exercises separately.

     Add only the `ziglings step`, making it the default step, in
     addition to the install and uninstall steps.

     Setup a new chain starting at the first exercise, to that it is
     strictly serialized.

     The behavior should be the same as the old one.

The current code has a know issue: the messages from the ZiglingStep and
the ones from the compiler compilation progress are interleaved, but each
message is written atomically, due to the use of `std.debug.getStderrMutex()`.

Update the README.md file.

Closes #202
2023-04-07 11:36:26 +02:00
Manlio Perillo
7b793d8fd8 build: fix the description of the named_install step
Replace the description of the named_install step from
"Install {s} to zig-cache/bin" to "Copy {s} to prefix path".  The latter
has been adapded from the description of the builtin install step.

Ad an empty line before the build_step variable, in order to improve
readability.

Closes #213
2023-04-05 21:19:17 +02:00
Manlio Perillo
9354de09fb build: replace the logo step with the header step
Remove the logo step, and use PrintStep for the header step.

The logo step was added as a quick fix after the Builder.addLog function
was removed.

Now the logo is no longer shown when running `zig build -l` or
`zig build -h`.
2023-04-04 18:32:30 +02:00
Manlio Perillo
4bd2b6225e build: restore support for Zig 0.6.0
The version check for Zig 0.6.0 was incorrect since commit
971ab7f (Use a zig build script to run ziglings).

Move compatibility support to a separate file, in order to simplify
build.zig.

In case of incompatible version, exit with code 3 instead of 0, in order
to detect the case of failure in a test (to be implemented).

Remove the use of comptime when checking compatibility at the start of
the build function, since it is not necessary.

Closes #210.
2023-04-03 11:37:12 +02:00
Manlio Perillo
24478be7a2 build: make the logo a build step
Currently, the logo is always printed when the build script is executed,
resulting in the logo being printed twice with `zig build -h` and
`zig build -l`.

Make the logo a build step, so that the logo is printed to stderr only
when necessary.

Closes #211
2023-04-02 15:09:51 +02:00
Chris Boesch
0d154fedf1 workaround for parallel processing of the build steps 2023-03-19 18:23:35 +01:00
Chris Boesch
59f9c485b4 first test for new build system 2023-03-19 00:59:42 +01:00
Sean Aubin
00d7b7f9a0 move memory allocation example to 095 2023-03-08 13:36:25 -05:00
Sean Aubin
80b5421856 first draft of memory allocation exercise 2023-03-08 13:35:02 -05:00
Chris Boesch
47c871041c exercise for new for-loops 2023-03-04 16:07:53 +01:00
Sean Aubin
2efc730e3d fix typos/grammar in 093_hello_c.zig
- output a text -> output text
- In Zig -> add comma
- result ist -> result is
- remove extra whitespace
2023-02-28 10:17:32 -05:00
Chris Boesch
cad9de0158 dev.1711 - switched to multi-object-for-loops 2023-02-21 21:43:40 +01:00
Chris Boesch
7d129460cf check for dev1650 and some minor polish 2023-02-19 17:52:16 +01:00
Chris Boesch
393a4fe41e added C math exercise 2023-02-18 23:39:21 +01:00
Chris Boesch
5bb2ff5b62 some improvements in the description 2023-02-16 19:28:10 +01:00
Chris Boesch
1a37c63abe
Merge branch 'main' into hello_c 2023-02-16 11:17:52 +01:00
Chris Boesch
9a94d7cea4
Merge pull request #181 from chrboesch/interfaces
Interfaces
2023-02-16 10:07:48 +01:00
Dave Gauer
c0965412ab Added story/explanation to new ex. 092 2023-02-15 17:45:10 -05:00
Chris Boesch
7a646ddf09 added the first C exercise 2023-02-15 22:55:44 +01:00
Chris Boesch
15ed7efe8c update to version 1636 2023-02-15 19:28:27 +01:00
Chris Boesch
fa2189f8fe updated to version 011.0-dev.1602 2023-02-12 17:10:40 +01:00
Chris Boesch
0c24be0858 added 092_interfaces to build 2023-02-11 11:43:09 +01:00
Chris Boesch
2e806259cf
Merge pull request #177 from DameonSmith/patch-1
Updating build.zig to support new API change.
2023-02-04 15:12:50 +01:00
Chris Boesch
f1aac142ea
new build number added 2023-02-04 15:06:20 +01:00
Chris Boesch
51927630c3
Merge pull request #178 from chrboesch/issue176
removed trim of trailing spaces
2023-02-02 10:45:25 +01:00
Chris Boesch
8b6f2c7650 removed trim of trailing spaces 2023-02-02 10:38:02 +01:00
Dameon Smith
2f924501c6
Updating build.zig to support new API change.
I updated zig today and the addExecutable API appears to have changed with it. I was able to get the build to run again with this change.
2023-02-01 21:51:47 -06:00
Chris Boesch
6208147100 update to zig dev release 1501 2023-01-31 23:48:50 +01:00
Chris Boesch
e1313cd04d changed 'the_end' to '999_the_end' 2023-01-22 13:12:53 +01:00
Chris Boesch
fa2a830ba2 the_end function added 2023-01-21 23:26:53 +01:00
Chris Boesch
1c8437a979 trim of leading spaces added 2023-01-21 17:59:56 +01:00
Chris Boesch
bc012d5dc7
Merge branch 'main' into check_output_len 2023-01-21 14:41:35 +01:00
Chris Boesch
660bda11f2 disable the async excercises because of temporary not available in zig
compiler
2023-01-21 13:57:32 +01:00
Tobias Simetsreiter
afc02bd558 output fixes to 16 and 19 2022-11-16 14:29:34 +01:00
Tobias Simetsreiter
c3fc1cf394 exit non zero on error 2022-11-16 13:05:25 +01:00
Tobias Simetsreiter
7b8447b1d7 exclude trailing newlines and spaces 2022-11-16 13:00:36 +01:00
Tobias Simetsreiter
e978f26263 add check for trailing output characters 2022-11-16 12:36:31 +01:00
Dave Gauer
bb5b8f115a README tweaks and another ver bump 2022-09-10 14:41:40 -04:00
Sebastian Aigner
b2d9dca484 Remove parameter in call to NativeTargetInfo.detect
Compatibility with ziglang/zig@3ee01c14ee
2022-09-09 20:42:57 +02:00
Dave Gauer
4634f23555 Bump version for Ex 074 fix from upstream :-) 2022-09-06 08:28:31 -04:00
Dave Gauer
a723a4c1df Update Zig development build minimum version 2022-08-29 21:00:45 -04:00
Jan Brauer
1c23ef2a1f Use stage 1 compiler for async exercises 2022-08-29 09:17:42 +02:00
Dave Gauer
b8617bb752 Correct conventional Zig reference vs value passing re #89 2022-07-31 15:58:24 -04:00
Dave Gauer
98ebdcbff8 Updated build version requirement to 0.10.0-dev.3385 2022-07-31 11:04:16 -04:00
Dave Gauer
d8b405c278
Merge pull request #104 from lkadalski/patch-2
fix: wrong expected output in exercise 004
2022-07-31 09:41:17 -04:00
Łukasz Kądalski
d8b15dc0b6
fix: wrong expected output in exercise 004 2022-06-11 14:27:11 +02:00
DerTee
7e797fce52 064_builtins: clarify @addWithOverflow explanation
There were misunderstandings concerning
overflowing operations and overflowed variables.
Hopefully it's clearer now.
2022-05-16 02:37:18 +02:00
iz
d99e4e21b6 Fix build on latest nightly zig 2022-05-01 19:19:37 -05:00
Dave Gauer
77c79140c7 Update sentinel type for v0.10.0
Fixes

.../076_sentinels.zig:95:30: error: incompatible types:
  'u32' and '?*const anyopaque':
    while (my_seq[i] != my_sentinel) {
2022-03-19 19:38:05 -04:00