diff --git a/Makefile b/Makefile index ae3d0026..eec952de 100644 --- a/Makefile +++ b/Makefile @@ -226,7 +226,7 @@ docker-build: $(PCOMMAND) build_docker docker-run: - docker run -P -it bsquad + docker run -it bombsquad_server # WSL is Linux but running under Windows, so it can target either. By default # we want these top level targets (prefab-gui-debug, etc.) to yield native diff --git a/config/spinoffconfig.py b/config/spinoffconfig.py index 47d390eb..4da1e2ee 100644 --- a/config/spinoffconfig.py +++ b/config/spinoffconfig.py @@ -169,6 +169,7 @@ ctx.no_filter_dirs = { ctx.filter_file_names = { 'Makefile', '.gitignore', + '.dockerignore', '.gitattributes', 'README', 'README.md', diff --git a/tools/batools/build.py b/tools/batools/build.py index 1cae58d3..c13c3c12 100644 --- a/tools/batools/build.py +++ b/tools/batools/build.py @@ -645,33 +645,53 @@ def cmake_prep_dir(dirname: str, verbose: bool = False) -> None: if verbose: print(f'{Clr.BLD}{title}:{Clr.RST} Keeping existing build dir.') -def _docker_build(image_name : str, - dockerfile_dir : str, - bombsquad_version : str|None = None, - bombsquad_build : str|int|None = None, - cmake_build_type : str|None = None) -> None: - - build_cmd = ['docker','image','build', - '-t',image_name, - dockerfile_dir, - ] + +def _docker_build( + image_name: str, + dockerfile_dir: str, + bombsquad_version: str | None = None, + bombsquad_build: str | int | None = None, + cmake_build_type: str | None = None, +) -> None: + + build_cmd = [ + 'docker', + 'image', + 'build', + '-t', + image_name, + dockerfile_dir, + ] if bombsquad_version is not None: - build_cmd = build_cmd+['--build-arg', f'bombsquad_version={bombsquad_version}'] + build_cmd = build_cmd + [ + '--build-arg', + f'bombsquad_version={bombsquad_version}', + ] if bombsquad_build is not None: - build_cmd = build_cmd+['--build-arg', f'bombsquad_build={str(bombsquad_build)}'] + build_cmd = build_cmd + [ + '--build-arg', + f'bombsquad_build={str(bombsquad_build)}', + ] if cmake_build_type is not None: - build_cmd = build_cmd+['--build-arg', f'cmake_build_type={cmake_build_type}'] - subprocess.run(build_cmd,check=True) - + build_cmd = build_cmd + [ + '--build-arg', + f'cmake_build_type={cmake_build_type}', + ] + subprocess.run(build_cmd, check=True) + + # todo: add option to toggle between prefab and cmake def docker_build() -> None: import shutil - shutil.copy("src/assets/docker/Dockerfile",".") + + shutil.copy('src/assets/docker/Dockerfile', '.') from batools import version - version_num,build_num =version.get_current_version() - _docker_build('bsquad', - '.', - version_num, - build_num, - ) - os.remove("Dockerfile") \ No newline at end of file + + version_num, build_num = version.get_current_version() + _docker_build( + 'bombsquad_server', + '.', + version_num, + build_num, + ) + os.remove('Dockerfile') diff --git a/tools/batools/pcommands.py b/tools/batools/pcommands.py index f33e1b86..d5a08277 100644 --- a/tools/batools/pcommands.py +++ b/tools/batools/pcommands.py @@ -666,10 +666,13 @@ def prefab_binary_path() -> None: end='', ) + def build_docker() -> None: + """Build the docker image with bombsquad cmake server.""" import batools.build + batools.build.docker_build() - + def make_prefab() -> None: """Run prefab builds for the current platform."""