Pass fixers along, strip whitespace.

This commit is contained in:
Jelmer Vernooij 2021-04-02 05:45:33 +01:00
parent 9653795e26
commit 9ba2cd7bfd
4 changed files with 13 additions and 7 deletions

View file

@ -150,6 +150,10 @@ def main(): # noqa: C901
external_dir, internal_dir = session.setup_from_directory(args.directory) external_dir, internal_dir = session.setup_from_directory(args.directory)
session.chdir(internal_dir) session.chdir(internal_dir)
os.chdir(external_dir) os.chdir(external_dir)
if not session.is_temporary and args.subcommand == 'info':
args.explain = True
if args.resolve == "apt": if args.resolve == "apt":
resolver = AptResolver.from_session(session) resolver = AptResolver.from_session(session)
elif args.resolve == "native": elif args.resolve == "native":
@ -211,7 +215,7 @@ def main(): # noqa: C901
if args.subcommand == "info": if args.subcommand == "info":
from .info import run_info from .info import run_info
run_info(session, buildsystems=bss) run_info(session, buildsystems=bss, fixers=fixers)
except ExplainInstall as e: except ExplainInstall as e:
display_explain_commands(e.commands) display_explain_commands(e.commands)
except (UnidentifiedError, DetailedFailure): except (UnidentifiedError, DetailedFailure):

View file

@ -978,7 +978,7 @@ class RunTests(BuildSystem):
def _read_cpanfile(session, args, kind, fixers): def _read_cpanfile(session, args, kind, fixers):
for line in run_with_build_fixers(session, ["cpanfile-dump"] + args, fixers): for line in run_with_build_fixers(session, ["cpanfile-dump"] + args, fixers):
yield kind, PerlModuleRequirement(line) yield kind, PerlModuleRequirement(line.strip())
def _declared_deps_from_cpanfile(session, fixers): def _declared_deps_from_cpanfile(session, fixers):

View file

@ -17,7 +17,7 @@
from functools import partial from functools import partial
import logging import logging
from typing import List, Tuple, Callable, Any from typing import List, Tuple, Callable, Any, Optional
from buildlog_consultant import Problem from buildlog_consultant import Problem
from buildlog_consultant.common import ( from buildlog_consultant.common import (
@ -104,8 +104,10 @@ def iterate_with_build_fixers(fixers: List[BuildFixer], cb: Callable[[], Any]):
def run_with_build_fixers( def run_with_build_fixers(
session: Session, args: List[str], fixers: List[BuildFixer], **kwargs session: Session, args: List[str], fixers: Optional[List[BuildFixer]], **kwargs
): ):
if fixers is None:
fixers = []
return iterate_with_build_fixers( return iterate_with_build_fixers(
fixers, partial(run_detecting_problems, session, args, **kwargs) fixers, partial(run_detecting_problems, session, args, **kwargs)
) )

View file

@ -16,12 +16,12 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
def run_info(session, buildsystems): def run_info(session, buildsystems, fixers=None):
for buildsystem in buildsystems: for buildsystem in buildsystems:
print("%r:" % buildsystem) print("%r:" % buildsystem)
deps = {} deps = {}
try: try:
for kind, dep in buildsystem.get_declared_dependencies(session): for kind, dep in buildsystem.get_declared_dependencies(session, fixers=fixers):
deps.setdefault(kind, []).append(dep) deps.setdefault(kind, []).append(dep)
except NotImplementedError: except NotImplementedError:
print( print(
@ -35,7 +35,7 @@ def run_info(session, buildsystems):
print("\t\t\t%s" % dep) print("\t\t\t%s" % dep)
print("") print("")
try: try:
outputs = list(buildsystem.get_declared_outputs(session)) outputs = list(buildsystem.get_declared_outputs(session, fixers=fixers))
except NotImplementedError: except NotImplementedError:
print("\tUnable to detect declared outputs for this type of build system") print("\tUnable to detect declared outputs for this type of build system")
outputs = [] outputs = []