Skip to content

Commit e3edbab

Browse files
authored
Merge pull request #4107 from theotherjimmy/config-name-app
Allow configuration of artifact name in app config
2 parents 55884de + 6a646eb commit e3edbab

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

tools/build_api.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -483,8 +483,8 @@ def build_project(src_paths, build_path, target, toolchain_name,
483483
build_profile=build_profile)
484484

485485
# The first path will give the name to the library
486-
if name is None:
487-
name = basename(normpath(abspath(src_paths[0])))
486+
name = (name or toolchain.config.name or
487+
basename(normpath(abspath(src_paths[0]))))
488488
toolchain.info("Building project %s (%s, %s)" %
489489
(name, toolchain.target.name, toolchain_name))
490490

tools/config.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,8 @@ class Config(object):
355355
"library": {"name": str, "config": dict, "target_overrides": dict,
356356
"macros": list, "__config_path": str},
357357
"application": {"config": dict, "target_overrides": dict,
358-
"macros": list, "__config_path": str}
358+
"macros": list, "__config_path": str,
359+
"artifact_name": str}
359360
}
360361

361362
__unused_overrides = set(["target.bootloader_img", "target.restrict_size"])
@@ -800,6 +801,13 @@ def validate_config(self):
800801
return True
801802

802803

804+
@property
805+
def name(self):
806+
if "artifact_name" in self.app_config_data:
807+
return self.app_config_data["artifact_name"]
808+
else:
809+
return None
810+
803811
def load_resources(self, resources):
804812
""" Load configuration data from a Resources instance and expand it
805813
based on defined features.

tools/test/build_api/build_api_test.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,8 @@ def test_prepare_toolchain_app_config(self, mock_config_init):
8484
mock_target = namedtuple("Target",
8585
"init_hooks name features core")(lambda _, __ : None,
8686
"Junk", [], "Cortex-M3")
87-
mock_config_init.return_value = namedtuple("Config",
88-
"target has_regions")(
89-
mock_target,
90-
False)
87+
mock_config_init.return_value = namedtuple(
88+
"Config", "target has_regions name")(mock_target, False, None)
9189

9290
prepare_toolchain(self.src_paths, None, self.target, self.toolchain_name,
9391
app_config=app_config)
@@ -106,10 +104,8 @@ def test_prepare_toolchain_no_app_config(self, mock_config_init):
106104
mock_target = namedtuple("Target",
107105
"init_hooks name features core")(lambda _, __ : None,
108106
"Junk", [], "Cortex-M3")
109-
mock_config_init.return_value = namedtuple("Config",
110-
"target has_regions")(
111-
mock_target,
112-
False)
107+
mock_config_init.return_value = namedtuple(
108+
"Config", "target has_regions name")(mock_target, False, None)
113109

114110
prepare_toolchain(self.src_paths, None, self.target, self.toolchain_name)
115111

@@ -133,7 +129,8 @@ def test_build_project_app_config(self, mock_prepare_toolchain, mock_exists, _,
133129
app_config = "app_config"
134130
mock_exists.return_value = False
135131
mock_prepare_toolchain().link_program.return_value = 1, 2
136-
mock_prepare_toolchain().config = namedtuple("Config", "has_regions")(None)
132+
mock_prepare_toolchain().config = namedtuple(
133+
"Config", "has_regions name")(None, None)
137134

138135
build_project(self.src_paths, self.build_path, self.target,
139136
self.toolchain_name, app_config=app_config)
@@ -161,7 +158,8 @@ def test_build_project_no_app_config(self, mock_prepare_toolchain, mock_exists,
161158
mock_exists.return_value = False
162159
# Needed for the unpacking of the returned value
163160
mock_prepare_toolchain().link_program.return_value = 1, 2
164-
mock_prepare_toolchain().config = namedtuple("Config", "has_regions")(None)
161+
mock_prepare_toolchain().config = namedtuple(
162+
"Config", "has_regions name")(None, None)
165163

166164
build_project(self.src_paths, self.build_path, self.target,
167165
self.toolchain_name)

0 commit comments

Comments
 (0)