@@ -88,7 +88,6 @@ def _build_internal(
88
88
Returns:
89
89
PlatformBuildResults: build results
90
90
"""
91
- self .print_build_info (platform_parameters )
92
91
builder = create_and_get_builder (Constants .LOCAL_BUILDX_BUILDER_NAME )
93
92
94
93
build_result = PlatformBuildResults (platform_parameters )
@@ -117,9 +116,15 @@ def _build_internal(
117
116
"tags" : [platform_parameters .tag ],
118
117
}
119
118
119
+ if self ._build_parameters .add_hosts :
120
+ builds ["add_hosts" ] = {}
121
+ for host in self ._build_parameters .add_hosts :
122
+ host_name , host_ip = host .split (":" )
123
+ builds ["add_hosts" ][host_name ] = host_ip
124
+
120
125
export_to_tar_ball = False
121
126
if self ._build_parameters .tarball_output is not None :
122
- build_result .tarball_filenaem = str (
127
+ build_result .tarball_filename = str (
123
128
self ._build_parameters .tarball_output
124
129
/ f"{ platform_parameters .tag } { Constants .TARBALL_FILE_EXTENSION } "
125
130
).replace (":" , "-" )
@@ -134,7 +139,7 @@ def _build_internal(
134
139
builds ["output" ] = {
135
140
# type=oci cannot be loaded by docker: https://github.com/docker/buildx/issues/59
136
141
"type" : "docker" ,
137
- "dest" : build_result .tarball_filenaem ,
142
+ "dest" : build_result .tarball_filename ,
138
143
}
139
144
else :
140
145
build_result .succeeded = False
@@ -155,21 +160,24 @@ def _build_internal(
155
160
f"Building Holoscan Application Package: tag={ platform_parameters .tag } "
156
161
)
157
162
163
+ self .print_build_info (platform_parameters )
164
+
158
165
try :
159
166
build_docker_image (** builds )
160
167
build_result .succeeded = True
161
168
if export_to_tar_ball :
162
169
try :
163
170
self ._logger .info (
164
- f"Saving { platform_parameters .tag } to { build_result .tarball_filenaem } ..."
171
+ f"Saving { platform_parameters .tag } to { build_result .tarball_filename } ..."
165
172
)
166
173
docker_export_tarball (
167
- build_result .tarball_filenaem , platform_parameters .tag
174
+ build_result .tarball_filename , platform_parameters .tag
168
175
)
169
176
except Exception as ex :
170
177
build_result .error = f"Error saving tarball: { ex } "
171
178
build_result .succeeded = False
172
- except Exception :
179
+ except Exception as e :
180
+ print (e )
173
181
build_result .succeeded = False
174
182
build_result .error = (
175
183
"Error building image: see Docker output for additional details."
@@ -378,18 +386,27 @@ def _copy_pip_requirements(self):
378
386
os .makedirs (pip_folder , exist_ok = True )
379
387
pip_requirements_path = os .path .join (pip_folder , "requirements.txt" )
380
388
389
+ # Build requirements content first
390
+ requirements_content = []
391
+ if self ._build_parameters .requirements_file_path is not None :
392
+ with open (self ._build_parameters .requirements_file_path ) as lr :
393
+ requirements_content .extend (lr )
394
+ requirements_content .append ("" )
395
+
396
+ if self ._build_parameters .pip_packages :
397
+ requirements_content .extend (self ._build_parameters .pip_packages )
398
+
399
+ # Write all content at once
381
400
with open (pip_requirements_path , "w" ) as requirements_file :
382
- # Use local requirements.txt packages if provided, otherwise use sdk provided packages
383
- if self ._build_parameters .requirements_file_path is not None :
384
- with open (self ._build_parameters .requirements_file_path ) as lr :
385
- for line in lr :
386
- requirements_file .write (line )
387
- requirements_file .writelines ("\n " )
388
-
389
- if self ._build_parameters .pip_packages :
390
- requirements_file .writelines (
391
- "\n " .join (self ._build_parameters .pip_packages )
392
- )
401
+ requirements_file .writelines (requirements_content )
402
+ self ._logger .debug (
403
+ "================ Begin requirements.txt ================"
404
+ )
405
+ for req in requirements_content :
406
+ self ._logger .debug (f" { req .strip ()} " )
407
+ self ._logger .debug (
408
+ "================ End requirements.txt =================="
409
+ )
393
410
394
411
def _copy_sdk_file (self , sdk_file : Optional [Path ]):
395
412
if sdk_file is not None and os .path .isfile (sdk_file ):
0 commit comments