aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib/code/version.py
diff options
context:
space:
mode:
Diffstat (limited to 'codegen/lib/code/version.py')
-rwxr-xr-xcodegen/lib/code/version.py38
1 files changed, 36 insertions, 2 deletions
diff --git a/codegen/lib/code/version.py b/codegen/lib/code/version.py
index c2053da3..d4a37232 100755
--- a/codegen/lib/code/version.py
+++ b/codegen/lib/code/version.py
@@ -31,7 +31,28 @@ def set_version_id(version_id: str) -> None:
with open(README_DIR, 'wb') as f:
f.write(readme_text.encode())
-
+
+ # update the version in all Cargo.toml files
+ # version = "0.10.3+mc1.21.1"
+ for root, _, files in os.walk(get_dir_location('..')):
+ for file in files:
+ if file == 'Cargo.toml':
+ with open(os.path.join(root, file), 'r') as f:
+ cargo_toml = f.read().splitlines()
+ for i, line in enumerate(cargo_toml):
+ if line.strip().startswith('version = '):
+ replaced = re.sub(r'\+mc[^"]+?"', f'+mc{version_id}"', line)
+ cargo_toml[i] = replaced
+ break
+ else:
+ # didn't have a version line
+ continue
+ if cargo_toml[-1] != '':
+ # make sure there's always a trailing newline
+ cargo_toml.append('')
+ with open(os.path.join(root, file), 'w') as f:
+ f.write('\n'.join(cargo_toml))
+ print('Updated version in README.md and Cargo.toml files')
def get_protocol_version() -> str:
# azalea-protocol/src/packets/mod.rs
@@ -49,7 +70,7 @@ def set_protocol_version(protocol_version: str) -> None:
with open(get_dir_location('../azalea-protocol/src/packets/mod.rs'), 'r') as f:
mod_rs = f.read().splitlines()
for i, line in enumerate(mod_rs):
- if line.strip().startswith('pub const PROTOCOL_VERSION'):
+ if line.strip().startswith('pub const PROTOCOL_VERSION:'):
mod_rs[i] = f'pub const PROTOCOL_VERSION: i32 = {protocol_version};'
break
else:
@@ -58,3 +79,16 @@ def set_protocol_version(protocol_version: str) -> None:
with open(get_dir_location('../azalea-protocol/src/packets/mod.rs'), 'w') as f:
f.write('\n'.join(mod_rs))
+def set_version_name(version_name: str) -> None:
+ with open(get_dir_location('../azalea-protocol/src/packets/mod.rs'), 'r') as f:
+ mod_rs = f.read().splitlines()
+ for i, line in enumerate(mod_rs):
+ if line.strip().startswith('pub const VERSION_NAME:'):
+ mod_rs[i] = f'pub const VERSION_NAME: &str = "{version_name}";'
+ break
+ else:
+ raise Exception(
+ 'Could not find version name in azalea-protocol/src/packets/mod.rs')
+
+ with open(get_dir_location('../azalea-protocol/src/packets/mod.rs'), 'w') as f:
+ f.write('\n'.join(mod_rs))