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 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-