Add -Wall to all package.yaml#773
Conversation
|
Version numbers bumped: |
petertseng
left a comment
There was a problem hiding this comment.
were any missed?
$ find exercises -name package.yaml | xargs grep -L 'this search works' | wc -l (11-17 04:20)
201
$ find exercises -name package.yaml | xargs grep -L 'ghc-options: -Wall' | wc -l (11-17 04:20)
0
did any file somehow get two?
$ for i in $(find exercises -name package.yaml); do n=$(grep 'ghc-options: -Wall' $i | wc -l); if [ "$n" -ne 1 ]; then echo "no" ; fi; done
cool. be careful with two certain versions.
In #522 the following convention was established: > [exercises based on a non-versioned canonical-data.json should use > version 0.9.0.1. If there is a comment containing the date from the data > file used as a reference, it should be added to the YAML file, to ease > transition, like this: The 'binary' exercise appears to be the only package left that honors this convention of non-versioned canonical data. Since the exercise is deprecated, and canonical data has versions in them, I propose that we deprecate this convention in favor of 'version' lines that contain only the MAJOR.MINOR.PATCH.SERIAL version number.
|
Oh, something I just realised - The motivations written for this PR indicate that this is geared toward students. In that case, you might consider simply not adding the line to examples' package.yaml, since they're already being run with Then again, it's already been done, so shrug. |
|
Good point. But should students also have |
|
We can probably base that decision on factors such as:
I caution that it may cause the process of working on an exercise to be more cumbersome. I imagine that during the course of that work there are a few unused bindings, etc. Sometimes I just want to see whether it compiles, even though I have some unused bindings. That was of course quite speculative. It may be valuable to try to complete an exercise from scratch with |
Also, bump version number. This fixes #769.
|
Righto righto, let me do the README business and this will be good, there will be one PR and one issue for the README business |
|
|
petertseng
left a comment
There was a problem hiding this comment.
OK, so now that only the non-example package.yaml are updated, the checks for this got easier, since verification operations need to act on exercises/*/package.yaml instead of find exercises -name package.yaml
$ ls */package.yaml | wc -l (11-22 10:47)
96
$ grep -L 'this search works' exercises/*/package.yaml | wc -l
96
$ grep -L '^ ghc-options: -Wall' exercises/*/package.yaml | wc -l
0
So, we should be good once it's rebased.
|
I'd like to try really hard never to merge a In PRs that should be merged as one commit, that means Squash and Merge is suitable. But what to do about PRs that should be merged as multiple commits, such as this one? I guess the other solution is to ask for the up-to-date requirement to be turned off. Honestly I thought that exercism/discussions#174 indicates there's a desire to have it on for all repos, but I know of at least two track repos that do not have that option. |
|
I think I pushed a button that caused this extra merge from master. I really wanted to push it. But it seems like if I had rebased before pushing to my own branch, then I could have gone without clicking it. How about if we ask committers to rebase from master as the last thing they do, since there is no "rebase from master" button, but only a "merge from master" button? |
|
Yeah, that sounds right. |
|
Excellent. Learning the GitHub workflow here. :-) |
I added
ghc-options: -Wallbelowsource-dirs: srcfor both example solutions and exercise stubs, using the following command:
This causes warnings to show on both
stack buildandstack test.I realize that version numbers should be bumped, too. Oh dear.