Bootstrap Warium NeoForge port scaffold
This commit is contained in:
40
tools/decompile_original.py
Normal file
40
tools/decompile_original.py
Normal file
@@ -0,0 +1,40 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import shutil
|
||||
import subprocess
|
||||
import urllib.request
|
||||
from pathlib import Path
|
||||
|
||||
from warium_source import BUILD_DIR, ROOT, clean_dir, download_original
|
||||
|
||||
VINEFLOWER_URL = "https://repo1.maven.org/maven2/org/vineflower/vineflower/1.11.1/vineflower-1.11.1.jar"
|
||||
VINEFLOWER_JAR = BUILD_DIR / "vineflower-1.11.1.jar"
|
||||
DECOMPILED_DIR = ROOT / "build" / "decompiled" / "warium-1.2.7"
|
||||
|
||||
|
||||
def main() -> None:
|
||||
original = download_original()
|
||||
BUILD_DIR.mkdir(parents=True, exist_ok=True)
|
||||
if not VINEFLOWER_JAR.exists():
|
||||
request = urllib.request.Request(VINEFLOWER_URL, headers={"User-Agent": "MrSphay/Warium-NeoForge-Port/1.0"})
|
||||
with urllib.request.urlopen(request) as response, VINEFLOWER_JAR.open("wb") as out:
|
||||
shutil.copyfileobj(response, out)
|
||||
clean_dir(DECOMPILED_DIR)
|
||||
subprocess.run(
|
||||
["java", "-jar", str(VINEFLOWER_JAR), str(original), str(DECOMPILED_DIR)],
|
||||
cwd=ROOT,
|
||||
check=True,
|
||||
)
|
||||
report = ROOT / "docs" / "inventory" / "decompile-report.md"
|
||||
report.parent.mkdir(parents=True, exist_ok=True)
|
||||
report.write_text(
|
||||
"# Decompile Report\n\n"
|
||||
f"- Source: `{original}`\n"
|
||||
f"- Output: `{DECOMPILED_DIR}`\n"
|
||||
"- Decompiler: Vineflower 1.11.1\n",
|
||||
encoding="utf-8",
|
||||
)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user