diff --git a/httphandler/build.py b/httphandler/build.py index 317993a0..7c61397d 100644 --- a/httphandler/build.py +++ b/httphandler/build.py @@ -6,60 +6,63 @@ import subprocess BASE_GETTER_CONST = "github.com/kubescape/kubescape/v2/core/cautils/getter" -def checkStatus(status, msg): +def check_status(status, msg): if status != 0: sys.stderr.write(msg) exit(status) -def getBuildDir(): - currentPlatform = platform.system() - buildDir = "build/" +def get_build_dir(): + current_platform = platform.system() + build_dir = "build/" - if currentPlatform == "Windows": return os.path.join(buildDir, "windows-latest") - if currentPlatform == "Linux": return os.path.join(buildDir, "ubuntu-latest") - if currentPlatform == "Darwin": return os.path.join(buildDir, "macos-latest") - raise OSError("Platform %s is not supported!" % (currentPlatform)) + if current_platform == "Windows": build_dir += "windows-latest" + elif current_platform == "Linux": build_dir += "ubuntu-latest" + elif current_platform == "Darwin": build_dir += "macos-latest" + else: raise OSError("Platform %s is not supported!" % (current_platform)) -def getPackageName(): - packageName = "kubescape" - # if platform.system() == "Windows": packageName += ".exe" + return build_dir - return packageName +def get_package_name(): + package_name = "kubescape" + + return package_name def main(): print("Building Kubescape") - # print environment variables - # print(os.environ) - # Set some variables - packageName = getPackageName() - buildUrl = "github.com/kubescape/kubescape/v2/core/cautils.BuildNumber" - releaseVersion = os.getenv("RELEASE") + package_name = get_package_name() + build_url = "github.com/kubescape/kubescape/v2/core/cautils.BuildNumber" + release_version = os.getenv("RELEASE") + client_var = "github.com/kubescape/kubescape/v2/core/cautils.Client" + client_name = os.getenv("CLIENT") + # Create build directory - buildDir = getBuildDir() + build_dir = get_build_dir() - ks_file = os.path.join(buildDir, packageName) + ks_file = os.path.join(build_dir, package_name) hash_file = ks_file + ".sha256" - if not os.path.isdir(buildDir): - os.makedirs(buildDir) + if not os.path.isdir(build_dir): + os.makedirs(build_dir) # Build kubescape ldflags = "-w -s" - if releaseVersion: - ldflags += " -X {}={}".format(buildUrl, releaseVersion) - + if release_version: + ldflags += " -X {}={}".format(build_url, release_version) + if client_name: + ldflags += " -X {}={}".format(client_var, client_name) + build_command = ["go", "build", "-tags=static", "-o", ks_file, "-ldflags" ,ldflags] print("Building kubescape and saving here: {}".format(ks_file)) print("Build command: {}".format(" ".join(build_command))) status = subprocess.call(build_command) - checkStatus(status, "Failed to build kubescape") + check_status(status, "Failed to build kubescape") sha256 = hashlib.sha256() with open(ks_file, "rb") as kube: