@@ -103,6 +103,13 @@ const BUILD_HELP = (
103
103
so using `--register` without `--deploy` or the
104
104
more specific `--deploy-jll` is an error.
105
105
106
+ --skip-build Skips building the platform binaries. This option
107
+ is useful if, e.g., you have already built all
108
+ platform binaries and now only wish to deploy the
109
+ JLL package to GitHub. Note that this will error if
110
+ not all tarballs for the listed platforms are
111
+ present.
112
+
106
113
--meta-json Output a JSON representation of the given build
107
114
instead of actually building. Note that this can
108
115
(and often does) output multiple JSON objects for
@@ -251,6 +258,9 @@ function build_tarballs(ARGS, src_name, src_version, sources, script,
251
258
error (" Cannot register with a local deployment!" )
252
259
end
253
260
261
+ # This sets whether building should be skipped
262
+ skip_build = check_flag! (ARGS , " --skip-build" )
263
+
254
264
if deploy_bin || deploy_jll
255
265
code_dir = joinpath (Pkg. devdir (), " $(src_name) _jll" )
256
266
@@ -342,6 +352,12 @@ function build_tarballs(ARGS, src_name, src_version, sources, script,
342
352
end
343
353
344
354
build_output_meta = Dict ()
355
+ elseif skip_build
356
+ # If they do not want to build, there is nothing we can do here
357
+ build_output_meta = Dict ()
358
+ if verbose
359
+ @info (" Skipping the build process for the tarballs as requested..." )
360
+ end
345
361
else
346
362
# Build the given platforms using the given sources
347
363
build_output_meta = autobuild (
@@ -368,8 +384,18 @@ function build_tarballs(ARGS, src_name, src_version, sources, script,
368
384
369
385
# The location the binaries will be available from
370
386
bin_path = " https://github.com/$(deploy_jll_repo) /releases/download/$(tag) "
371
- build_jll_package (src_name, build_version, sources, code_dir, build_output_meta,
372
- dependencies, bin_path; verbose, julia_compat, extra_kwargs... )
387
+
388
+ if ! skip_build
389
+ # Build JLL package based on output of autobuild
390
+ build_jll_package (src_name, build_version, sources, code_dir, build_output_meta,
391
+ dependencies, bin_path; verbose, julia_compat, extra_kwargs... )
392
+ else
393
+ # Rebuild output meta data from the information we have here
394
+ rebuild_jll_package (src_name, build_version, sources, platforms, products, dependencies,
395
+ joinpath (pwd (), " products" ), bin_path;
396
+ code_dir, verbose, from_scratch= false ,
397
+ julia_compat, extra_kwargs... )
398
+ end
373
399
if deploy_jll_repo != " local"
374
400
push_jll_package (src_name, build_version; code_dir= code_dir, deploy_repo= deploy_jll_repo)
375
401
end
0 commit comments