Skip to content

Commit cccc5f3

Browse files
sarahmarshytheotherjimmy
authored andcommitted
Accessing progen exporters directly
1 parent 7e2ca01 commit cccc5f3

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

tools/export/exporters.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
from tools.targets import TARGET_MAP
1111
from project_generator.project import Project, ProjectTemplateInternal
12+
from project_generator.tools_supported import ToolsSupported
1213
from project_generator.settings import ProjectSettings
1314
from project_generator_definitions.definitions import ProGenDef
1415

@@ -72,7 +73,7 @@ def __init__(self, target, export_dir, project_name, toolchain,
7273
self.resources = resources
7374
self.symbols = self.toolchain.get_symbols()
7475
self.generated_files = []
75-
self.project = None
76+
self.builder_files_dict = {}
7677

7778
# Add extra symbols and config file symbols to the Exporter's list of
7879
# symbols.
@@ -184,10 +185,9 @@ def progen_gen_file(self, project_data):
184185
if not self.check_supported(self.NAME):
185186
raise TargetNotSupportedException("Target not supported")
186187
settings = ProjectSettings()
187-
self.project = Project(self.project_name, [project_data], settings)
188-
self.project.project['export'] = project_data.copy()
189-
self.project.generate(self.NAME, copied=False, fill=False)
190-
for middle in self.project.generated_files.values():
188+
exporter = ToolsSupported().get_tool(self.NAME)
189+
self.builder_files_dict = {self.NAME:exporter(project_data, settings).export_project()}
190+
for middle in self.builder_files_dict.values():
191191
for field, thing in middle.iteritems():
192192
if field == "files":
193193
for filename in thing.values():
@@ -198,7 +198,8 @@ def progen_build(self):
198198
print("Project {} exported, building for {}...".format(
199199
self.project_name, self.NAME))
200200
sys.stdout.flush()
201-
result = self.project.build(self.NAME)
201+
builder = ToolsSupported().get_tool(self.NAME)
202+
result = builder(self.builder_files_dict[self.NAME], ProjectSettings()).build_project()
202203
if result == -1:
203204
raise FailedBuildException("Build Failed")
204205

0 commit comments

Comments
 (0)