# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

version: '2.4'

volumes:
  container-sccache:

x-common-definitions: &common-definitions
  stdin_open: true
  environment:
    - SCCACHE_DIR=c:/root/sccache
    - SCCACHE_CACHE_SIZE="30G"
  tty: true
  volumes:
    - ${COBALT_SRC:-.}:c:/code/
    - ${SCCACHE_DIR:-container-sccache}:c:/root/sccache/
  cpus: ${DOCKER_CPUS:-12}
  mem_limit: ${DOCKER_MEMLIMIT:-100000M}

services:
  visual-studio-base:
    build:
      context: ./docker/windows/base/visualstudio2017
      dockerfile: ./Dockerfile
      args:
        - FROM_IMAGE=mcr.microsoft.com/windows/servercore:ltsc2019
    image: visual-studio-base
    scale: 0

  cobalt-build-win-base:
    build:
      context: ./docker/windows/base/build
      dockerfile: ./Dockerfile
      args:
        - FROM_IMAGE=visual-studio-base
    image: cobalt-build-win-base
    scale: 0
    depends_on:
      - visual-studio-base

  visual-studio-win32-base:
    build:
      context: ./docker/windows/base/visualstudio2017
      dockerfile: ./Dockerfile
      args:
        - FROM_IMAGE=mcr.microsoft.com/windows:1809
    image: visual-studio-win32-base
    scale: 0

  cobalt-build-win32-base:
    build:
      context: ./docker/windows/base/build
      dockerfile: ./Dockerfile
      args:
        - FROM_IMAGE=visual-studio-win32-base
    image: cobalt-build-win32-base
    scale: 0
    depends_on:
      - visual-studio-win32-base

  win-win32:
    <<: *common-definitions
    build:
      context: ./docker/windows/win32
      dockerfile: ./Dockerfile
    depends_on:
      - cobalt-build-win32-base
    environment:
      - PLATFORM=win-win32
      - CONFIG=${CONFIG:-devel}
      - TARGET=${TARGET:-cobalt_install}
      - NINJA_FLAGS
      - IS_DOCKER=1
    image: cobalt-build-win32

  build-win-win32:
    <<: *common-definitions
    build:
      context: ./docker/windows/win32
      dockerfile: ./Dockerfile
    depends_on:
      - cobalt-build-win32-base
    image: cobalt-build-win-win32
