From e0caa14e03162d740afdc23e29ceceb199eb7a71 Mon Sep 17 00:00:00 2001 From: Lucas McDonald Date: Wed, 18 Sep 2024 11:56:54 -0700 Subject: [PATCH] fix(Python): Handle docformatter exit codes (#588) --- .../smithy/python/codegen/DirectedPythonCodegen.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/codegen/smithy-dafny-codegen-modules/smithy-python/codegen/smithy-python-codegen/src/main/java/software/amazon/smithy/python/codegen/DirectedPythonCodegen.java b/codegen/smithy-dafny-codegen-modules/smithy-python/codegen/smithy-python-codegen/src/main/java/software/amazon/smithy/python/codegen/DirectedPythonCodegen.java index c415e0a6f..9d03c56e6 100644 --- a/codegen/smithy-dafny-codegen-modules/smithy-python/codegen/smithy-python-codegen/src/main/java/software/amazon/smithy/python/codegen/DirectedPythonCodegen.java +++ b/codegen/smithy-dafny-codegen-modules/smithy-python/codegen/smithy-python-codegen/src/main/java/software/amazon/smithy/python/codegen/DirectedPythonCodegen.java @@ -361,7 +361,13 @@ private void formatDocstrings(FileManifest fileManifest) { return; } LOGGER.info("Running docformatter on generated code"); - CodegenUtils.runCommand("python3 -m docformatter --recursive .", fileManifest.getBaseDir()); + // docformatter exit codes: + // 0: docformatter did not make changes + // 1: docformatter made changes + // 2: Invalid docformatter usage (incorrect arguments, etc.) + // If docformatter returns exit codes 0 or 1, then exit 0 to CodegenUtils. Otherwise, exit 1. + CodegenUtils.runCommand( + "python3 -m docformatter --recursive --in-place .; [ $? -eq 0 ] || [ $? -eq 1 ] || exit 1", fileManifest.getBaseDir()); } private void runMypy(FileManifest fileManifest) {