Skip to content

Latest commit

 

History

History
212 lines (150 loc) · 2.2 KB

Makefile.rust.md

File metadata and controls

212 lines (150 loc) · 2.2 KB

all

  • clippy
  • test
  • build
  • doc

check

  • outdated
  • audit

update

  • update-toml
  • update-lock

run

  • target/release/{dirname}
target/release/{dirname}

clippy

  • Cargo.lock
  • Cargo.toml
  • **/*.rs
cargo clippy -- -D clippy::all

test

  • Cargo.lock
  • Cargo.toml
  • **/*.rs
cargo test

bench

cargo bench -q 2>&1 |tee benches/report.txt

build

  • target/release/{dirname}

target/release/{dirname}

  • Cargo.lock
  • Cargo.toml
  • **/*.rs
  • README.md
cargo build --release

README.md

  • t/README.md
  • Cargo.toml
  • CHANGELOG.md
  • **/*.rs
cargo build --release
kapow {0} >{target}

doc

cargo doc

outdated

cargo outdated --exit-code=1

audit

cargo audit

update-toml

cargo upgrade -i

update-lock

cargo update

install

  • README.md
cargo install --path .

uninstall

cargo uninstall {dirname}

install-deps

cargo install cargo-audit cargo-edit cargo-outdated cocomo dtg kapow tokei toml-cli

scaffold

if ! toml get -r Cargo.toml package.description >/dev/null; then
toml set Cargo.toml package.description "Insert a description here" >Cargo.toml.new
mv Cargo.toml.new Cargo.toml
echo Edit package description in Cargo.toml, then rerun \`mkrs scaffold\`.
exit 0
fi
mkdir -p t
if [ ! -e t/README.md ]; then
NAME=$(toml get -r Cargo.toml package.name)
ABOUT=$(toml get -r Cargo.toml package.description)
cat <<EOF >t/README.md
# About

$ABOUT

# Usage

~~~~text
\$ $NAME -V
!run:../target/release/$NAME -V 2>&1
~~~~

~~~~text
\$ $NAME -h
!run:../target/release/$NAME -h 2>&1
~~~~

!inc:../CHANGELOG.md

EOF
fi
if [ ! -e CHANGELOG.md ]; then
VERSION=$(toml get -r Cargo.toml package.version)
TODAY=$(dtg -n %Y-%m-%d)
cat <<EOF >CHANGELOG.md
# Changelog

* $VERSION ($TODAY): Initial release

EOF
fi

clean

cargo clean

cocomo

tokei; echo
cocomo -o sloccount
cocomo

commit

set -xeo pipefail
V=$(toml get -r Cargo.toml package.version)
git commit -m "$V"
git tag -a "$V" -m "$V"

publish

cargo publish
git push
git push --tags

full

  • update
  • check
  • all
  • install