@@ -91,7 +91,7 @@ def generate_project_files(resources, export_path, target, name, toolchain, ide,
9191 return files , exporter
9292
9393
94- def zip_export (file_name , prefix , resources , project_files ):
94+ def zip_export (file_name , prefix , resources , project_files , inc_repos ):
9595 """Create a zip file from an exported project.
9696
9797 Positional Parameters:
@@ -105,21 +105,21 @@ def zip_export(file_name, prefix, resources, project_files):
105105 for prj_file in project_files :
106106 zip_file .write (prj_file , join (prefix , basename (prj_file )))
107107 for loc , resource in resources .iteritems ():
108- print resource .features
109108 for res in [resource ] + resource .features .values ():
110- extras = []
111- for directory in res .repo_dirs :
112- for root , _ , files in walk (directory ):
113- for repo_file in files :
114- source = join (root , repo_file )
115- extras .append (source )
116- res .file_basepath [source ] = res .base_path
117- for source in \
109+ to_zip = (
118110 res .headers + res .s_sources + res .c_sources + \
119111 res .cpp_sources + res .libraries + res .hex_files + \
120112 [res .linker_script ] + res .bin_files + res .objects + \
121- res .json_files + res .lib_refs + res .lib_builds + \
122- res .repo_files + extras :
113+ res .json_files + res .lib_refs + res .lib_builds )
114+ if inc_repos :
115+ for directory in res .repo_dirs :
116+ for root , _ , files in walk (directory ):
117+ for repo_file in files :
118+ source = join (root , repo_file )
119+ to_zip .append (source )
120+ res .file_basepath [source ] = res .base_path
121+ to_zip += res .repo_files
122+ for source in to_zip :
123123 if source :
124124 zip_file .write (
125125 source ,
@@ -132,7 +132,7 @@ def export_project(src_paths, export_path, target, ide,
132132 libraries_paths = None , options = None , linker_script = None ,
133133 clean = False , notify = None , verbose = False , name = None ,
134134 inc_dirs = None , jobs = 1 , silent = False , extra_verbose = False ,
135- config = None , macros = None , zip_proj = None ):
135+ config = None , macros = None , zip_proj = None , inc_repos = False ):
136136 """Generates a project file and creates a zip archive if specified
137137
138138 Positional Arguments:
@@ -223,9 +223,9 @@ def export_project(src_paths, export_path, target, ide,
223223 files .append (config_header )
224224 if zip_proj :
225225 if isinstance (zip_proj , basestring ):
226- zip_export (join (export_path , zip_proj ), name , resource_dict , files )
226+ zip_export (join (export_path , zip_proj ), name , resource_dict , files , inc_repos )
227227 else :
228- zip_export (zip_proj , name , resource_dict , files )
228+ zip_export (zip_proj , name , resource_dict , files , inc_repos )
229229
230230 return exporter
231231
0 commit comments