def lint_repository(ctx, path, **kwds): info("Linting repository %s" % path) lint_args = build_lint_args(ctx, **kwds) lint_ctx = LintContext(lint_args["level"]) lint_ctx.lint( "tool_dependencies", lint_tool_dependencies, path, ) lint_ctx.lint( "repository_dependencies", lint_repository_dependencies, path, ) lint_ctx.lint( "shed_yaml", lint_shed_yaml, path, ) lint_ctx.lint( "readme", lint_readme, path, ) if kwds["tools"]: for (tool_path, tool_xml) in yield_tool_xmls(ctx, path, recursive=True): info("+Linting tool %s" % tool_path) lint_xml_with( lint_ctx, tool_xml, extra_modules=lint_args["extra_modules"] ) failed = lint_ctx.failed(lint_args["fail_level"]) if failed: error("Failed linting") return 1 if failed else 0
def lint_repository(ctx, realized_repository, **kwds): # TODO: this really needs to start working with realized path. failed = False path = realized_repository.real_path info("Linting repository %s" % path) lint_args = build_lint_args(ctx, **kwds) lint_ctx = LintContext(lint_args["level"]) lint_ctx.lint( "lint_expansion", lint_expansion, realized_repository, ) lint_ctx.lint( "lint_expected_files", lint_expected_files, realized_repository, ) lint_ctx.lint( "lint_tool_dependencies_xsd", lint_tool_dependencies_xsd, path, ) lint_ctx.lint( "lint_tool_dependencies_actions", lint_tool_dependencies_actions, path, ) lint_ctx.lint( "lint_repository_dependencies", lint_repository_dependencies, path, ) lint_ctx.lint( "lint_shed_yaml", lint_shed_yaml, realized_repository, ) lint_ctx.lint( "lint_readme", lint_readme, path, ) if kwds["urls"]: lint_ctx.lint( "lint_urls", lint_tool_dependencies_urls, path, ) if kwds["tools"]: for (tool_path, tool_source) in yield_tool_sources(ctx, path, recursive=True): info("+Linting tool %s" % tool_path) if handle_tool_load_error(tool_path, tool_source): failed = True continue lint_tool_source_with( lint_ctx, tool_source, extra_modules=lint_args["extra_modules"] ) if kwds["ensure_metadata"]: lint_ctx.lint( "lint_shed_metadata", lint_shed_metadata, realized_repository, ) if not failed: failed = lint_ctx.failed(lint_args["fail_level"]) if failed: error("Failed linting") return 1 if failed else 0
def setup_lint(ctx, **kwds): """Setup lint_args and lint_ctx to begin linting a target.""" lint_args = build_lint_args(ctx, **kwds) lint_ctx = LintContext(lint_args["level"]) return lint_args, lint_ctx
def lint_repository(ctx, realized_repository, **kwds): # TODO: this really needs to start working with realized path. failed = False path = realized_repository.real_path info("Linting repository %s" % path) lint_args = build_lint_args(ctx, **kwds) lint_ctx = LintContext(lint_args["level"]) lint_ctx.lint( "lint_expansion", lint_expansion, realized_repository, ) lint_ctx.lint( "lint_expected_files", lint_expected_files, realized_repository, ) lint_ctx.lint( "lint_tool_dependencies_xsd", lint_tool_dependencies_xsd, path, ) lint_ctx.lint( "lint_tool_dependencies_actions", lint_tool_dependencies_actions, path, ) lint_ctx.lint( "lint_repository_dependencies", lint_repository_dependencies, path, ) lint_ctx.lint( "lint_shed_yaml", lint_shed_yaml, realized_repository, ) lint_ctx.lint( "lint_readme", lint_readme, path, ) if kwds["tools"]: for (tool_path, tool_xml) in yield_tool_xmls(ctx, path, recursive=True): info("+Linting tool %s" % tool_path) if handle_tool_load_error(tool_path, tool_xml): failed = True continue lint_xml_with(lint_ctx, tool_xml, extra_modules=lint_args["extra_modules"]) if kwds["ensure_metadata"]: lint_ctx.lint( "lint_shed_metadata", lint_shed_metadata, realized_repository, ) if not failed: failed = lint_ctx.failed(lint_args["fail_level"]) if failed: error("Failed linting") return 1 if failed else 0
def lint_repository(ctx, path, **kwds): info("Linting repository %s" % path) lint_args = build_lint_args(ctx, **kwds) lint_ctx = LintContext(lint_args["level"]) lint_ctx.lint( "tool_dependencies", lint_tool_dependencies, path, ) lint_ctx.lint( "repository_dependencies", lint_repository_dependencies, path, ) lint_ctx.lint( "shed_yaml", lint_shed_yaml, path, ) lint_ctx.lint( "readme", lint_readme, path, ) if kwds["tools"]: for (tool_path, tool_xml) in yield_tool_xmls(ctx, path, recursive=True): info("+Linting tool %s" % tool_path) lint_xml_with(lint_ctx, tool_xml, extra_modules=lint_args["extra_modules"]) failed = lint_ctx.failed(lint_args["fail_level"]) if failed: error("Failed linting") return 1 if failed else 0