From e97526797713dab0392d72f5535bff95ac6949f5 Mon Sep 17 00:00:00 2001 From: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com> Date: Wed, 26 May 2021 10:43:35 -0700 Subject: [PATCH 1/4] Unify README embedme Usage into a Wrapper Script --- eng/scripts/invoke_embedme.py | 67 ++++++++++++++++ sdk/parents/azure-client-sdk-parent/pom.xml | 86 ++------------------- 2 files changed, 75 insertions(+), 78 deletions(-) create mode 100644 eng/scripts/invoke_embedme.py diff --git a/eng/scripts/invoke_embedme.py b/eng/scripts/invoke_embedme.py new file mode 100644 index 000000000000..00fb0a6148d6 --- /dev/null +++ b/eng/scripts/invoke_embedme.py @@ -0,0 +1,67 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +# Python version 3.4 or higher is required to run this script. + +# Use case: Invokes embedme README codesnippet generation and validation regardless of OS. +# +# Flags +# --readme/-r: Path to the README. +# --verify/-v: Flag indicating to only perform a dry-run validation. +# --debug/-d: Flag indicating to perform debug level logging. +# +# For example: Generating README codesnippets for Azure Storage Blobs. +# python eng/scripts/invoke_embedme.py -r sdk/storage/azure-storage-blob/README.md +# +# For example: Valdate README codesnippets for Azure Core. +# python eng/scripts/invoke_embedme.py -r sdk/core/azure-core/README.md -v +# +# The script must be run at the root of azure-sdk-for-java. + +import argparse +import os +import subprocess +import sys + +# From this file get to the root path of the repo. +root_path = os.path.normpath(os.path.abspath(__file__) + '/../../../') + +# NPX command for Windows OS. +windows_command = 'npx.cmd' + +# NPX command for Posix OSes. +posix_command = 'npx' + +# Invoke embedme. +def invoke_embedme(readme: str, verify: bool, debug: bool): + command = '' + if os.name == 'nt': + command = windows_command + else: + command = posix_command + + command += ' embedme' + + # If the passed README path was relative + command += ' ' + os.path.abspath(readme) + + + if verify: + command += ' --verify' + + if debug: + print('Running embedme command: {}'.format(command)) + + sys.exit(os.system(command)) + +def main(): + parser = argparse.ArgumentParser(description='Invokes embedme README codesnippet generation and validation regardless of OS.') + parser.add_argument('--readme', '-r', type=str, required=True, help='Path to the README') + parser.add_argument('--verify', '-v', action='store_true', help='Flag indicating to only perform a dry-run validation') + parser.add_argument('--debug', '-d', action='store_true', help='Flag indicating to perform debug level logging') + args = parser.parse_args() + + invoke_embedme(args.readme, args.verify, args.debug) + +if __name__ == '__main__': + main() diff --git a/sdk/parents/azure-client-sdk-parent/pom.xml b/sdk/parents/azure-client-sdk-parent/pom.xml index 58a76c67659b..a55a53afed88 100644 --- a/sdk/parents/azure-client-sdk-parent/pom.xml +++ b/sdk/parents/azure-client-sdk-parent/pom.xml @@ -947,41 +947,6 @@ - - - readme-codesnippet-windows - - - readme-codesnippet-windows - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.2.1 - - - code-snippet-for-readme-windows - prepare-package - - exec - - - npx.cmd - - embedme - ${project.basedir}/README.md - - - - - - - - - @@ -1005,45 +970,10 @@ exec - npx - - embedme - ${project.basedir}/README.md - - - - - - - - - - - - verify-readme-windows - - - verify-readme-windows - - - - - - org.codehaus.mojo - exec-maven-plugin - 1.2.1 - - - verify-readme-codesnippet-windows - prepare-package - - exec - - - npx.cmd + python - embedme - --verify + ../../../eng/scripts/invoke_embedme.py + --readme ${project.basedir}/README.md @@ -1054,8 +984,7 @@ - + verify-readme @@ -1077,11 +1006,12 @@ exec - npx + python - embedme - --verify + ../../../eng/scripts/invoke_embedme.py + --readme ${project.basedir}/README.md + --verify From 0f2e4bdab70f810e63f05bc259c6a78faa904906 Mon Sep 17 00:00:00 2001 From: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com> Date: Wed, 26 May 2021 11:20:54 -0700 Subject: [PATCH 2/4] Remove dead code --- eng/scripts/invoke_embedme.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/eng/scripts/invoke_embedme.py b/eng/scripts/invoke_embedme.py index 00fb0a6148d6..fe0cf87e814f 100644 --- a/eng/scripts/invoke_embedme.py +++ b/eng/scripts/invoke_embedme.py @@ -20,12 +20,8 @@ import argparse import os -import subprocess import sys -# From this file get to the root path of the repo. -root_path = os.path.normpath(os.path.abspath(__file__) + '/../../../') - # NPX command for Windows OS. windows_command = 'npx.cmd' From f81fae10ac819ade223cefa726505314bda7c771 Mon Sep 17 00:00:00 2001 From: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com> Date: Thu, 27 May 2021 09:31:33 -0700 Subject: [PATCH 3/4] Use npx always, add property to parent POM to handle different relative paths to /eng --- common/perf-test-core/pom.xml | 98 +++++++++++---------- eng/scripts/invoke_embedme.py | 16 +--- sdk/parents/azure-client-sdk-parent/pom.xml | 35 ++++---- 3 files changed, 72 insertions(+), 77 deletions(-) diff --git a/common/perf-test-core/pom.xml b/common/perf-test-core/pom.xml index 2be69e452344..25dfd1f86639 100644 --- a/common/perf-test-core/pom.xml +++ b/common/perf-test-core/pom.xml @@ -32,6 +32,10 @@ scm:git:https://github.com/Azure/azure-sdk-for-java.git + + ../.. + + @@ -62,57 +66,57 @@ - - org.apache.maven.plugins - maven-javadoc-plugin - 3.1.1 - - true - - - - https://docs.oracle.com/javase/8/docs/api/ - ${project.basedir}/../../eng/javadoc-package-lists/java8/ - + + + + + + + + + + + + - - - https://projectreactor.io/docs/core/release/api/ - ${project.basedir}/../../eng/javadoc-package-lists/reactor-core/ - - - https://projectreactor.io/docs/netty/release/api/ - ${project.basedir}/../../eng/javadoc-package-lists/reactor-netty/ - + + + + + + + + + - - - https://fasterxml.github.io/jackson-annotations/javadoc/2.12/ - ${project.basedir}/../../eng/javadoc-package-lists/jackson-annotations/ - - - https://fasterxml.github.io/jackson-core/javadoc/2.12/ - ${project.basedir}/../../eng/javadoc-package-lists/jackson-core/ - - - https://fasterxml.github.io/jackson-databind/javadoc/2.12/ - ${project.basedir}/../../eng/javadoc-package-lists/jackson-databind/ - + + + + + + + + + + + + + - - - https://netty.io/4.1/api/ - ${project.basedir}/../../eng/javadoc-package-lists/netty/ - + + + + + - - - https://avro.apache.org/docs/current/api/java/ - ${project.basedir}/../../eng/javadoc-package-lists/apache-avro/ - - - - + + + + + + + + diff --git a/eng/scripts/invoke_embedme.py b/eng/scripts/invoke_embedme.py index fe0cf87e814f..56d9628a6918 100644 --- a/eng/scripts/invoke_embedme.py +++ b/eng/scripts/invoke_embedme.py @@ -22,25 +22,15 @@ import os import sys -# NPX command for Windows OS. -windows_command = 'npx.cmd' - -# NPX command for Posix OSes. -posix_command = 'npx' +# NPX command. +npx_command = 'npx embedme' # Invoke embedme. def invoke_embedme(readme: str, verify: bool, debug: bool): - command = '' - if os.name == 'nt': - command = windows_command - else: - command = posix_command - - command += ' embedme' + command = npx_command # If the passed README path was relative command += ' ' + os.path.abspath(readme) - if verify: command += ' --verify' diff --git a/sdk/parents/azure-client-sdk-parent/pom.xml b/sdk/parents/azure-client-sdk-parent/pom.xml index a55a53afed88..4b7d8b29c13a 100644 --- a/sdk/parents/azure-client-sdk-parent/pom.xml +++ b/sdk/parents/azure-client-sdk-parent/pom.xml @@ -107,6 +107,7 @@ 0.40 0.30 false + ../../.. @@ -441,9 +442,9 @@ - ../../../eng/code-quality-reports/src/main/resources/checkstyle/checkstyle.xml - ../../../eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml - ../../../eng/code-quality-reports/src/main/resources/checkstyle/java.header + ${project.basedir}/${relative.path.to.eng.folder}/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle.xml + ${project.basedir}/${relative.path.to.eng.folder}/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml + ${project.basedir}/${relative.path.to.eng.folder}/eng/code-quality-reports/src/main/resources/checkstyle/java.header samedir= UTF-8 true @@ -548,43 +549,43 @@ https://docs.oracle.com/javase/8/docs/api/ - ${project.basedir}/../../../eng/javadoc-package-lists/java8/ + ${project.basedir}/${relative.path.to.eng.folder}/eng/javadoc-package-lists/java8/ https://projectreactor.io/docs/core/release/api/ - ${project.basedir}/../../../eng/javadoc-package-lists/reactor-core/ + ${project.basedir}/${relative.path.to.eng.folder}/eng/javadoc-package-lists/reactor-core/ https://projectreactor.io/docs/netty/release/api/ - ${project.basedir}/../../../eng/javadoc-package-lists/reactor-netty/ + ${project.basedir}/${relative.path.to.eng.folder}/eng/javadoc-package-lists/reactor-netty/ https://fasterxml.github.io/jackson-annotations/javadoc/2.12/ - ${project.basedir}/../../../eng/javadoc-package-lists/jackson-annotations/ + ${project.basedir}/${relative.path.to.eng.folder}/eng/javadoc-package-lists/jackson-annotations/ https://fasterxml.github.io/jackson-core/javadoc/2.12/ - ${project.basedir}/../../../eng/javadoc-package-lists/jackson-core/ + ${project.basedir}/${relative.path.to.eng.folder}/eng/javadoc-package-lists/jackson-core/ https://fasterxml.github.io/jackson-databind/javadoc/2.12/ - ${project.basedir}/../../../eng/javadoc-package-lists/jackson-databind/ + ${project.basedir}/${relative.path.to.eng.folder}/eng/javadoc-package-lists/jackson-databind/ https://netty.io/4.1/api/ - ${project.basedir}/../../../eng/javadoc-package-lists/netty/ + ${project.basedir}/${relative.path.to.eng.folder}/eng/javadoc-package-lists/netty/ https://avro.apache.org/docs/current/api/java/ - ${project.basedir}/../../../eng/javadoc-package-lists/apache-avro/ + ${project.basedir}/${relative.path.to.eng.folder}/eng/javadoc-package-lists/apache-avro/ org.apidesign.javadoc.codesnippet.Doclet @@ -860,7 +861,7 @@ generate-overview - ../../../eng/pipelines/scripts/generate_overview_from_readme.py + ${project.basedir}/${relative.path.to.eng.folder}/eng/pipelines/scripts/generate_overview_from_readme.py @@ -880,7 +881,7 @@ python ${project.basedir} - ../../../eng/pipelines/scripts/generate_overview_from_readme.py + ${project.basedir}/${relative.path.to.eng.folder}/eng/pipelines/scripts/generate_overview_from_readme.py --rf ${project.basedir}/README.md --v @@ -915,7 +916,7 @@ inject-codesnippets - ../../../eng/pipelines/scripts/inject_codesnippets.py + ${project.basedir}/${relative.path.to.eng.folder}/eng/pipelines/scripts/inject_codesnippets.py @@ -935,7 +936,7 @@ python ${project.basedir} - ../../../eng/pipelines/scripts/inject_codesnippets.py + ${project.basedir}/${relative.path.to.eng.folder}/eng/pipelines/scripts/inject_codesnippets.py --project-dir ${project.basedir} @@ -972,7 +973,7 @@ python - ../../../eng/scripts/invoke_embedme.py + ${project.basedir}/${relative.path.to.eng.folder}/eng/scripts/invoke_embedme.py --readme ${project.basedir}/README.md @@ -1008,7 +1009,7 @@ python - ../../../eng/scripts/invoke_embedme.py + ${project.basedir}/${relative.path.to.eng.folder}/eng/scripts/invoke_embedme.py --readme ${project.basedir}/README.md --verify From 29c6526e22cf5a2749571bbdf661babf31bc6018 Mon Sep 17 00:00:00 2001 From: Alan Zimmer <48699787+alzimmermsft@users.noreply.github.com> Date: Thu, 27 May 2021 09:47:17 -0700 Subject: [PATCH 4/4] Removed commented out POM configurations --- common/perf-test-core/pom.xml | 51 ----------------------------------- 1 file changed, 51 deletions(-) diff --git a/common/perf-test-core/pom.xml b/common/perf-test-core/pom.xml index 25dfd1f86639..c0140b6c337c 100644 --- a/common/perf-test-core/pom.xml +++ b/common/perf-test-core/pom.xml @@ -66,57 +66,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -