Merge remote-tracking branch 'origin/main' into new_podman_support

This commit is contained in:
Joe Rickerby
2022-06-29 20:20:36 +01:00
22 changed files with 216 additions and 192 deletions
+11 -7
View File
@@ -4,6 +4,7 @@ import sys
import traceback
from configparser import ConfigParser
from contextlib import contextmanager
from dataclasses import asdict, dataclass
from pathlib import Path
from typing import (
Any,
@@ -11,7 +12,6 @@ from typing import (
Generator,
List,
Mapping,
NamedTuple,
Optional,
Set,
Tuple,
@@ -47,6 +47,7 @@ from .util import (
)
@dataclass
class CommandLineArguments:
platform: Literal["auto", "linux", "macos", "windows"]
archs: Optional[str]
@@ -58,7 +59,8 @@ class CommandLineArguments:
prerelease_pythons: bool
class GlobalOptions(NamedTuple):
@dataclass(frozen=True)
class GlobalOptions:
package_dir: Path
output_dir: Path
build_selector: BuildSelector
@@ -67,7 +69,8 @@ class GlobalOptions(NamedTuple):
container_engine: ContainerEngine
class BuildOptions(NamedTuple):
@dataclass(frozen=True)
class BuildOptions:
globals: GlobalOptions
environment: ParsedEnvironment
before_all: str
@@ -107,7 +110,8 @@ class BuildOptions(NamedTuple):
Setting = Union[Dict[str, str], List[str], str, int]
class Override(NamedTuple):
@dataclass(frozen=True)
class Override:
select_pattern: str
options: Dict[str, Setting]
@@ -561,12 +565,12 @@ class Options:
def summary(self, identifiers: List[str]) -> str:
lines = [
f"{option_name}: {option_value!r}"
for option_name, option_value in sorted(self.globals._asdict().items())
for option_name, option_value in sorted(asdict(self.globals).items())
]
build_option_defaults = self.build_options(identifier=None)
for option_name, default_value in sorted(build_option_defaults._asdict().items()):
for option_name, default_value in sorted(asdict(build_option_defaults).items()):
if option_name == "globals":
continue
@@ -574,7 +578,7 @@ class Options:
# if any identifiers have an overridden value, print that too
for identifier in identifiers:
option_value = self.build_options(identifier=identifier)._asdict()[option_name]
option_value = getattr(self.build_options(identifier=identifier), option_name)
if option_value != default_value:
lines.append(f" {identifier}: {option_value!r}")