publish-scripts/driver.py (45 lines of code) (raw):
#! /usr/bin/env python3
import distro
import platform
import sys
import os
import shutil
from shared import constants
def main(*args):
# assume follow semantic versioning 2.0.0
packageNamePostfix = ""
print(f"args: {args} {len(args)}")
if (len(args) >= 4):
packageNamePostfix = "-" + args[3]
constants.PACKAGENAME = constants.PACKAGENAME + packageNamePostfix
print(f"constants.PACKAGENAME: {constants.PACKAGENAME}")
constants.CONSOLIDATED_BUILD_ID = args[2] # New argument for consolidatedBuildId
print(f"Consolidated Build ID: {constants.CONSOLIDATED_BUILD_ID}") # Print the new argument
constants.VERSION = args[1]
constants.DRIVERROOTDIR = os.path.dirname(os.path.abspath(__file__))
platformSystem = platform.system()
if platformSystem == "Linux":
d = distro.id()
if d == "ubuntu":
import ubuntu.buildDEB as dist
print("Detected Ubuntu, starting to work on a deb package...")
else:
print(f"Does not support distribution {d} yet.")
return
elif platformSystem == "Windows":
import chocolatey.buildNUPKG as dist
print("Detected Windows, starting to work on a nupkg package...")
else:
print(f"Does not support platform {platformSystem} yet.")
return
# at root
initWorkingDir(constants.BUILDFOLDER, True)
initWorkingDir(constants.ARTIFACTFOLDER)
# build package
print("Building package...")
dist.preparePackage()
def initWorkingDir(dirName, clean = False):
if clean:
if os.path.exists(dirName):
print(f"trying to clear {dirName}/ directory")
shutil.rmtree(dirName)
print(f"trying to create {dirName}/ directory")
os.makedirs(dirName, exist_ok=True)
if __name__ == "__main__":
# input example: 2.0.1-beta.25
main(*sys.argv)