ripgrep/ci/before_deploy.sh
Andrew Gallant 6553940328 doc: generate man page
This commit uses the recent refactoring for defining flags to
automatically generate a man page. This finally allows us to define the
documentation for each flag in a single place.

The man page is generated on every build, if and only if `asciidoc` is
installed. When generated, it is placed in Cargo's `OUT_DIR` directory,
which is the same place that shell completions live.
2018-02-06 12:07:59 -05:00

53 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# package the build artifacts
set -ex
. "$(dirname $0)/utils.sh"
# Generate artifacts for release
mk_artifacts() {
if is_ssse3_target; then
RUSTFLAGS="-C target-feature=+ssse3" \
cargo build --target "$TARGET" --release --features simd-accel
else
cargo build --target "$TARGET" --release
fi
}
mk_tarball() {
local gcc_prefix="$(gcc_prefix)"
local td="$(mktemp -d)"
local name="${PROJECT_NAME}-${TRAVIS_TAG}-${TARGET}"
local staging="$td/$name"
mkdir -p "$staging/complete"
local out_dir="$(pwd)/deployment"
mkdir -p "$out_dir"
# Copy the ripgrep binary and strip it.
cp target/$TARGET/release/rg "$staging/rg"
"${gcc_prefix}strip" "$staging/rg"
# Copy the README and licenses.
cp {README.md,UNLICENSE,COPYING,LICENSE-MIT} "$staging/"
# Copy shell completion files.
cp \
target/"$TARGET"/release/build/ripgrep-*/out/{rg.bash,rg.fish,_rg.ps1} \
"$staging/complete/"
cp complete/_rg "$td/$name/complete/"
# Copy man page.
cp \
target/"$TARGET"/release/build/ripgrep-*/out/rg.1 \
"$td/$name/"
(cd "$td" && tar czf "$out_dir/$name.tar.gz" *)
rm -rf "$td"
}
main() {
mk_artifacts
mk_tarball
}
main