2017-07-21 05:53:44 +02:00
|
|
|
# Converts the examples in the `examples` directory into documentation in the
|
|
|
|
# `examples` module (`src/examples/*.rs`)
|
|
|
|
|
|
|
|
set -ex
|
|
|
|
|
|
|
|
main() {
|
|
|
|
local examples=(
|
|
|
|
zero-tasks
|
|
|
|
one-task
|
|
|
|
two-tasks
|
|
|
|
preemption
|
|
|
|
nested
|
2017-11-22 09:27:14 +01:00
|
|
|
late-resources
|
2017-07-21 05:53:44 +02:00
|
|
|
generics
|
|
|
|
full-syntax
|
|
|
|
)
|
|
|
|
|
|
|
|
rm -rf src/examples
|
|
|
|
|
|
|
|
mkdir src/examples
|
|
|
|
|
|
|
|
cat >src/examples/mod.rs <<'EOF'
|
|
|
|
//! Examples
|
|
|
|
// Auto-generated. Do not modify.
|
|
|
|
EOF
|
|
|
|
|
|
|
|
local i=0 out=
|
|
|
|
for ex in ${examples[@]}; do
|
|
|
|
name=_${i}_${ex//-/_}
|
|
|
|
out=src/examples/${name}.rs
|
|
|
|
|
|
|
|
echo "pub mod $name;" >> src/examples/mod.rs
|
|
|
|
|
|
|
|
grep '//!' examples/$ex.rs > $out
|
|
|
|
echo '//!' >> $out
|
|
|
|
echo '//! ```' >> $out
|
|
|
|
grep -v '//!' examples/$ex.rs | (
|
|
|
|
IFS=''
|
|
|
|
|
|
|
|
while read line; do
|
|
|
|
echo "//! $line" >> $out;
|
|
|
|
done
|
|
|
|
)
|
|
|
|
echo '//! ```' >> $out
|
|
|
|
echo '// Auto-generated. Do not modify.' >> $out
|
|
|
|
|
|
|
|
|
|
|
|
chmod -x $out
|
|
|
|
|
|
|
|
i=$(( i + 1 ))
|
|
|
|
done
|
|
|
|
|
|
|
|
chmod -x src/examples/mod.rs
|
|
|
|
}
|
|
|
|
|
|
|
|
main
|