aboutsummaryrefslogtreecommitdiff
path: root/codegen/lib/download.py
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2025-09-30 10:56:34 -0500
committerGitHub <noreply@github.com>2025-09-30 10:56:34 -0500
commit643fcb98c0e6cdc63218dd39960d9053b209d9a6 (patch)
tree6bddb7fe39b8fcc3ab3fb2665574533bb227898a /codegen/lib/download.py
parenta80d8d1b242430c4a251876fa67bfd26af7a0de9 (diff)
downloadazalea-drasl-643fcb98c0e6cdc63218dd39960d9053b209d9a6.tar.xz
1.21.9 (#235)
* start updating to 25w33a * 1.21.9-pre2 * clippy * cleanup, and fix c_explode and c_player_rotation * mc update should be in Changed section in the changelog * 1.21.9
Diffstat (limited to 'codegen/lib/download.py')
-rw-r--r--codegen/lib/download.py105
1 files changed, 72 insertions, 33 deletions
diff --git a/codegen/lib/download.py b/codegen/lib/download.py
index 7878bb45..de6e2f2d 100644
--- a/codegen/lib/download.py
+++ b/codegen/lib/download.py
@@ -140,50 +140,87 @@ def get_latest_fabric_api_version():
return tree.find(".//latest").text
+def get_latest_fabric_kotlin_version():
+ # https://maven.fabricmc.net/net/fabricmc/fabric-language-kotlin/maven-metadata.xml
+ path = get_dir_location("__cache__/fabric-kotlin-maven-metadata.xml")
+
+ if not os.path.exists(path):
+ print("\033[92mDownloading Fabric Kotlin metadata...\033[m")
+ url = "https://maven.fabricmc.net/net/fabricmc/fabric-language-kotlin/maven-metadata.xml"
+ maven_metadata_xml = requests.get(url).text
+ with open(path, "w") as f:
+ json.dump(maven_metadata_xml, f)
+ else:
+ with open(path, "r") as f:
+ maven_metadata_xml = json.load(f)
+
+ tree = ET.ElementTree(ET.fromstring(maven_metadata_xml))
+ return tree.find(".//latest").text
+
+
+def get_latest_fabric_loom_version():
+ # https://maven.fabricmc.net/fabric-loom/fabric-loom.gradle.plugin/maven-metadata.xml
+
+ path = get_dir_location("__cache__/fabric-loom-maven-metadata.xml")
+ if not os.path.exists(path):
+ print("\033[92mDownloading Fabric Loom metadata...\033[m")
+ url = "https://maven.fabricmc.net/fabric-loom/fabric-loom.gradle.plugin/maven-metadata.xml"
+ maven_metadata_xml = requests.get(url).text
+ with open(path, "w") as f:
+ json.dump(maven_metadata_xml, f)
+ else:
+ with open(path, "r") as f:
+ maven_metadata_xml = json.load(f)
+
+ tree = ET.ElementTree(ET.fromstring(maven_metadata_xml))
+ return tree.find(".//latest").text
+
+
def get_fabric_api_versions():
# https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api/maven-metadata.xml
- if not os.path.exists(get_dir_location("__cache__/fabric_api_versions.json")):
- print("\033[92mDownloading Fabric API versions...\033[m")
- fabric_api_versions_xml_text = requests.get(
- "https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api/maven-metadata.xml"
- ).text
- # parse xml
- fabric_api_versions_data_xml = ET.fromstring(fabric_api_versions_xml_text)
- fabric_api_versions = []
-
- versioning_el = fabric_api_versions_data_xml.find("versioning")
- assert versioning_el
- versions_el = versioning_el.find("versions")
- assert versions_el
-
- for version_el in versions_el.findall("version"):
- fabric_api_versions.append(version_el.text)
-
- with open(get_dir_location("__cache__/fabric_api_versions.json"), "w") as f:
- f.write(json.dumps(fabric_api_versions))
- else:
+ if os.path.exists(get_dir_location("__cache__/fabric_api_versions.json")):
with open(get_dir_location("__cache__/fabric_api_versions.json"), "r") as f:
fabric_api_versions = json.loads(f.read())
+ return fabric_api_versions
+
+ print("\033[92mDownloading Fabric API versions...\033[m")
+ fabric_api_versions_xml_text = requests.get(
+ "https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api/maven-metadata.xml"
+ ).text
+ # parse xml
+ fabric_api_versions_data_xml = ET.fromstring(fabric_api_versions_xml_text)
+ fabric_api_versions = []
+
+ versioning_el = fabric_api_versions_data_xml.find("versioning")
+ assert versioning_el
+ versions_el = versioning_el.find("versions")
+ assert versions_el
+
+ for version_el in versions_el.findall("version"):
+ fabric_api_versions.append(version_el.text)
+
+ with open(get_dir_location("__cache__/fabric_api_versions.json"), "w") as f:
+ f.write(json.dumps(fabric_api_versions))
return fabric_api_versions
def get_fabric_loader_versions():
# https://meta.fabricmc.net/v2/versions/loader
- if not os.path.exists(get_dir_location("__cache__/fabric_loader_versions.json")):
- print("\033[92mDownloading Fabric loader versions...\033[m")
- fabric_api_versions_json = requests.get(
- "https://meta.fabricmc.net/v2/versions/loader"
- ).json()
+ if os.path.exists(get_dir_location("__cache__/fabric_loader_versions.json")):
+ with open(get_dir_location("__cache__/fabric_loader_versions.json"), "r") as f:
+ return json.loads(f.read())
- fabric_api_versions = []
- for version in fabric_api_versions_json:
- fabric_api_versions.append(version["version"])
+ print("\033[92mDownloading Fabric loader versions...\033[m")
+ fabric_api_versions_json = requests.get(
+ "https://meta.fabricmc.net/v2/versions/loader"
+ ).json()
- with open(get_dir_location("__cache__/fabric_loader_versions.json"), "w") as f:
- f.write(json.dumps(fabric_api_versions))
- else:
- with open(get_dir_location("__cache__/fabric_loader_versions.json"), "r") as f:
- fabric_api_versions = json.loads(f.read())
+ fabric_api_versions = []
+ for version in fabric_api_versions_json:
+ fabric_api_versions.append(version["version"])
+
+ with open(get_dir_location("__cache__/fabric_loader_versions.json"), "w") as f:
+ f.write(json.dumps(fabric_api_versions))
return fabric_api_versions
@@ -195,6 +232,8 @@ def clear_version_cache():
"fabric_api_versions.json",
"fabric_loader_versions.json",
"fabric-api-maven-metadata.xml",
+ "fabric-kotlin-maven-metadata.xml",
+ "fabric-loom-maven-metadata.xml",
]
for file in files:
if os.path.exists(get_dir_location(f"__cache__/{file}")):