-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest-patterns.sh
More file actions
executable file
·55 lines (48 loc) · 1.09 KB
/
test-patterns.sh
File metadata and controls
executable file
·55 lines (48 loc) · 1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env nix-shell
#! nix-shell -i bash --pure
#! nix-shell -p nodejs-slim python3 gcc jdk ghc dotnet-sdk
#! nix-shell -I nixpkgs=channel:nixos-25.05
for file in patterns/JavaScript/*/*.js;
do
node $file;
done
for file in patterns/Python/*/*.py;
do
python3 $file;
done
mkdir .build
for file in patterns/C/*/*.c;
do
cc $file -o .build/app.out;
done
rm -rf .build
for file in patterns/Java/*/*.java;
do
folder="$(dirname "$file")"
javac $file --source-path $folder -d .build;
done
rm -rf .build
mkdir .build
for file in patterns/Haskell/*/*.hs;
do
if [[ ! "$file" =~ ^"patterns/Haskell/y-combinator/" ]];
then
folder="./$(dirname "$file")"
fileName="$(basename "$file")"
fileNameWithOutExtension="${fileName%.*}"
cd $folder
ghc --make $fileName;
rm *.hi
rm *.o
rm -f $fileNameWithOutExtension
cd "../../../"
fi
done
rm -rf .build
for file in patterns/CSharp/*/*.csproj;
do
folder="$(dirname "$file")"
dotnet run --project $file
rm -rf $folder/bin
rm -rf $folder/obj
done