name: shellcheck
summary: A shell script static analysis tool
description: |
  ShellCheck is a GPLv3 tool that gives warnings and suggestions for bash/sh
  shell scripts.

  The goals of ShellCheck are

  - To point out and clarify typical beginner's syntax issues that cause a
    shell to give cryptic error messages.

  - To point out and clarify typical intermediate level semantic problems that
    cause a shell to behave strangely and counter-intuitively.

  - To point out subtle caveats, corner cases and pitfalls that may cause an
    advanced user's otherwise working script to fail under future
    circumstances.

  By default ShellCheck can only check non-hidden files under /home, to make
  ShellCheck be able to check files under /media and /run/media you must
  connect it to the `removable-media` interface manually:

      # snap connect shellcheck:removable-media

version: git
base: core18
grade: stable
confinement: strict

apps:
  shellcheck:
    command: usr/bin/shellcheck
    plugs: [home, removable-media]
    environment:
      LANG: C.UTF-8

parts:
  shellcheck:
    plugin: dump
    source: .
    build-packages:
      - cabal-install
      - squid
    override-build: |
      # See comments in .snapsquid.conf
      [ "$http_proxy" ] && {
        squid3 -f .snapsquid.conf
        export http_proxy="http://localhost:8888"
        sleep 3
      }
      cabal sandbox init
      cabal update || cat /var/log/squid/*
      cabal install -j

      install -d $SNAPCRAFT_PART_INSTALL/usr/bin
      install .cabal-sandbox/bin/shellcheck $SNAPCRAFT_PART_INSTALL/usr/bin