3
3
from os import walk , remove
4
4
from os .path import join , dirname , isdir , split
5
5
from copy import copy
6
- from jinja2 import Template
6
+ from jinja2 import Template , FileSystemLoader
7
+ from jinja2 .environment import Environment
7
8
from contextlib import closing
8
9
from zipfile import ZipFile , ZIP_DEFLATED
9
10
@@ -23,6 +24,8 @@ def __init__(self, target, inputDir, program_name, build_url_resolver):
23
24
self .program_name = program_name
24
25
self .toolchain = TOOLCHAIN_CLASSES [self .get_toolchain ()](TARGET_MAP [target ])
25
26
self .build_url_resolver = build_url_resolver
27
+ jinja_loader = FileSystemLoader (os .path .dirname (os .path .abspath (__file__ )))
28
+ self .jinja_environment = Environment (loader = jinja_loader )
26
29
27
30
def get_toolchain (self ):
28
31
return self .TOOLCHAIN
@@ -87,8 +90,7 @@ def scan_and_copy_resources(self, prj_path, trg_path):
87
90
88
91
def gen_file (self , template_file , data , target_file ):
89
92
template_path = join (Exporter .TEMPLATE_DIR , template_file )
90
- template_text = open (template_path ).read ()
91
- template = Template (template_text )
93
+ template = self .jinja_environment .get_template (template_file )
92
94
target_text = template .render (data )
93
95
94
96
target_path = join (self .inputDir , target_file )
0 commit comments