#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(dirname -- "$(readlink -f -- "${BASH_SOURCE[0]}")")" STACKS_DIR="${STACKS_DIR:-$SCRIPT_DIR}" docker_args=(--rm -v "$STACKS_DIR:/app") dclint_args=() if [[ -t 1 ]]; then docker_args+=(-t) fi # Scan immediate stack directories without recursing into their subdirectories. shopt -s nullglob for stack_dir in "$STACKS_DIR"/*/; do stack_dir="${stack_dir%/}" dclint_args+=("/app/${stack_dir##*/}") done if ((${#dclint_args[@]} == 0)); then printf 'No stack directories found in %s\n' "$STACKS_DIR" >&2 exit 1 fi case "${1:-}" in "") ;; --fix) dclint_args+=(--fix) ;; *) printf 'Usage: %s [--fix]\n' "${0##*/}" >&2 exit 2 ;; esac exec docker run "${docker_args[@]}" \ zavoloklom/dclint \ "${dclint_args[@]}"