def main(): # general vars artifacts = os.path.abspath("artifacts") # msbuild vars projectPath = os.path.abspath(".." + os.sep + "solution" + os.sep + "vstudio") projectFile = projectPath + os.sep + "BrainCloudClient.csproj" targets = "Rebuild" # clean up old builds cleanArtifacts(artifacts) # make new builds config = "Release" switches = "/p:OutputDir=bin\\Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) unitTestProjectFile = projectPath + os.sep + "UnitTest" + os.sep + "UnitTest.csproj" vstudio.buildProject(unitTestProjectFile, targets, config, in_switches=switches) # the previous step puts all dlls into bin\Release of UnitTest solution... run tests from there return
def main(): # general vars artifacts = os.path.abspath("artifacts") # parser = argparse.ArgumentParser(description="Run the build") # parser.add_argument("--baseVersion", dest="baseVersion", action="store", required=True, help="Set the library version ie 1.5.0") # args = parser.parse_args() #scmRev = os.getenv("P4_CHANGELIST", "dev") #version = args.baseVersion + "." + scmRev # msbuild vars projectPath = os.path.abspath(".." + os.sep + "solution" + os.sep + "vstudio") # prefabsPath = os.path.abspath(".." + os.sep + "BrainCloudPrefabs" + os.sep + "Assets") projectFile = projectPath + os.sep + "BrainCloudClient.csproj" targets = "Rebuild" # clean up old builds cleanArtifacts(artifacts) # stamp a version on the client library #stampVersion(args.baseVersion) # stamp readme #stampReadme("Unity/C#", version) # make new builds config = "Release" switches = "/p:OutputDir=bin\\Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) config = "Release_Unity" switches = "/p:OutputDir=bin\\Release_Unity" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # zip up builds # with zipfile.ZipFile(artifacts + os.sep + "brainCloudClient_DotNet_" + version + ".zip", "w") as myzip: # util.zipdir(projectPath + os.sep + "bin" + os.sep + "Release", myzip) # myzip.write("../../../Common/docs/README.TXT", "README.TXT") # # with zipfile.ZipFile(artifacts + os.sep + "brainCloudClient_Unity_" + version + ".zip", "w") as myzip: # myzip.write(projectPath + os.sep + "bin" + os.sep + "Release_Unity" + os.sep + "BrainCloud.dll", "Plugins" + os.sep + "BrainCloud" + os.sep + "BrainCloud.dll") # myzip.write(projectPath + os.sep + "bin" + os.sep + "Release_Unity" + os.sep + "BrainCloud.pdb", "Plugins" + os.sep + "BrainCloud" + os.sep + "BrainCloud.pdb") # myzip.write(projectPath + os.sep + "bin" + os.sep + "Release_Unity" + os.sep + "LitJson.dll", "Plugins" + os.sep + "BrainCloud" + os.sep + "LitJson.dll") # # util.zipdir(projectPath + os.sep + "bin" + os.sep + "Release_Unity" + os.sep + "iOS", myzip, "Plugins" + os.sep + "iOS", None, ["*.cs"]) # util.zipdir(projectPath + os.sep + "bin" + os.sep + "Release_Unity" + os.sep + "iOS", myzip, "Plugins" + os.sep + "BrainCloud" + os.sep + "Scripts", None, ["*.mm"]) # # util.zipdir(prefabsPath + os.sep + "Editor", myzip, "Editor", None, ["*.meta", "Build.cs"]) # util.zipdir(prefabsPath + os.sep + "Plugins" + os.sep + "BrainCloud" + os.sep + "Prefabs", myzip, "Plugins" + os.sep + "BrainCloud" + os.sep + "Prefabs", None, ["*.meta"]) # util.zipdir(prefabsPath + os.sep + "Plugins" + os.sep + "BrainCloud" + os.sep + "Scripts", myzip, "Plugins" + os.sep + "BrainCloud" + os.sep + "Scripts", None, ["*.meta"]) # # myzip.write("../../../Common/docs/README.TXT", "README.TXT") # return
def buildWinDesktop(artifacts, version, rebuild): # msbuild vars projectPath = os.path.abspath("..") projectFile = projectPath + os.sep + "solutions" + os.sep + "windowsDesktop_vc120" + os.sep + "brainCloud_winDesktop.sln" if rebuild: targets = "Rebuild" else: targets = "Build" print() print("Building windows api project") print() sys.stdout.flush() switches = [] switches.append("/p:Platform=Win32") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) switches = [] switches.append("/p:Platform=x64") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) print() print("Zipping library") rootPath = os.path.abspath("..") binPath = projectPath + os.sep + "solutions" + os.sep + "windowsDesktop_vc120" + os.sep + "bin" # zip up build directly from source files with zipfile.ZipFile("artifacts" + os.sep + "brainCloudClient_WindowsDesktop_" + version + ".zip", "w", compression=zipfile.ZIP_DEFLATED) as myzip: for fname in glob.iglob(binPath + os.sep + "Win32" + os.sep + "Release" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "win32" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "Win32" + os.sep + "Debug" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "win32" + os.sep + "debug" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "x64" + os.sep + "Release" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "x64" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "x64" + os.sep + "Debug" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "x64" + os.sep + "debug" + os.sep + os.path.basename(fname)) util.zipdir(rootPath + os.sep + "include" + os.sep, myzip, "include") util.zipdir(rootPath + os.sep + "lib" + os.sep + "jsoncpp-1.0.0", myzip, "thirdparty" + os.sep + "jsoncpp-1.0.0") util.zipdir( rootPath + os.sep + "lib" + os.sep + "win32" + os.sep + "cpprestsdk-static" + os.sep + "Release" + os.sep + "include", myzip, "thirdparty" + os.sep + "casablanca" + os.sep + "include") myzip.write("artifacts" + os.sep + "README.TXT", "README.TXT") return
def buildWinUwp(artifacts, version, rebuild): # msbuild vars projectPath = os.path.abspath("..") projectFile = projectPath + os.sep + "solutions" + os.sep + "windowsUniversal_vc140" + os.sep + "brainCloud_uwp.sln" if rebuild: targets = "brainCloud:Rebuild" else: targets = "brainCloud" print() print("Building windows universal project") print() sys.stdout.flush() # first restore nuget packages cwd = projectPath + os.sep + "solutions" + os.sep + "windowsUniversal_vc140" cmd = [] cmd.append("nuget") cmd.append("restore") print("Restoring nuget packages...") subprocess.check_call(cmd, cwd=cwd) # now build it switches = [] switches.append("/p:Platform=x86") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) switches = [] switches.append("/p:Platform=x64") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) switches = [] switches.append("/p:Platform=ARM") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) print() print("Zipping library") rootPath = os.path.abspath("..") binPath = projectPath + os.sep + "solutions" + os.sep + "windowsUniversal_vc140" + os.sep + "brainCloud" + os.sep + "Output" # zip up build directly from source files with zipfile.ZipFile("artifacts" + os.sep + "brainCloudClient_WindowsUniversal_" + version + ".zip", "w", compression=zipfile.ZIP_DEFLATED) as myzip: for fname in glob.iglob(binPath + os.sep + "ARM" + os.sep + "Release" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "ARM" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "ARM" + os.sep + "Debug" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "ARM" + os.sep + "debug" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "Win32" + os.sep + "Release" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "win32" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "Win32" + os.sep + "Debug" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "win32" + os.sep + "debug" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "x64" + os.sep + "Release" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "x64" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "x64" + os.sep + "Debug" + os.sep + "*.*"): myzip.write( fname, "lib" + os.sep + "x64" + os.sep + "debug" + os.sep + os.path.basename(fname)) util.zipdir(rootPath + os.sep + "include" + os.sep, myzip, "include") util.zipdir(rootPath + os.sep + "lib" + os.sep + "jsoncpp-1.0.0", myzip, "thirdparty" + os.sep + "jsoncpp-1.0.0") myzip.write("artifacts" + os.sep + "README.TXT", "README.TXT") return
def buildWinStore(artifacts, version, rebuild): print() print("Building windows store project") print() sys.stdout.flush() projectPath = os.path.abspath("..") projectFile = projectPath + os.sep + "solutions" + os.sep + "windowsStore_vc120" + os.sep + "brainCloud_winstore.sln" # winstore if rebuild: targets = "brainCloud_winstore:Rebuild" else: targets = "brainCloud_winstore" configs = [] configs.append("Debug") configs.append("Release") platforms = [] platforms.append("Win32") platforms.append("ARM") platforms.append("x64") for platform in platforms: for config in configs: print() print("BUILDING FOR PLATFORM: " + platform + " CONFIG: " + config) switches = [] switches.append("/p:Platform=" + platform) vstudio.buildProject(projectFile, targets, config, in_switches=switches) # winphone 8.1 if rebuild: targets = "brainCloud_wp:Rebuild" else: targets = "brainCloud_wp" configs = [] configs.append("Debug") configs.append("Release") platforms = [] platforms.append("Win32") platforms.append("ARM") for platform in platforms: for config in configs: print() print("BUILDING FOR PLATFORM: " + platform + " CONFIG: " + config) switches = [] switches.append("/p:Platform=" + platform) vstudio.buildProject(projectFile, targets, config, in_switches=switches) # winphone 8.0 if rebuild: targets = "brainCloud_wp8:Rebuild" else: targets = "brainCloud_wp8" configs = [] configs.append("Debug") configs.append("Release") platforms = [] platforms.append("Win32") platforms.append("ARM") for platform in platforms: for config in configs: print() print("BUILDING FOR PLATFORM: " + platform + " CONFIG: " + config) switches = [] switches.append("/p:Platform=" + platform) vstudio.buildProject(projectFile, targets, config, in_switches=switches) print() print("Zipping library files") rootPath = os.path.abspath("..") binPath = projectPath + os.sep + "solutions" + os.sep + "windowsStore_vc120" + os.sep + "bin" # zip up build directly from source files with zipfile.ZipFile("artifacts" + os.sep + "brainCloudClient_WindowsStore_" + version + ".zip", "w", compression=zipfile.ZIP_DEFLATED) as myzip: util.zipdir(rootPath + os.sep + "include" + os.sep, myzip, "include") util.zipdir(binPath, myzip, "lib") util.zipdir(rootPath + os.sep + "lib" + os.sep + "jsoncpp-1.0.0", myzip, "thirdparty" + os.sep + "jsoncpp-1.0.0") util.zipdir( rootPath + os.sep + "lib" + os.sep + "win32" + os.sep + "cpprestsdk-static" + os.sep + "Release" + os.sep + "include", myzip, "thirdparty" + os.sep + "casablanca" + os.sep + "include") myzip.write("artifacts" + os.sep + "README.TXT", "README.TXT") return
def buildWinDesktop(artifacts, version, rebuild): # msbuild vars projectPath = os.path.abspath("..") projectFile = projectPath + os.sep + "solutions" + os.sep + "windowsDesktop_vc120" + os.sep + "brainCloud_winDesktop.sln" if rebuild: targets = "Rebuild" else: targets = "Build" print() print("Building windows api project") print() sys.stdout.flush() switches = [] switches.append("/p:Platform=Win32") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) switches = [] switches.append("/p:Platform=x64") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) print() print("Zipping library") rootPath = os.path.abspath("..") binPath = projectPath + os.sep + "solutions" + os.sep + "windowsDesktop_vc120" + os.sep + "bin" # zip up build directly from source files with zipfile.ZipFile("artifacts" + os.sep + "brainCloudClient_WindowsDesktop_" + version + ".zip", "w", compression=zipfile.ZIP_DEFLATED) as myzip: for fname in glob.iglob(binPath + os.sep + "Win32" + os.sep + "Release" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "win32" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "Win32" + os.sep + "Debug" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "win32" + os.sep + "debug" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "x64" + os.sep + "Release" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "x64" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "x64" + os.sep + "Debug" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "x64" + os.sep + "debug" + os.sep + os.path.basename(fname)) util.zipdir(rootPath + os.sep + "include" + os.sep, myzip, "include") util.zipdir(rootPath + os.sep + "lib" + os.sep + "jsoncpp-1.0.0", myzip, "thirdparty" + os.sep + "jsoncpp-1.0.0") util.zipdir(rootPath + os.sep + "lib" + os.sep + "win32" + os.sep + "cpprestsdk-static" + os.sep + "Release" + os.sep + "include", myzip, "thirdparty" + os.sep + "casablanca" + os.sep + "include") myzip.write("artifacts" + os.sep + "README.TXT", "README.TXT") return
def buildWinUwp(artifacts, version, rebuild): # msbuild vars projectPath = os.path.abspath("..") projectFile = projectPath + os.sep + "solutions" + os.sep + "windowsUniversal_vc140" + os.sep + "brainCloud_uwp.sln" if rebuild: targets = "brainCloud:Rebuild" else: targets = "brainCloud" print() print("Building windows universal project") print() sys.stdout.flush() # first restore nuget packages cwd = projectPath + os.sep + "solutions" + os.sep + "windowsUniversal_vc140" cmd = [] cmd.append("nuget") cmd.append("restore") print("Restoring nuget packages...") subprocess.check_call(cmd, cwd=cwd) # now build it switches = [] switches.append("/p:Platform=x86") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) switches = [] switches.append("/p:Platform=x64") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) switches = [] switches.append("/p:Platform=ARM") # build release version of lib config = "Release" vstudio.buildProject(projectFile, targets, config, in_switches=switches) # build debug version of lib config = "Debug" vstudio.buildProject(projectFile, targets, config, in_switches=switches) print() print("Zipping library") rootPath = os.path.abspath("..") binPath = projectPath + os.sep + "solutions" + os.sep + "windowsUniversal_vc140" + os.sep + "brainCloud" + os.sep + "Output" # zip up build directly from source files with zipfile.ZipFile("artifacts" + os.sep + "brainCloudClient_WindowsUniversal_" + version + ".zip", "w", compression=zipfile.ZIP_DEFLATED) as myzip: for fname in glob.iglob(binPath + os.sep + "ARM" + os.sep + "Release" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "ARM" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "ARM" + os.sep + "Debug" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "ARM" + os.sep + "debug" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "Win32" + os.sep + "Release" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "win32" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "Win32" + os.sep + "Debug" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "win32" + os.sep + "debug" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "x64" + os.sep + "Release" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "x64" + os.sep + "release" + os.sep + os.path.basename(fname)) for fname in glob.iglob(binPath + os.sep + "x64" + os.sep + "Debug" + os.sep + "*.*"): myzip.write(fname, "lib" + os.sep + "x64" + os.sep + "debug" + os.sep + os.path.basename(fname)) util.zipdir(rootPath + os.sep + "include" + os.sep, myzip, "include") util.zipdir(rootPath + os.sep + "lib" + os.sep + "jsoncpp-1.0.0", myzip, "thirdparty" + os.sep + "jsoncpp-1.0.0") myzip.write("artifacts" + os.sep + "README.TXT", "README.TXT") return
def buildWinStore(artifacts, version, rebuild): print() print("Building windows store project") print() sys.stdout.flush() projectPath = os.path.abspath("..") projectFile = projectPath + os.sep + "solutions" + os.sep + "windowsStore_vc120" + os.sep + "brainCloud_winstore.sln" # winstore if rebuild: targets = "brainCloud_winstore:Rebuild" else: targets = "brainCloud_winstore" configs = [] configs.append("Debug") configs.append("Release") platforms = [] platforms.append("Win32") platforms.append("ARM") platforms.append("x64") for platform in platforms: for config in configs: print() print("BUILDING FOR PLATFORM: " + platform + " CONFIG: " + config) switches = [] switches.append("/p:Platform=" + platform) vstudio.buildProject(projectFile, targets, config, in_switches=switches) # winphone 8.1 if rebuild: targets = "brainCloud_wp:Rebuild" else: targets = "brainCloud_wp" configs = [] configs.append("Debug") configs.append("Release") platforms = [] platforms.append("Win32") platforms.append("ARM") for platform in platforms: for config in configs: print() print("BUILDING FOR PLATFORM: " + platform + " CONFIG: " + config) switches = [] switches.append("/p:Platform=" + platform) vstudio.buildProject(projectFile, targets, config, in_switches=switches) # winphone 8.0 if rebuild: targets = "brainCloud_wp8:Rebuild" else: targets = "brainCloud_wp8" configs = [] configs.append("Debug") configs.append("Release") platforms = [] platforms.append("Win32") platforms.append("ARM") for platform in platforms: for config in configs: print() print("BUILDING FOR PLATFORM: " + platform + " CONFIG: " + config) switches = [] switches.append("/p:Platform=" + platform) vstudio.buildProject(projectFile, targets, config, in_switches=switches) print() print("Zipping library files") rootPath = os.path.abspath("..") binPath = projectPath + os.sep + "solutions" + os.sep + "windowsStore_vc120" + os.sep + "bin" # zip up build directly from source files with zipfile.ZipFile("artifacts" + os.sep + "brainCloudClient_WindowsStore_" + version + ".zip", "w", compression=zipfile.ZIP_DEFLATED) as myzip: util.zipdir(rootPath + os.sep + "include" + os.sep, myzip, "include") util.zipdir(binPath, myzip, "lib") util.zipdir(rootPath + os.sep + "lib" + os.sep + "jsoncpp-1.0.0", myzip, "thirdparty" + os.sep + "jsoncpp-1.0.0") util.zipdir(rootPath + os.sep + "lib" + os.sep + "win32" + os.sep + "cpprestsdk-static" + os.sep + "Release" + os.sep + "include", myzip, "thirdparty" + os.sep + "casablanca" + os.sep + "include") myzip.write("artifacts" + os.sep + "README.TXT", "README.TXT") return