Skip to content

Commit 9e71532

Browse files
authored
Deprecate deprecated exercises from problem specifications (#834)
1 parent 8257e2b commit 9e71532

File tree

3 files changed

+146
-0
lines changed

3 files changed

+146
-0
lines changed

config.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -389,6 +389,7 @@
389389
"practices": [],
390390
"prerequisites": [],
391391
"difficulty": 1,
392+
"status": "deprecated",
392393
"topics": [
393394
"extension_methods",
394395
"sequences",
@@ -450,6 +451,7 @@
450451
"practices": [],
451452
"prerequisites": [],
452453
"difficulty": 1,
454+
"status": "deprecated",
453455
"topics": [
454456
"algorithms",
455457
"text_formatting"
@@ -462,6 +464,7 @@
462464
"practices": [],
463465
"prerequisites": [],
464466
"difficulty": 1,
467+
"status": "deprecated",
465468
"topics": [
466469
"math"
467470
]
@@ -717,6 +720,7 @@
717720
"practices": [],
718721
"prerequisites": [],
719722
"difficulty": 1,
723+
"status": "deprecated",
720724
"topics": [
721725
"math"
722726
]
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
#!/usr/bin/env php
2+
<?php
3+
4+
declare(strict_types=1);
5+
6+
$deprecatedExercises = [];
7+
foreach (getExercises() as $exercise) {
8+
$headerResponse = get_headers("https://github.com/exercism/problem-specifications/blob/main/exercises/{$exercise}/.deprecated")[0];
9+
if (!str_contains($headerResponse, '200 OK')) {
10+
continue;
11+
}
12+
13+
$deprecatedExercises[] = $exercise;
14+
}
15+
16+
var_dump($deprecatedExercises);
17+
18+
function getExercises(): array
19+
{
20+
return [
21+
"annalyns-infiltration",
22+
"city-office",
23+
"language-list",
24+
"lasagna",
25+
"lucky-numbers",
26+
"pizza-pi",
27+
"sweethearts",
28+
"windowing-system",
29+
"accumulate",
30+
"acronym",
31+
"affine-cipher",
32+
"allergies",
33+
"all-your-base",
34+
"alphametics",
35+
"anagram",
36+
"armstrong-numbers",
37+
"atbash-cipher",
38+
"bank-account",
39+
"beer-song",
40+
"binary",
41+
"binary-search",
42+
"binary-search-tree",
43+
"bob",
44+
"book-store",
45+
"bowling",
46+
"change",
47+
"circular-buffer",
48+
"clock",
49+
"collatz-conjecture",
50+
"connect",
51+
"crypto-square",
52+
"custom-set",
53+
"darts",
54+
"diamond",
55+
"difference-of-squares",
56+
"dnd-character",
57+
"eliuds-eggs",
58+
"etl",
59+
"flatten-array",
60+
"food-chain",
61+
"gigasecond",
62+
"grade-school",
63+
"grains",
64+
"hamming",
65+
"hello-world",
66+
"high-scores",
67+
"house",
68+
"isbn-verifier",
69+
"isogram",
70+
"killer-sudoku-helper",
71+
"kindergarten-garden",
72+
"knapsack",
73+
"largest-series-product",
74+
"leap",
75+
"linked-list",
76+
"list-ops",
77+
"luhn",
78+
"markdown",
79+
"mask-credit-card",
80+
"matching-brackets",
81+
"matrix",
82+
"meetup",
83+
"micro-blog",
84+
"minesweeper",
85+
"nth-prime",
86+
"nucleotide-count",
87+
"ocr-numbers",
88+
"ordinal-number",
89+
"palindrome-products",
90+
"pangram",
91+
"parallel-letter-frequency",
92+
"pascals-triangle",
93+
"perfect-numbers",
94+
"phone-number",
95+
"pig-latin",
96+
"poker",
97+
"prime-factors",
98+
"protein-translation",
99+
"proverb",
100+
"queen-attack",
101+
"rail-fence-cipher",
102+
"raindrops",
103+
"resistor-color",
104+
"resistor-color-duo",
105+
"resistor-color-trio",
106+
"reverse-string",
107+
"rna-transcription",
108+
"robot-name",
109+
"robot-simulator",
110+
"roman-numerals",
111+
"rotational-cipher",
112+
"run-length-encoding",
113+
"say",
114+
"scale-generator",
115+
"scrabble-score",
116+
"secret-handshake",
117+
"series",
118+
"sieve",
119+
"simple-cipher",
120+
"space-age",
121+
"spiral-matrix",
122+
"state-of-tic-tac-toe",
123+
"strain",
124+
"sublist",
125+
"sum-of-multiples",
126+
"tournament",
127+
"transpose",
128+
"triangle",
129+
"trinary",
130+
"twelve-days",
131+
"two-bucket",
132+
"two-fer",
133+
"variable-length-quantity",
134+
"word-count",
135+
"wordy",
136+
"yacht",
137+
"zebra-puzzle",
138+
];
139+
}
140+
141+

phpcs.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,6 @@
4848
<exclude-pattern>*/*Test\.php</exclude-pattern>
4949
<exclude-pattern>*/.meta/*\.php</exclude-pattern>
5050
<exclude-pattern>src/*</exclude-pattern>
51+
<exclude-pattern>contribution/*.php</exclude-pattern>
5152
</rule>
5253
</ruleset>

0 commit comments

Comments
 (0)