mirror of https://github.com/icedland/iced.git
Add `build/build-lua`
This commit is contained in:
parent
ac375d237b
commit
417ae271ca
|
@ -0,0 +1,159 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
root_dir=$(dirname "$0")
|
||||||
|
root_dir=$(cd "$root_dir/.." && pwd)
|
||||||
|
if [ ! -f "$root_dir/LICENSE.txt" ]; then
|
||||||
|
echo "Couldn't find the root dir"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
luasrc_dir="$root_dir/src/rust/iced-x86-lua"
|
||||||
|
cargo_toml="$luasrc_dir/Cargo.toml"
|
||||||
|
|
||||||
|
full_check=y
|
||||||
|
set_rustflags=y
|
||||||
|
|
||||||
|
new_func() {
|
||||||
|
echo
|
||||||
|
echo "****************************************************************"
|
||||||
|
echo "$1"
|
||||||
|
echo "****************************************************************"
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
patchci_verify_not_patched() {
|
||||||
|
# msys grep fails if we use $
|
||||||
|
if ! grep -E '^#pathci' "$cargo_toml" 2>&1 > /dev/null; then
|
||||||
|
echo "Cargo.toml is patched"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
patchci_verify_patched() {
|
||||||
|
# msys grep fails if we use $
|
||||||
|
if grep -E '^#pathci' "$cargo_toml" 2>&1 > /dev/null; then
|
||||||
|
echo "Cargo.toml is not patched"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# We must reference the current iced-x86 code so we can't use the crates.io crate
|
||||||
|
# since it hasn't been pushed yet. We patch lua/Cargo.toml to point to the current
|
||||||
|
# source code.
|
||||||
|
#
|
||||||
|
# The sdist's Cargo.toml must be the original file though or they won't be able
|
||||||
|
# to build it once it's been published.
|
||||||
|
patchci_patch() {
|
||||||
|
patchci_verify_not_patched
|
||||||
|
|
||||||
|
curr_dir=$(pwd)
|
||||||
|
cd "$root_dir"
|
||||||
|
|
||||||
|
if [ "$OSTYPE" = "msys" ]; then
|
||||||
|
iced_x86_dir="$(pwd -W)/src/rust/iced-x86"
|
||||||
|
else
|
||||||
|
iced_x86_dir="$(pwd)/src/rust/iced-x86"
|
||||||
|
fi
|
||||||
|
if [ ! -d "$iced_x86_dir" ]; then
|
||||||
|
echo "Dir does not exist: $iced_x86_dir"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed -i -e "s&^#pathci$&path = \"$iced_x86_dir\"&" "$cargo_toml"
|
||||||
|
|
||||||
|
cd "$curr_dir"
|
||||||
|
}
|
||||||
|
|
||||||
|
patchci_undo_patch() {
|
||||||
|
git checkout "$cargo_toml"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_test_rock() {
|
||||||
|
(build_test_rock_lua 5 1)
|
||||||
|
(build_test_rock_lua 5 2)
|
||||||
|
(build_test_rock_lua 5 3)
|
||||||
|
(build_test_rock_lua 5 4)
|
||||||
|
}
|
||||||
|
|
||||||
|
build_test_rock_lua() {
|
||||||
|
lua_maj=$1
|
||||||
|
lua_min=$2
|
||||||
|
lua="lua$lua_maj.$lua_min"
|
||||||
|
|
||||||
|
new_func "Building and testing rock (Lua $lua_maj.$lua_min)"
|
||||||
|
|
||||||
|
cd "$luasrc_dir"
|
||||||
|
|
||||||
|
luarocks make iced_x86-*.rockspec --local --lua-version $lua_maj.$lua_min
|
||||||
|
|
||||||
|
eval $(luarocks path --lua-version $lua_maj.$lua_min)
|
||||||
|
busted_filename=/tmp/tmp-busted-runner
|
||||||
|
echo "require 'busted.runner'({ standalone = false })" > "$busted_filename"
|
||||||
|
"$lua" -- "$busted_filename" -m "./tests/?.lua" tests
|
||||||
|
|
||||||
|
luarocks remove iced_x86 --local --lua-version $lua_maj.$lua_min
|
||||||
|
}
|
||||||
|
|
||||||
|
misc_tests() {
|
||||||
|
new_func "clippy, fmt, stylua"
|
||||||
|
|
||||||
|
curr_dir=$(pwd)
|
||||||
|
cd "$luasrc_dir"
|
||||||
|
|
||||||
|
patchci_verify_patched
|
||||||
|
|
||||||
|
set -- \
|
||||||
|
"lua51" \
|
||||||
|
"lua52" \
|
||||||
|
"lua53" \
|
||||||
|
"lua54"
|
||||||
|
for features in "$@"; do
|
||||||
|
echo "==== CLIPPY RELEASE $features ===="
|
||||||
|
cargo clippy --color always --release --features "$features"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "==== RUST FORMAT CHECK ===="
|
||||||
|
cargo fmt -- --color always --check
|
||||||
|
|
||||||
|
echo "==== LUA FORMAT CHECK ===="
|
||||||
|
stylua --color always --check tests -f ./stylua.toml
|
||||||
|
|
||||||
|
cd "$curr_dir"
|
||||||
|
}
|
||||||
|
|
||||||
|
while [ "$#" -gt 0 ]; do
|
||||||
|
case $1 in
|
||||||
|
--quick-check) full_check=n ;;
|
||||||
|
--no-set-rustflags) set_rustflags=n ;;
|
||||||
|
*) echo "Unknown arg: $1"; exit 1 ;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "=================================================="
|
||||||
|
echo "Lua build"
|
||||||
|
echo "=================================================="
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [ "$set_rustflags" = "y" ]; then
|
||||||
|
export RUSTFLAGS="-D warnings"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "rustup show"
|
||||||
|
rustup show
|
||||||
|
echo "cargo version"
|
||||||
|
cargo --version
|
||||||
|
echo "Rust version"
|
||||||
|
rustc --version
|
||||||
|
echo "luarocks version"
|
||||||
|
luarocks --version
|
||||||
|
echo "stylua version"
|
||||||
|
stylua --version
|
||||||
|
|
||||||
|
patchci_patch
|
||||||
|
build_test_rock
|
||||||
|
if [ "$full_check" = "y" ]; then
|
||||||
|
misc_tests
|
||||||
|
fi
|
||||||
|
patchci_undo_patch
|
|
@ -0,0 +1,5 @@
|
||||||
|
column_width = 120
|
||||||
|
indent_type = "Tabs"
|
||||||
|
indent_width = 4
|
||||||
|
quote_style = "AutoPreferDouble"
|
||||||
|
call_parentheses = "Always"
|
Loading…
Reference in New Issue