From 057f0183b2765061dcb77221673fedacab00d51b Mon Sep 17 00:00:00 2001 From: Marat Radchenko Date: Tue, 25 May 2021 11:14:51 +0300 Subject: [PATCH] Add --ignore-eol option that allows to run ue4-docker build even on EOL Windows versions --- ue4docker/build.py | 2 +- ue4docker/infrastructure/BuildConfiguration.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ue4docker/build.py b/ue4docker/build.py index c8870df7..0bfb527d 100644 --- a/ue4docker/build.py +++ b/ue4docker/build.py @@ -119,7 +119,7 @@ def build(): logger.info('Directory to copy DLLs from: {}\n'.format(config.dlldir), False) # Verify that the specified base image tag is not a release that has reached End Of Life (EOL) - if WindowsUtils.isEndOfLifeWindowsVersion(config.basetag) == True: + if not config.ignoreEOL and WindowsUtils.isEndOfLifeWindowsVersion(config.basetag): logger.error('Error: detected EOL base OS image tag: {}'.format(config.basetag), False) logger.error('This version of Windows has reached End Of Life (EOL), which means', False) logger.error('Microsoft no longer supports or maintains container base images for it.', False) diff --git a/ue4docker/infrastructure/BuildConfiguration.py b/ue4docker/infrastructure/BuildConfiguration.py index ff9d61b1..247f82a7 100644 --- a/ue4docker/infrastructure/BuildConfiguration.py +++ b/ue4docker/infrastructure/BuildConfiguration.py @@ -92,6 +92,7 @@ def addArguments(parser): parser.add_argument('--combine', action='store_true', help='Combine generated Dockerfiles into a single multi-stage build Dockerfile') parser.add_argument('--monitor', action='store_true', help='Monitor resource usage during builds (useful for debugging)') parser.add_argument('-interval', type=float, default=20.0, help='Sampling interval in seconds when resource monitoring has been enabled using --monitor (default is 20 seconds)') + parser.add_argument('--ignore-eol', action='store_true', help='Run builds even on EOL versions of Windows (advanced use only)') parser.add_argument('--ignore-blacklist', action='store_true', help='Run builds even on blacklisted versions of Windows (advanced use only)') parser.add_argument('-v', '--verbose', action='store_true', help='Enable verbose output during builds (useful for debugging)') @@ -150,6 +151,7 @@ def __init__(self, parser, argv): self.excludedComponents = set(self.args.exclude) self.baseImage = None self.prereqsTag = None + self.ignoreEOL = self.args.ignore_eol self.ignoreBlacklist = self.args.ignore_blacklist self.verbose = self.args.verbose self.layoutDir = self.args.layout