diff --git a/eng/tox/run_pylint.py b/eng/tox/run_pylint.py index ee648007f319..f82b892baef0 100644 --- a/eng/tox/run_pylint.py +++ b/eng/tox/run_pylint.py @@ -16,6 +16,10 @@ from allowed_pylint_failures import PYLINT_ACCEPTABLE_FAILURES +from tox_helper_tasks import ( + get_package_details +) + logging.getLogger().setLevel(logging.INFO) root_dir = os.path.abspath(os.path.join(os.path.abspath(__file__), "..", "..", "..")) @@ -37,7 +41,11 @@ args = parser.parse_args() - package_name = os.path.basename(os.path.abspath(args.target_package)) + + pkg_dir = os.path.abspath(args.target_package) + package_name, namespace, ver = get_package_details(os.path.join(pkg_dir, "setup.py")) + + top_level_module = namespace.split('.')[0] if package_name not in PYLINT_ACCEPTABLE_FAILURES: try: @@ -48,7 +56,7 @@ "pylint", "--rcfile={}".format(rcFileLocation), "--output-format=parseable", - os.path.join(args.target_package, "azure"), + os.path.join(args.target_package, top_level_module), ] ) except CalledProcessError as e: diff --git a/eng/tox/tox.ini b/eng/tox/tox.ini index 28e2e12d1c43..b3ff78470c0a 100644 --- a/eng/tox/tox.ini +++ b/eng/tox/tox.ini @@ -12,6 +12,8 @@ deps = source = azure **/azure + microsoft + **/microsoft [base] diff --git a/eng/tox/tox_helper_tasks.py b/eng/tox/tox_helper_tasks.py index d3738f21c180..fe4e07bf97bf 100644 --- a/eng/tox/tox_helper_tasks.py +++ b/eng/tox/tox_helper_tasks.py @@ -20,7 +20,6 @@ logging.getLogger().setLevel(logging.INFO) - def get_package_details(setup_filename): mock_setup = textwrap.dedent( """\ diff --git a/eng/tox/verify_whl.py b/eng/tox/verify_whl.py index ee72c66ebcd7..fd1976c200fe 100644 --- a/eng/tox/verify_whl.py +++ b/eng/tox/verify_whl.py @@ -46,14 +46,14 @@ def extract_whl(dist_dir, version): return extract_location -def verify_whl_root_directory(dist_dir, version): - # This method ensures root directory in whl is azure only - +def verify_whl_root_directory(dist_dir, expected_top_level_module, version): + # This method ensures root directory in whl is the directoy indicated by our top level namespace extract_location = extract_whl(dist_dir, version) root_folders = os.listdir(extract_location) + # check for non 'azure' folder as root folder non_azure_folders = [ - d for d in root_folders if d != "azure" and not d.endswith(".dist-info") + d for d in root_folders if d != expected_top_level_module and not d.endswith(".dist-info") ] if non_azure_folders: logging.error( @@ -107,11 +107,13 @@ def should_verify_package(package_name): # get target package name from target package path pkg_dir = os.path.abspath(args.target_package) - pkg_name, _, ver = get_package_details(os.path.join(pkg_dir, "setup.py")) + pkg_name, namespace, ver = get_package_details(os.path.join(pkg_dir, "setup.py")) + + top_level_module = namespace.split('.')[0] if should_verify_package(pkg_name): logging.info("Verifying root directory in whl for package: [%s]", pkg_name) - if verify_whl_root_directory(args.dist_dir, ver): + if verify_whl_root_directory(args.dist_dir, top_level_module, ver): logging.info("Verified root directory in whl for package: [%s]", pkg_name) else: logging.info(