初始化PHP-Xlswrite扩展
This commit is contained in:
332
library/libxlsxwriter/dev/release/release_check.sh
Executable file
332
library/libxlsxwriter/dev/release/release_check.sh
Executable file
@ -0,0 +1,332 @@
|
||||
#!/bin/bash
|
||||
|
||||
clear
|
||||
echo "|"
|
||||
echo "| Pre-release checks."
|
||||
echo "|"
|
||||
echo
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Run tests.
|
||||
#
|
||||
function check_test_status {
|
||||
|
||||
echo
|
||||
echo -n "Are all tests passing? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
|
||||
echo -n " Run all tests now? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please run: make test\n";
|
||||
exit 1
|
||||
else
|
||||
echo " Running tests...";
|
||||
make test
|
||||
check_test_status
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Run test for C++ const correctness.
|
||||
#
|
||||
function check_test_const {
|
||||
|
||||
echo
|
||||
echo -n "Is the const test passing? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
|
||||
echo -n " Run test now? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please run: make test_const\n";
|
||||
exit 1
|
||||
else
|
||||
echo " Running test...";
|
||||
make test_const
|
||||
check_test_const
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Run spellcheck.
|
||||
#
|
||||
function check_spellcheck {
|
||||
|
||||
echo
|
||||
echo -n "Is the spellcheck ok? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
|
||||
echo -n " Run spellcheck now? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please run: make spellcheck\n";
|
||||
exit 1
|
||||
else
|
||||
echo " Running spellcheck...";
|
||||
make spellcheck
|
||||
check_spellcheck
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Check Changes file is up to date.
|
||||
#
|
||||
function check_changefile {
|
||||
clear
|
||||
|
||||
echo "Latest change in Changes file: "
|
||||
perl -ne '$rev++ if /^##/; exit if $rev > 1; print " | $_"' Changes.txt
|
||||
|
||||
echo
|
||||
echo -n "Is the Changes file updated? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please update the Change file to proceed.\n";
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Check the versions are up to date.
|
||||
#
|
||||
function check_versions {
|
||||
|
||||
clear
|
||||
echo
|
||||
echo "Latest file versions: "
|
||||
echo
|
||||
|
||||
awk '/s.version / {print "\t" FILENAME "\t" $1 "\t" $3}' libxlsxwriter.podspec
|
||||
awk '/ LXW/ {print "\t" FILENAME "\t" $2 "\t" $3}' include/xlsxwriter.h
|
||||
|
||||
echo
|
||||
echo -n "Are the versions up to date? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo -n " Update versions? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please update the versions to proceed.\n";
|
||||
exit 1
|
||||
else
|
||||
echo " Updating versions...";
|
||||
perl -i dev/release/update_revison.pl include/xlsxwriter.h libxlsxwriter.podspec
|
||||
check_versions
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Check that the docs build cleanly.
|
||||
#
|
||||
function check_docs {
|
||||
|
||||
# clear
|
||||
echo
|
||||
echo -n "Do the docs build cleanly? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
|
||||
echo -n " Build docs now? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please run: make docs\n";
|
||||
exit 1
|
||||
else
|
||||
echo " Building docs...";
|
||||
make docs
|
||||
check_docs
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Generate the cocoapods umbrella file.
|
||||
#
|
||||
function gen_umbrella_file {
|
||||
|
||||
echo
|
||||
echo -n "Is the umbrella file up to date? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
|
||||
echo -n " Update umbrella file now? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please update cocoapods/libxlsxwriter-umbrella.h\n";
|
||||
exit 1
|
||||
else
|
||||
echo " Updating file...";
|
||||
perl dev/release/gen_umbrella_file.pl > cocoapods/libxlsxwriter-umbrella.h
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Check the cocoapods spec file.
|
||||
#
|
||||
function check_pod_spec {
|
||||
|
||||
echo
|
||||
echo -n "Is the coacoapod file ok? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
|
||||
echo -n " Run lint now? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please run: pod spec lint libxlsxwriter.podspec\n";
|
||||
exit 1
|
||||
else
|
||||
echo " Running lint...";
|
||||
pod spec lint libxlsxwriter.podspec --use-libraries
|
||||
check_pod_spec
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Update the pod repo. This can take some time.
|
||||
#
|
||||
function update_pod_repo {
|
||||
|
||||
echo
|
||||
echo -n "Is the pod repo updated? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
|
||||
echo -n " Update now? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please run: pod spec lint libxlsxwriter.podspec\n";
|
||||
exit 1
|
||||
else
|
||||
echo " Running update...";
|
||||
cd ~/.cocoapods/repos/master
|
||||
git pull --ff-only
|
||||
cd -
|
||||
update_pod_repo
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# Run release checks.
|
||||
#
|
||||
function check_git_status {
|
||||
|
||||
clear
|
||||
|
||||
echo "Git status: "
|
||||
git status | awk '{print " | ", $0}'
|
||||
|
||||
echo "Git log: "
|
||||
git log -1 | awk '{print " | ", $0}'
|
||||
|
||||
echo "Git latest tag: "
|
||||
git tag -l -n1 | tail -1 | awk '{print " | ", $0}'
|
||||
|
||||
echo
|
||||
echo -n "Is the git status okay? [y/N]: "
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" != "y" ]; then
|
||||
echo
|
||||
echo -e "Please fix git status.\n";
|
||||
|
||||
echo -e "\ngit add -u";
|
||||
git tag -l -n1 | tail -1 | perl -lane 'printf "git commit -m \"Prep for release %s\"\ngit tag \"%s\"\n\n", $F[4], $F[0]' | perl dev/release/update_revison.pl
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_test_status
|
||||
clear
|
||||
check_test_const
|
||||
clear
|
||||
check_spellcheck
|
||||
clear
|
||||
check_docs
|
||||
check_changefile
|
||||
clear
|
||||
gen_umbrella_file
|
||||
check_pod_spec
|
||||
clear
|
||||
update_pod_repo
|
||||
check_versions
|
||||
check_git_status
|
||||
|
||||
|
||||
#############################################################
|
||||
#
|
||||
# All checks complete.
|
||||
#
|
||||
clear
|
||||
echo
|
||||
echo "Everything is configured.";
|
||||
echo
|
||||
|
||||
echo -n "Confirm release: [y/N]: ";
|
||||
read RESPONSE
|
||||
|
||||
if [ "$RESPONSE" == "y" ]; then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
Reference in New Issue
Block a user