java-properties 2.0.0

A library for reading and writing Java properties files in Rust.
Documentation
#!/bin/bash

set -e

if git-rev-parse --verify HEAD >/dev/null 2>&1
then
    against=HEAD
else
    # Initial commit: diff against an empty tree object
    against=4b825dc642cb6eb9a060e54bf8d69288fbee4904
fi

function grep-check {
    test="$1"
    ignore="$2"
    msg="$3"
    if (git diff --cached | egrep -i "$test" | grep -v IGNORE:"$ignore"); then
        echo "Error: $msg  (This message can be suppressed by adding the string IGNORE:$ignore to the same line.)"
        exit 1
    fi
}

function grep-check-case-sensitive {
    test="$1"
    ignore="$2"
    msg="$3"
    if (git diff --cached | egrep "$test" | grep -v IGNORE:"$ignore"); then
        echo "Error: $msg  (This message can be suppressed by adding the string IGNORE:$ignore to the same line.)"
        exit 1
    fi
}

grep-check-case-sensitive \
    NOCOMMIT `#IGNORE:NOCOMMIT` \
    NOCOMMIT `#IGNORE:NOCOMMIT` \
    "Found a line tagged with NOCOMMIT." # IGNORE:NOCOMMIT

cargo fmt --all -- --check
cargo build --all-targets
cargo test --release

# Check for trailing whitespace
exec git diff-index --check --cached $against --