Norbi Peti
5c1fe34f46
It doesn't work but anyway Also remove parameter that allowed placing blocks in sim
68 lines
2.5 KiB
Python
Executable file
68 lines
2.5 KiB
Python
Executable file
#!/usr/bin/python3
|
|
|
|
import argparse
|
|
import re
|
|
# this assumes a mostly semver-complient version number
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(description="Increment TechbloxModdingAPI version")
|
|
parser.add_argument('version', metavar="VN", type=str, help="The version number to increment, or the index of the number (zero-indexed).")
|
|
args = parser.parse_args()
|
|
|
|
version_index = -1
|
|
try:
|
|
version_index = int(args.version)
|
|
except Exception:
|
|
if args.version.lower() == "major":
|
|
version_index = 0
|
|
elif args.version.lower() == "minor":
|
|
version_index = 1
|
|
elif args.version.lower() == "patch":
|
|
version_index = 2
|
|
|
|
if version_index < 0:
|
|
print("Could not parse version argument.")
|
|
exit(version_index)
|
|
|
|
print(version_index)
|
|
old_version = ""
|
|
new_version = ""
|
|
|
|
with open("../TechbloxModdingAPI/TechbloxModdingAPI.csproj", "r") as xmlFile:
|
|
print("Parsing TechbloxModdingAPI.csproj")
|
|
fileStr = xmlFile.read()
|
|
versionMatch = re.search(r"<Version>(.+)</Version>", fileStr)
|
|
if versionMatch is None:
|
|
print("Unable to find version number in TechbloxModdingAPI.csproj")
|
|
exit(1)
|
|
old_version = versionMatch.group(1)
|
|
versionList = old_version.split(".")
|
|
if len(versionList) <= version_index:
|
|
print("Invalid version string")
|
|
exit(1)
|
|
versionList[version_index] = str(int(versionList[version_index]) + 1)
|
|
for i in range(version_index + 1, len(versionList)):
|
|
try:
|
|
int(versionList[i])
|
|
versionList[i] = "0"
|
|
except Exception:
|
|
tmp = versionList[i].split("-")
|
|
tmp[0] = "0"
|
|
versionList[i] = "-".join(tmp)
|
|
new_version = ".".join(versionList)
|
|
print(new_version)
|
|
newFileContents = fileStr.replace("<Version>"+old_version+"</Version>", "<Version>"+new_version+"</Version>")
|
|
|
|
with open("../TechbloxModdingAPI/TechbloxModdingAPI.csproj", "w") as xmlFile:
|
|
print("Writing new version to project file")
|
|
xmlFile.write(newFileContents)
|
|
|
|
with open("../doxygen.conf", "r") as doxFile:
|
|
print("Parsing doxygen.conf")
|
|
doxStr = doxFile.read()
|
|
newFileContents = doxStr.replace("= \"v" + old_version + "\"", "= \"v" + new_version + "\"")
|
|
|
|
with open("../doxygen.conf", "w") as doxFile:
|
|
print("Writing new version to doxygen config")
|
|
doxFile.write(newFileContents)
|