From f50fcf9f4ed05f9d0e221f9bc1da05422cd3e7bd Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Wed, 11 May 2022 09:15:32 +0200 Subject: [PATCH] chore: delete per-app format scripts Now that all apps are formated, we no longer need per-app format script --- Makefile | 4 +++ scripts/check-format.sh | 6 +--- scripts/format_app.py | 74 ----------------------------------------- 3 files changed, 5 insertions(+), 79 deletions(-) delete mode 100755 scripts/format_app.py diff --git a/Makefile b/Makefile index a8893e2a7..9bcae907d 100644 --- a/Makefile +++ b/Makefile @@ -244,3 +244,7 @@ $1-elixir-tgz: $(COMMON_DEPS) $(ELIXIR_COMMON_DEPS) mix-deps-get endef ALL_ELIXIR_TGZS = $(REL_PROFILES) $(foreach tt,$(ALL_ELIXIR_TGZS),$(eval $(call gen-elixir-tgz-target,$(tt)))) + +.PHONY: fmt +fmt: $(REBAR) + @./scripts/erlfmt -w '{apps,lib-ee}/*/{src,include,test}/**/*.{erl,hrl,app.src}' diff --git a/scripts/check-format.sh b/scripts/check-format.sh index 66165833f..497e23f7c 100755 --- a/scripts/check-format.sh +++ b/scripts/check-format.sh @@ -7,11 +7,7 @@ set -euo pipefail cd -P -- "$(dirname -- "$0")/.." -APPS="$(./scripts/find-apps.sh | xargs)" -for app in ${APPS}; do - echo "$app ..." - ./scripts/format_app.py -a "$app" -f -done +make fmt DIFF_FILES="$(git diff --name-only)" if [ "$DIFF_FILES" != '' ]; then diff --git a/scripts/format_app.py b/scripts/format_app.py deleted file mode 100755 index 671630b15..000000000 --- a/scripts/format_app.py +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env python3 - -# format_app.py - -import argparse -import os -import re -import subprocess -import sys - - -def handle_cli_args(): - parser = argparse.ArgumentParser(description='A script for formatting a given app within emqx') - parser.add_argument("-a", "--application", required=True, help="The relative path to the application which is to be formatted.") - parser.add_argument('-b', "--branch", help="The git branch to be switched to before formatting the code. Required unless the -f option is passed in which case the value will be ignored even if provided.") - parser.add_argument('-f', "--format_in_place", default=False, action="store_true", help="Pass the -f option to format on the current git branch, otherwise a branch name must be provided by passing the -b option.") - args = parser.parse_args() - - if not args.format_in_place and not args.branch: - sys.exit("A new git branch name must be provided with the -b option unless the -f option is given to format the code in place.") - - return args - - -def get_app_path(application): - root_path = os.path.dirname(os.path.realpath(__file__)) - full_path = f"{root_path}/../{application}" - if os.path.isdir(full_path): - return full_path - sys.exit(f"The application provided ({application}) does not appear at the expected location: {full_path}") - - -def maybe_switch_git_branch(format_in_place, branch): - if not format_in_place: - PIPE = subprocess.PIPE - process = subprocess.Popen(["git", "status"], stdout=PIPE, text=True) - stdoutput, stderroutput = process.communicate() - - if f"On branch {branch}" in stdoutput: - return - elif "working tree clean" in stdoutput: - subprocess.call(["git", "checkout", "-b", branch]) - else: - sys.exit("Cannot switch git branches while there are changes waiting to be committed.") - - -def maybe_add_rebar_plugin(): - with open("rebar.config", "r+") as f: - text = f.read() - erlfmt_pattern = "\{project_plugins.+?erlfmt.+\}" - plugin_pattern = "\{project_plugins.+?\}" - - if not re.search(erlfmt_pattern, text) and not re.search(plugin_pattern, text): - f.write("\n{project_plugins, [erlfmt]}.\n") - elif not re.search(erlfmt_pattern, text) and re.search(plugin_pattern, text): - sys.exit("Could not find the erlfmt plugin but the 'project_plugins' declaration already exists. Please add 'erlfmt' to the plugins list manually and rerun the script.") - - -def execute_formatting(): - subprocess.call(["rebar3", "fmt", "-w", "{src,include,test}/**/*.{hrl,erl,app.src}"]) - subprocess.call(["rebar3", "fmt", "-w", "rebar.config"]) - - -def main(): - args = handle_cli_args() - app_path = get_app_path(args.application) - os.chdir(app_path) - maybe_switch_git_branch(args.format_in_place, args.branch) - maybe_add_rebar_plugin() - execute_formatting() - - -if __name__ == "__main__": - main()