Skip to content

Commit 68513a0

Browse files
Make build use less disk space and resumable
1 parent 86ec449 commit 68513a0

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

build.sh

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,28 +17,31 @@ package_scripts() {
1717
local combined_folder=$2
1818
local scripts=$3
1919
local train_libs=$4
20-
21-
rm -rf dist/
20+
local completed_file="dist/completed_$combined_folder.txt"
21+
22+
if ! [ -f "$completed_file" ]; then
23+
rm -rf "dist/$combined_folder"
24+
fi
25+
mkdir -p "dist/$combined_folder"
2226

2327
for script in $scripts; do
28+
exe=precise-$(echo "$script" | tr '_' '-')
29+
if [ -f "$completed_file" ] && grep -qF "exe" "$completed_file"; then
30+
continue
31+
fi
2432
tmp_name=$(mktemp).spec
2533
cat "precise.template.spec" | replace "%%SCRIPT%%" "$script" | replace "%%TRAIN_LIBS%%" "$train_libs" > "$tmp_name"
2634
pyinstaller -y "$tmp_name"
27-
done
28-
29-
local items=dist/*
30-
for i in $items; do
31-
mkdir -p "dist/$combined_folder"
32-
if [ "$(readlink -f "$i")" != "$(readlink -f "dist/$combined_folder")" ]; then
33-
cp -R $i/* "dist/$combined_folder"
34-
fi
35+
cp -R dist/$exe/* "dist/$combined_folder"
36+
rm -rf "dist/$exe" "build/$exe"
37+
echo "$exe" >> "$completed_file"
3538
done
3639

3740
out_name=$(tar_name "$tar_prefix")
3841
cd dist
3942
tar czvf "$out_name" "$combined_folder"
43+
md5sum "$out_name" > "$out_name.md5"
4044
cd ..
41-
mv "dist/$out_name" .
4245
}
4346

4447
set -eE
@@ -51,6 +54,6 @@ all_scripts=$(grep -oP '(?<=precise.scripts.)[a-z_]+' setup.py)
5154
package_scripts "precise-all" "precise" "$all_scripts" True
5255
package_scripts "precise-engine" "precise-engine" "engine" False
5356

54-
tar_1=$(tar_name precise-all)
55-
tar_2=$(tar_name precise-engine)
57+
tar_1=dist/$(tar_name precise-all)
58+
tar_2=dist/$(tar_name precise-engine)
5659
echo "Wrote to $tar_1 and $tar_2"

0 commit comments

Comments
 (0)