Skip to content

Commit 6399997

Browse files
committed
build-release: add --vm-name, --vm-deps and --build-dir
1 parent a8ea13f commit 6399997

File tree

1 file changed

+68
-8
lines changed

1 file changed

+68
-8
lines changed

build-release

+68-8
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,15 @@ printHelp () {
7979
${tab}-v
8080
${tab}${tab}write package version strings
8181
82+
${tab}--vm-name <STRING>
83+
${tab}${tab}use STRING as custom vm package basename
84+
85+
${tab}--vm-deps <STRING>
86+
${tab}${tab}adds a DEPS file to the vm package using STRING as content
87+
88+
${tab}--build-dir <DIRECTORY>
89+
${tab}${tab}write built files in DIRECTORY
90+
8291
Target can be:
8392
8493
${tab}vm
@@ -231,7 +240,14 @@ cleanVmBuildDir () {
231240
fi
232241
}
233242

234-
package () {
243+
packageDir () {
244+
local append='false'
245+
if [ "${1}" = '--append' ]
246+
then
247+
append='true'
248+
shift
249+
fi
250+
235251
local archive_format="${1}"
236252
local archive_filename="${2}"
237253
local content_dir="${3}"
@@ -240,7 +256,10 @@ package () {
240256
cd "${content_dir}"
241257
if [ -f "${archive_filename}" ]
242258
then
243-
rm -v "${archive_filename}"
259+
if ! "${append}"
260+
then
261+
rm -v "${archive_filename}"
262+
fi
244263
fi
245264

246265
7z -mx='9' -t"${archive_format}" a "${archive_filename}" .
@@ -303,7 +322,7 @@ build () {
303322
local vmpak_archive_format='zip'
304323
local vmpak_archive_extension='dpk'
305324

306-
local build_dir="${root_dir}/build"
325+
local build_dir="${build_dir:-${root_dir}/build}"
307326
local release_dir="${build_dir}/release"
308327

309328
local vm_kind_list='cgame sgame'
@@ -456,7 +475,7 @@ build () {
456475

457476
if "${build_vm}"
458477
then
459-
vmpak_archive_basename='vm'
478+
vmpak_archive_basename="${vmpak_basename}"
460479
cmake_opts="${cmake_opts} -DBUILD_GAME_NACL=ON -DBUILD_GAME_NACL_NEXE=ON -DBUILD_CGAME=ON -DBUILD_SGAME=ON -DBUILD_CLIENT=OFF -DBUILD_TTY_CLIENT=OFF -DBUILD_SERVER=OFF"
461480
fi
462481

@@ -701,7 +720,7 @@ build () {
701720

702721
# compress vm symbols
703722

704-
package "${symbol_archive_format}" "${symbol_archive_filename}" "${symbol_dir}"
723+
packageDir "${symbol_archive_format}" "${symbol_archive_filename}" "${symbol_dir}"
705724

706725
cp -v "${symbol_archive_filename}" "${content_dir}/${symbol_archive_basename}.${symbol_archive_format}"
707726

@@ -714,7 +733,16 @@ build () {
714733
rm -v "${vmpak_archive_filename}"
715734
fi
716735

717-
package "${vmpak_archive_format}" "${vmpak_archive_filename}" "${content_dir}"
736+
packageDir "${vmpak_archive_format}" "${vmpak_archive_filename}" "${content_dir}"
737+
738+
if [ -n "${vmpak_deps_content}" ]
739+
then
740+
local temp_deps_dir="$(mktemp -d)"
741+
printf "${vmpak_deps_content}" > "${temp_deps_dir}/DEPS"
742+
packageDir --append "${vmpak_archive_format}" "${vmpak_archive_filename}" "${temp_deps_dir}"
743+
rm "${temp_deps_dir}/DEPS"
744+
rmdir "${temp_deps_dir}"
745+
fi
718746

719747
cleanSymbols "${symbol_dir}" "${symbol_archive_filename}"
720748
cleanVmBuildDir "${content_dir}" "${symbol_archive_basename}"
@@ -778,7 +806,7 @@ build () {
778806
then
779807
# compress engine symbols
780808

781-
package "${symbol_archive_format}" "${symbol_archive_filename}" "${symbol_dir}"
809+
packageDir "${symbol_archive_format}" "${symbol_archive_filename}" "${symbol_dir}"
782810

783811
cp -v "${symbol_archive_filename}" "${content_dir}/${symbol_archive_basename}-${target}.${symbol_archive_format}"
784812
fi
@@ -787,7 +815,7 @@ build () {
787815

788816
engine_archive_filename="${release_dir}/${engine_archive_basename}${engine_version_string}.${engine_archive_format}"
789817

790-
package "${engine_archive_format}" "${engine_archive_filename}" "${content_dir}"
818+
packageDir "${engine_archive_format}" "${engine_archive_filename}" "${content_dir}"
791819

792820
cleanSymbols "${symbol_dir}" "${symbol_archive_filename}"
793821
cleanEngineBuildDir "${content_dir}"
@@ -805,6 +833,8 @@ parallel_target='false'
805833
write_version_string='false'
806834
write_username_string='false'
807835
target_list=''
836+
vmpak_basename='vm'
837+
vmpak_deps_content=''
808838

809839
while [ -n "${1:-}" ]
810840
do
@@ -836,6 +866,36 @@ do
836866
write_version_string='true'
837867
shift
838868
;;
869+
'--vm-name')
870+
shift
871+
case "${1:-}" in
872+
''|'-'*)
873+
throwError BADREQUEST "missing vm name"
874+
;;
875+
esac
876+
vmpak_basename="${1}"
877+
shift
878+
;;
879+
'--vm-deps')
880+
shift
881+
case "${1:-}" in
882+
''|'-'*)
883+
throwError BADREQUEST "missing DEPS content string"
884+
;;
885+
esac
886+
vmpak_deps_content="${1}"
887+
shift
888+
;;
889+
'--build-dir')
890+
shift
891+
case "${1:-}" in
892+
''|'-'*)
893+
throwError BADREQUEST "missing build dir"
894+
;;
895+
esac
896+
build_dir="$(realpath "${1}")"
897+
shift
898+
;;
839899
'-h'|'--help')
840900
printHelp
841901
;;

0 commit comments

Comments
 (0)