-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathfetch-test-cases.sh
More file actions
executable file
·72 lines (61 loc) · 1.95 KB
/
Copy pathfetch-test-cases.sh
File metadata and controls
executable file
·72 lines (61 loc) · 1.95 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/env bash
set -Eeuo pipefail
# --- config ---
target_dir="target"
resources_dir="src/test/resources"
shapes_resources_dir="src/main/resources/shapes"
repos=(
"rml-core"
"rml-cc"
"rml-io"
"rml-fnml"
"rml-lv"
"rml-star"
)
trap 'echo; echo "Error occurred."; echo "• Check the repository URLs and your internet connection."; echo "• Verify you have permissions to create/write to \"$target_dir\"."; exit 1' ERR
# Check prerequisites
command -v git >/dev/null 2>&1 || { echo "git is required but not found in PATH."; exit 1; }
echo "Creating $target_dir directory..."
mkdir -p "$target_dir"
echo "Entering $target_dir..."
cd "$target_dir"
# Clone all repositories
for repo in "${repos[@]}"; do
echo "Cloning https://github.com/kg-construct/$repo ..."
git clone "https://github.com/kg-construct/$repo"
done
echo "All repositories cloned successfully into $target_dir"
# Copy test-cases into ../src/test/resources/<repo>
echo "Copying test-case directories to ../$resources_dir ..."
for repo in "${repos[@]}"; do
src="$repo/test-cases"
dest="../$resources_dir/$repo"
if [[ -d "$src" ]]; then
mkdir -p "$dest"
# -a to preserve attrs; -r for recursive; --no-target-directory not needed here
cp -a "$src/." "$dest/"
echo "• Copied $src -> $dest"
else
echo "• Skipped $repo (no test-cases directory found)"
fi
done
# Copy shapes into ../src/main/resources/<repo>
echo "Copying shapes directories to ../$shapes_resources_dir ..."
for repo in "${repos[@]}"; do
src="$repo/shapes"
dest="../$shapes_resources_dir/$repo"
if [[ -d "$src" ]]; then
mkdir -p "$dest"
# -a to preserve attrs; -r for recursive; --no-target-directory not needed here
cp -a "$src/." "$dest/"
echo "• Copied $src -> $dest"
else
echo "• Skipped $repo (no shapes directory found)"
fi
done
# Remove cloned repositories
echo "Cleaning up cloned repositories..."
for repo in "${repos[@]}"; do
rm -rf "./$repo"
done
echo "Done."