aboutsummaryrefslogblamecommitdiffstats
path: root/build.sh
blob: 3ec64a5b33283e9c9815ba9a5ab2d193b1e87ba1 (plain) (tree)
1
2
3
4
5
6
7
8
9

           

                

              
                                                                                                                                                                                            
                                                                     
                              
 




                                                                              

                                                                                             
                  






                                                                               
#!/bin/bash

shopt -s extglob

mkdir -p build

contents="$(cat slack/python_compatibility.py slack/util.py slack/shared.py slack/task.py slack/slack_message.py slack/!(python_compatibility|util|shared|task|slack_message).py main.py | \
  perl -0777 -pe 's/^( *from [^(\n]+\([^)]+\))/$1=~s|\n+||gr/mge' | \
  grep -Ev '^from slack[. ]')"

(
  echo "# This is a compiled file."
  echo "# For the original source, see https://github.com/wee-slack/wee-slack"
  echo
  echo "$contents" | grep '^from __future__' | sort -u
  echo "$contents" | grep -v '^from __future__' | grep -E '^(import|from) ' | sort -u
  echo "$contents" | grep -Ev '^(import|from) ' | sed 's/^\( \+\)\(import\|from\) .*/\1pass/'
) > build/slack.py

ruff_cmd="$(poetry run sh -c 'command -v ruff' 2>/dev/null || command -v ruff)"

if [ -x "$ruff_cmd" ]; then
  "$ruff_cmd" check -q --fix-only --target-version py37 build/slack.py
  "$ruff_cmd" format -q --target-version py37 build/slack.py
fi