From cba577bc06e5263416cb21fbad0d10b720524e29 Mon Sep 17 00:00:00 2001 From: Jack Rosenthal Date: Mon, 1 Nov 2021 20:24:10 -0600 Subject: zephyr: zmake: Rename project name field As discussed rename the project name field to "project_name" and make it a required as a keyword argument. For tests, the name project_name makes a bit less sense, so call it test_name, automatically prepend "test-" to all tests, and allow it to be specified either as a keyword or positional argument. BUG=b:193815337 BRANCH=none TEST=unit tests pass Signed-off-by: Jack Rosenthal Change-Id: Idd1212da98382ddd9961da0fda4078595f540fc8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3256035 Commit-Queue: Jeremy Bettis Reviewed-by: Jeremy Bettis --- zephyr/firmware_builder.py | 4 ++-- zephyr/projects/asurada/hayato/BUILD.py | 2 +- zephyr/projects/brya/brya/BUILD.py | 2 +- zephyr/projects/corsola/kingler/BUILD.py | 2 +- zephyr/projects/corsola/krabby/BUILD.py | 2 +- zephyr/projects/guybrush/BUILD.py | 2 +- zephyr/projects/herobrine/herobrine_npcx9/BUILD.py | 2 +- zephyr/projects/it8xxx2_evb/BUILD.py | 2 +- zephyr/projects/kohaku/BUILD.py | 2 +- zephyr/projects/npcx_evb/npcx7/BUILD.py | 2 +- zephyr/projects/npcx_evb/npcx9/BUILD.py | 2 +- zephyr/projects/posix-ec/BUILD.py | 2 +- zephyr/projects/trogdor/lazor/BUILD.py | 2 +- zephyr/projects/trogdor/trogdor/BUILD.py | 2 +- zephyr/projects/volteer/delbin/BUILD.py | 2 +- zephyr/projects/volteer/volteer/BUILD.py | 2 +- zephyr/zmake/tests/test_project.py | 22 ++++++++++---------- zephyr/zmake/tests/test_toolchains.py | 2 +- zephyr/zmake/tests/test_version.py | 2 +- zephyr/zmake/tests/test_zmake.py | 2 +- zephyr/zmake/zmake/configlib.py | 24 +++++++++++----------- zephyr/zmake/zmake/project.py | 12 +++++------ zephyr/zmake/zmake/version.py | 6 +++++- zephyr/zmake/zmake/zmake.py | 23 +++++++++++++-------- 24 files changed, 69 insertions(+), 58 deletions(-) diff --git a/zephyr/firmware_builder.py b/zephyr/firmware_builder.py index b8b8756416..d04941f752 100755 --- a/zephyr/firmware_builder.py +++ b/zephyr/firmware_builder.py @@ -100,13 +100,13 @@ def bundle_firmware(opts): zephyr_dir = pathlib.Path(__file__).parent platform_ec = zephyr_dir.resolve().parent for project in zmake.project.find_projects(zephyr_dir).values(): - build_dir = platform_ec / "build" / "zephyr" / project.config.name + build_dir = platform_ec / "build" / "zephyr" / project.config.project_name artifacts_dir = build_dir / 'output' # TODO(kmshelton): Remove once the build command does not rely # on a pre-defined list of targets. if not artifacts_dir.is_dir(): continue - tarball_name = '{}.firmware.tbz2'.format(project.config.name) + tarball_name = '{}.firmware.tbz2'.format(project.config.project_name) tarball_path = bundle_dir.joinpath(tarball_name) cmd = ['tar', 'cvfj', tarball_path, '.'] subprocess.run(cmd, cwd=artifacts_dir, check=True) diff --git a/zephyr/projects/asurada/hayato/BUILD.py b/zephyr/projects/asurada/hayato/BUILD.py index a8d71628b2..5d7ca230b3 100644 --- a/zephyr/projects/asurada/hayato/BUILD.py +++ b/zephyr/projects/asurada/hayato/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_binman_project( - "hayato", + project_name="hayato", zephyr_board="asurada", dts_overlays=["battery.dts", "gpio.dts", "motionsense.dts", "pwm.dts"], ) diff --git a/zephyr/projects/brya/brya/BUILD.py b/zephyr/projects/brya/brya/BUILD.py index ba0d2fd369..70696c1f3f 100644 --- a/zephyr/projects/brya/brya/BUILD.py +++ b/zephyr/projects/brya/brya/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "brya", + project_name="brya", zephyr_board="brya", dts_overlays=["gpio.dts"], ) diff --git a/zephyr/projects/corsola/kingler/BUILD.py b/zephyr/projects/corsola/kingler/BUILD.py index 07adc8b3d6..5a4b9722ea 100644 --- a/zephyr/projects/corsola/kingler/BUILD.py +++ b/zephyr/projects/corsola/kingler/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "kingler", + project_name="kingler", zephyr_board="npcx9", dts_overlays=["battery.dts", "gpio.dts", "i2c.dts"], ) diff --git a/zephyr/projects/corsola/krabby/BUILD.py b/zephyr/projects/corsola/krabby/BUILD.py index 87a1142dfa..84ba72bdf7 100644 --- a/zephyr/projects/corsola/krabby/BUILD.py +++ b/zephyr/projects/corsola/krabby/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_binman_project( - "krabby", + project_name="krabby", zephyr_board="it8xxx2", dts_overlays=[ "adc.dts", diff --git a/zephyr/projects/guybrush/BUILD.py b/zephyr/projects/guybrush/BUILD.py index f4e30d2dc0..6b718fb788 100644 --- a/zephyr/projects/guybrush/BUILD.py +++ b/zephyr/projects/guybrush/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "guybrush", + project_name="guybrush", zephyr_board="npcx9", dts_overlays=["battery.dts", "gpio.dts", "i2c.dts"], ) diff --git a/zephyr/projects/herobrine/herobrine_npcx9/BUILD.py b/zephyr/projects/herobrine/herobrine_npcx9/BUILD.py index dbb5e6c087..f5daa3c9b6 100644 --- a/zephyr/projects/herobrine/herobrine_npcx9/BUILD.py +++ b/zephyr/projects/herobrine/herobrine_npcx9/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "herobrine_npcx9", + project_name="herobrine_npcx9", zephyr_board="herobrine_npcx9", dts_overlays=[ "gpio.dts", diff --git a/zephyr/projects/it8xxx2_evb/BUILD.py b/zephyr/projects/it8xxx2_evb/BUILD.py index 545bc9c939..c7a0da1784 100644 --- a/zephyr/projects/it8xxx2_evb/BUILD.py +++ b/zephyr/projects/it8xxx2_evb/BUILD.py @@ -3,6 +3,6 @@ # found in the LICENSE file. register_raw_project( - "it8xxx2_evb", + project_name="it8xxx2_evb", zephyr_board="it8xxx2_evb", ) diff --git a/zephyr/projects/kohaku/BUILD.py b/zephyr/projects/kohaku/BUILD.py index b21d4e9453..1ad1637807 100644 --- a/zephyr/projects/kohaku/BUILD.py +++ b/zephyr/projects/kohaku/BUILD.py @@ -3,6 +3,6 @@ # found in the LICENSE file. register_npcx_project( - "kohaku", + project_name="kohaku", zephyr_board="kohaku", ) diff --git a/zephyr/projects/npcx_evb/npcx7/BUILD.py b/zephyr/projects/npcx_evb/npcx7/BUILD.py index 70d91a3b23..9b9789c3d9 100644 --- a/zephyr/projects/npcx_evb/npcx7/BUILD.py +++ b/zephyr/projects/npcx_evb/npcx7/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "npcx7", + project_name="npcx7", zephyr_board="npcx7_evb", dts_overlays=["gpio.dts", "pwm.dts", "fan.dts", "keyboard.dts"], ) diff --git a/zephyr/projects/npcx_evb/npcx9/BUILD.py b/zephyr/projects/npcx_evb/npcx9/BUILD.py index d42039d19f..afd6816af9 100644 --- a/zephyr/projects/npcx_evb/npcx9/BUILD.py +++ b/zephyr/projects/npcx_evb/npcx9/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "npcx9", + project_name="npcx9", zephyr_board="npcx9_evb", dts_overlays=["gpio.dts", "pwm.dts", "fan.dts", "keyboard.dts"], ) diff --git a/zephyr/projects/posix-ec/BUILD.py b/zephyr/projects/posix-ec/BUILD.py index 38cc621739..b94d087642 100644 --- a/zephyr/projects/posix-ec/BUILD.py +++ b/zephyr/projects/posix-ec/BUILD.py @@ -2,4 +2,4 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. -register_host_project("posix-ec") +register_host_project(project_name="posix-ec") diff --git a/zephyr/projects/trogdor/lazor/BUILD.py b/zephyr/projects/trogdor/lazor/BUILD.py index e7dff809af..d59b4d427a 100644 --- a/zephyr/projects/trogdor/lazor/BUILD.py +++ b/zephyr/projects/trogdor/lazor/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "lazor", + project_name="lazor", zephyr_board="trogdor", dts_overlays=[ "battery.dts", diff --git a/zephyr/projects/trogdor/trogdor/BUILD.py b/zephyr/projects/trogdor/trogdor/BUILD.py index fd6dc1113f..03a71a66a1 100644 --- a/zephyr/projects/trogdor/trogdor/BUILD.py +++ b/zephyr/projects/trogdor/trogdor/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "trogdor", + project_name="trogdor", zephyr_board="trogdor", dts_overlays=["gpio.dts", "battery.dts", "motionsense.dts"], ) diff --git a/zephyr/projects/volteer/delbin/BUILD.py b/zephyr/projects/volteer/delbin/BUILD.py index 02508eedb3..fd933cc8d1 100644 --- a/zephyr/projects/volteer/delbin/BUILD.py +++ b/zephyr/projects/volteer/delbin/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "delbin", + project_name="delbin", zephyr_board="volteer", dts_overlays=["gpio.dts", "motionsense.dts"], ) diff --git a/zephyr/projects/volteer/volteer/BUILD.py b/zephyr/projects/volteer/volteer/BUILD.py index 705ddde5bb..3dbcb5ce28 100644 --- a/zephyr/projects/volteer/volteer/BUILD.py +++ b/zephyr/projects/volteer/volteer/BUILD.py @@ -3,7 +3,7 @@ # found in the LICENSE file. register_npcx_project( - "volteer", + project_name="volteer", zephyr_board="volteer", dts_overlays=[ "bb_retimer.dts", diff --git a/zephyr/zmake/tests/test_project.py b/zephyr/zmake/tests/test_project.py index 461e04459c..266a6cb6f0 100644 --- a/zephyr/zmake/tests/test_project.py +++ b/zephyr/zmake/tests/test_project.py @@ -54,7 +54,7 @@ def test_find_dts_overlays(modules): for board, expected_dts_files in board_file_mapping.items(): project = zmake.project.Project( zmake.project.ProjectConfig( - name=board, + project_name=board, zephyr_board=board, output_packer=zmake.output_packers.ElfPacker, supported_toolchains=["llvm"], @@ -89,7 +89,7 @@ def test_prune_modules(modules): project = zmake.project.Project( zmake.project.ProjectConfig( - name="prunetest", + project_name="prunetest", zephyr_board="native_posix", output_packer=zmake.output_packers.ElfPacker, supported_toolchains=["coreboot-sdk"], @@ -112,7 +112,7 @@ def test_prune_modules_unavailable(): project = zmake.project.Project( zmake.project.ProjectConfig( - name="prunetest", + project_name="prunetest", zephyr_board="native_posix", output_packer=zmake.output_packers.ElfPacker, supported_toolchains=["coreboot-sdk"], @@ -132,15 +132,15 @@ def test_find_projects_empty(tmp_path): CONFIG_FILE_1 = """ -register_raw_project("one", zephyr_board="one") -register_host_test("two") -register_npcx_project("three", zephyr_board="three") -register_binman_project("four", zephyr_board="four") +register_raw_project(project_name="one", zephyr_board="one") +register_host_test(test_name="two") +register_npcx_project(project_name="three", zephyr_board="three") +register_binman_project(project_name="four", zephyr_board="four") """ CONFIG_FILE_2 = """ register_raw_project( - "five", + project_name="five", zephyr_board="foo", dts_overlays=[here / "gpio.dts"], ) @@ -164,9 +164,9 @@ def test_find_projects(tmp_path): assert projects["one"].config.project_dir == cf1_dir assert not projects["one"].config.is_test - assert projects["two"].config.project_dir == cf1_dir - assert projects["two"].config.zephyr_board == "native_posix" - assert projects["two"].config.is_test + assert projects["test-two"].config.project_dir == cf1_dir + assert projects["test-two"].config.zephyr_board == "native_posix" + assert projects["test-two"].config.is_test assert projects["three"].config.project_dir == cf1_dir assert not projects["three"].config.is_test diff --git a/zephyr/zmake/tests/test_toolchains.py b/zephyr/zmake/tests/test_toolchains.py index 85e8484880..86d87272c4 100644 --- a/zephyr/zmake/tests/test_toolchains.py +++ b/zephyr/zmake/tests/test_toolchains.py @@ -64,7 +64,7 @@ def zephyr_exists(mockfs): def fake_project(tmp_path): return project.Project( project.ProjectConfig( - name="foo", + project_name="foo", zephyr_board="foo", supported_zephyr_versions=["v2.6"], supported_toolchains=[ diff --git a/zephyr/zmake/tests/test_version.py b/zephyr/zmake/tests/test_version.py index 9ca5b1e78a..0550eb4ce1 100644 --- a/zephyr/zmake/tests/test_version.py +++ b/zephyr/zmake/tests/test_version.py @@ -53,7 +53,7 @@ def _setup_example_repos(tmp_path): project = zmake.project.Project( zmake.project.ProjectConfig( - name="prj", + project_name="prj", zephyr_board="foo", output_packer=zmake.output_packers.RawBinPacker, supported_toolchains=["coreboot-sdk"], diff --git a/zephyr/zmake/tests/test_zmake.py b/zephyr/zmake/tests/test_zmake.py index 3816d92626..89be16e82e 100644 --- a/zephyr/zmake/tests/test_zmake.py +++ b/zephyr/zmake/tests/test_zmake.py @@ -36,7 +36,7 @@ class FakeProject: self.packer.pack_firmware = mock.Mock(return_value=[]) self.config = zmake.project.ProjectConfig( - name="fakeproject", + project_name="fakeproject", zephyr_board="fakeboard", supported_toolchains=["llvm"], supported_zephyr_versions=["v2.5"], diff --git a/zephyr/zmake/zmake/configlib.py b/zephyr/zmake/zmake/configlib.py index dca9a4eedf..3c6aa649c5 100644 --- a/zephyr/zmake/zmake/configlib.py +++ b/zephyr/zmake/zmake/configlib.py @@ -7,34 +7,34 @@ import zmake.output_packers -def _register_project(name, **kwargs): +def _register_project(**kwargs): kwargs.setdefault("project_dir", here) # noqa: F821 - register_project(name, **kwargs) # noqa: F821 + register_project(**kwargs) # noqa: F821 -def register_host_project(name, **kwargs): +def register_host_project(**kwargs): kwargs.setdefault("zephyr_board", "native_posix") kwargs.setdefault("supported_toolchains", ["llvm", "host"]) kwargs.setdefault("output_packer", zmake.output_packers.ElfPacker) - _register_project(name, **kwargs) + _register_project(**kwargs) -def register_host_test(name, **kwargs): +def register_host_test(test_name, **kwargs): kwargs.setdefault("is_test", True) - register_host_project(name, **kwargs) + register_host_project(project_name="test-{}".format(test_name), **kwargs) -def register_raw_project(name, **kwargs): +def register_raw_project(**kwargs): kwargs.setdefault("supported_toolchains", ["coreboot-sdk", "zephyr"]) kwargs.setdefault("output_packer", zmake.output_packers.RawBinPacker) - _register_project(name, **kwargs) + _register_project(**kwargs) -def register_binman_project(name, **kwargs): +def register_binman_project(**kwargs): kwargs.setdefault("output_packer", zmake.output_packers.BinmanPacker) - register_raw_project(name, **kwargs) + register_raw_project(**kwargs) -def register_npcx_project(name, **kwargs): +def register_npcx_project(**kwargs): kwargs.setdefault("output_packer", zmake.output_packers.NpcxPacker) - register_binman_project(name, **kwargs) + register_binman_project(**kwargs) diff --git a/zephyr/zmake/zmake/project.py b/zephyr/zmake/zmake/project.py index 62a3b7dd00..0fa7bf36b7 100644 --- a/zephyr/zmake/zmake/project.py +++ b/zephyr/zmake/zmake/project.py @@ -37,8 +37,8 @@ def load_config_file(path): """ projects = [] - def register_project(name, **kwargs): - projects.append(Project(ProjectConfig(name=name, **kwargs))) + def register_project(**kwargs): + projects.append(Project(ProjectConfig(**kwargs))) # The Python environment passed to the config file. config_globals = { @@ -75,19 +75,19 @@ def find_projects(root_dir): found_projects = {} for path in pathlib.Path(root_dir).rglob("BUILD.py"): for project in load_config_file(path): - if project.config.name in found_projects: + if project.config.project_name in found_projects: raise KeyError( "Duplicate project defined: {} (in {})".format( - project.config.name, path + project.config.project_name, path ) ) - found_projects[project.config.name] = project + found_projects[project.config.project_name] = project return found_projects @dataclasses.dataclass class ProjectConfig: - name: str + project_name: str zephyr_board: str supported_toolchains: "list[str]" output_packer: type diff --git a/zephyr/zmake/zmake/version.py b/zephyr/zmake/zmake/version.py index 178909c088..b2b897cf5b 100644 --- a/zephyr/zmake/zmake/version.py +++ b/zephyr/zmake/zmake/version.py @@ -115,7 +115,11 @@ def get_version_string(project, zephyr_base, modules, static=False): ) return "{}_v{}.{}.{}-{}".format( - project.config.name, major_version, minor_version, num_commits, vcs_hashes + project.config.project_name, + major_version, + minor_version, + num_commits, + vcs_hashes, ) diff --git a/zephyr/zmake/zmake/zmake.py b/zephyr/zmake/zmake/zmake.py index 5d24e32ecb..a393b1c3e8 100644 --- a/zephyr/zmake/zmake/zmake.py +++ b/zephyr/zmake/zmake/zmake.py @@ -275,7 +275,10 @@ class Zmake: # Resolve build_dir if needed. if not build_dir: build_dir = ( - self.module_paths["ec"] / "build" / "zephyr" / project.config.name + self.module_paths["ec"] + / "build" + / "zephyr" + / project.config.project_name ) # Make sure the build directory is clean. if os.path.exists(build_dir): @@ -324,9 +327,11 @@ class Zmake: if not generated_include_dir.exists(): generated_include_dir.mkdir() processes = [] - self.logger.info("Building %s in %s.", project.config.name, build_dir) + self.logger.info("Building %s in %s.", project.config.project_name, build_dir) for build_name, build_config in project.iter_builds(): - self.logger.info("Configuring %s:%s.", project.config.name, build_name) + self.logger.info( + "Configuring %s:%s.", project.config.project_name, build_name + ) config = ( base_config | toolchain_config @@ -347,7 +352,7 @@ class Zmake: encoding="utf-8", errors="replace", ) - job_id = "{}:{}".format(project.config.name, build_name) + job_id = "{}:{}".format(project.config.project_name, build_name) zmake.multiproc.log_output( self.logger, logging.DEBUG, @@ -373,7 +378,7 @@ class Zmake: # To reconstruct a Project object later, we need to know the # name and project directory. - (build_dir / "project_name.txt").write_text(project.config.name) + (build_dir / "project_name.txt").write_text(project.config.project_name) util.update_symlink(project.config.project_dir, build_dir / "project") if test_after_configure: @@ -559,7 +564,7 @@ class Zmake: ).values(): is_test = project.config.is_test temp_build_dir = tempfile.mkdtemp( - suffix="-{}".format(project.config.name), + suffix="-{}".format(project.config.project_name), prefix="zbuild-", ) tmp_dirs.append(temp_build_dir) @@ -643,7 +648,7 @@ class Zmake: return 0 def _coverage_compile_only(self, project, build_dir, lcov_file): - self.logger.info("Building %s in %s", project.config.name, build_dir) + self.logger.info("Building %s in %s", project.config.project_name, build_dir) rv = self._configure( project=project, build_dir=build_dir, @@ -722,7 +727,9 @@ class Zmake: lcov_file, is_configured=False, ): - self.logger.info("Running test %s in %s", project.config.name, build_dir) + self.logger.info( + "Running test %s in %s", project.config.project_name, build_dir + ) if not is_configured: rv = self._configure( project=project, -- cgit v1.2.1