roc/www/build.sh
2021-08-08 15:57:56 -04:00

32 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -euxo pipefail
# cd into the directory where this script lives.
# This allows us to run this script from the root project directory,
# which is what Netlify wants to do.
SCRIPT_RELATIVE_DIR=$(dirname "${BASH_SOURCE[0]}")
cd $SCRIPT_RELATIVE_DIR
rm -rf build/
cp -r public/ build/
pushd ..
echo 'Generating docs...'
cargo --version
rustc --version
# We run the CLI with --no-default-features because that way we don't have the
# "llvm" feature and therefore don't depend on LLVM being installed on the
# system. (Netlify's build servers have Rust installed, but not LLVM.)
#
# We set RUSTFLAGS to -Awarnings to ignore warnings during this build,
# because when building without "the" llvm feature (which is only ever done
# for this exact use case), the result is lots of "unused" warnings!
#
# We set ROC_DOCS_ROOT_DIR=builtins so that links will be generated relative to
# "/builtins/" rather than "/" - which is what we want based on how the server
# is set up to serve them.
RUSTFLAGS=-Awarnings ROC_DOCS_URL_ROOT=builtins cargo run -p roc_cli --no-default-features docs compiler/builtins/docs/Bool.roc compiler/builtins/docs/Str.roc compiler/builtins/docs/Num.roc compiler/builtins/docs/List.roc
mv generated-docs/ www/build/builtins
popd