mirror of https://github.com/apache/kafka.git
47 lines
1.7 KiB
Python
47 lines
1.7 KiB
Python
|
#!/usr/bin/env python
|
||
|
|
||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||
|
# contributor license agreements. See the NOTICE file distributed with
|
||
|
# this work for additional information regarding copyright ownership.
|
||
|
# The ASF licenses this file to You 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.
|
||
|
|
||
|
import subprocess
|
||
|
import tempfile
|
||
|
import os
|
||
|
from distutils.dir_util import copy_tree
|
||
|
import shutil
|
||
|
|
||
|
def execute(command):
|
||
|
if subprocess.run(command).returncode != 0:
|
||
|
raise SystemError("Failure in executing following command:- ", " ".join(command))
|
||
|
|
||
|
def get_input(message):
|
||
|
value = input(message)
|
||
|
if value == "":
|
||
|
raise ValueError("This field cannot be empty")
|
||
|
return value
|
||
|
|
||
|
def jvm_image(command):
|
||
|
temp_dir_path = tempfile.mkdtemp()
|
||
|
current_dir = os.path.dirname(os.path.realpath(__file__))
|
||
|
copy_tree(f"{current_dir}/jvm", f"{temp_dir_path}/jvm")
|
||
|
copy_tree(f"{current_dir}/resources", f"{temp_dir_path}/jvm/resources")
|
||
|
command = command.replace("$DOCKER_FILE", f"{temp_dir_path}/jvm/Dockerfile")
|
||
|
command = command.replace("$DOCKER_DIR", f"{temp_dir_path}/jvm")
|
||
|
try:
|
||
|
execute(command.split())
|
||
|
except:
|
||
|
raise SystemError("Docker Image Build failed")
|
||
|
finally:
|
||
|
shutil.rmtree(temp_dir_path)
|