diff --git a/generateForge.py b/generateForge.py index bb44845..6bc5edd 100755 --- a/generateForge.py +++ b/generateForge.py @@ -173,10 +173,7 @@ def version_from_modernized_installer( v.libraries = [] mc_filter = load_mc_version_filter(mc_version) - for upstream_lib in installer.libraries: - forge_lib = Library.parse_obj( - upstream_lib.dict() - ) # "cast" MojangLibrary to Library + for forge_lib in installer.libraries: if ( forge_lib.name.is_lwjgl() or forge_lib.name.is_log4j() @@ -270,8 +267,7 @@ def version_from_build_system_installer( ) v.maven_files.append(installer_lib) - for upstream_lib in profile.libraries: - forge_lib = Library.parse_obj(upstream_lib.dict()) + for forge_lib in profile.libraries: if forge_lib.name.is_log4j(): continue @@ -289,8 +285,7 @@ def version_from_build_system_installer( v.libraries.append(FORGEWRAPPER_LIBRARY) - for upstream_lib in installer.libraries: - forge_lib = Library.parse_obj(upstream_lib.dict()) + for forge_lib in installer.libraries: if forge_lib.name.is_log4j(): continue diff --git a/generateNeoForge.py b/generateNeoForge.py index 09a9044..ab0f1df 100644 --- a/generateNeoForge.py +++ b/generateNeoForge.py @@ -72,44 +72,20 @@ def version_from_build_system_installer( ) v.maven_files.append(installer_lib) - for upstream_lib in profile.libraries: - forge_lib = Library.parse_obj(upstream_lib.dict()) + for forge_lib in profile.libraries: if forge_lib.name.is_log4j(): continue - if ( - forge_lib.name.group == "net.neoforged" - and forge_lib.name.artifact == version.artifact - and forge_lib.name.classifier == "universal" - ): - # WORKAROUND: Early NeoForge 20.2 versions have an invalid version for universal jars. Instead of 1.20.2-20.2.20-beta it should just be 20.2.20-beta - # See https://github.com/neoforged/NeoGradle/issues/23 - download_name = forge_lib.name - if version.artifact == "neoforge": - download_name = deepcopy(forge_lib.name) - download_name.version = version.long_version - forge_lib.downloads.artifact.url = ( - "https://maven.neoforged.net/%s" % download_name.path() - ) v.maven_files.append(forge_lib) v.libraries = [] v.libraries.append(FORGEWRAPPER_LIBRARY) - for upstream_lib in installer.libraries: - forge_lib = Library.parse_obj(upstream_lib.dict()) + for forge_lib in installer.libraries: if forge_lib.name.is_log4j(): continue - if forge_lib.name.group == "net.neoforged": - if forge_lib.name.artifact == version.artifact: - forge_lib.name.classifier = "launcher" - forge_lib.downloads.artifact.path = forge_lib.name.path() - forge_lib.downloads.artifact.url = ( - "https://maven.neoforged.net/%s" % forge_lib.name.path() - ) - forge_lib.name = forge_lib.name v.libraries.append(forge_lib) v.release_time = installer.release_time diff --git a/meta/model/__init__.py b/meta/model/__init__.py index 68cd034..fb062f5 100644 --- a/meta/model/__init__.py +++ b/meta/model/__init__.py @@ -281,15 +281,12 @@ class MojangRules(MetaBase): return self.__root__[item] -class MojangLibrary(MetaBase): +class Library(MetaBase): extract: Optional[MojangLibraryExtractRules] name: Optional[GradleSpecifier] downloads: Optional[MojangLibraryDownloads] natives: Optional[Dict[str, str]] rules: Optional[MojangRules] - - -class Library(MojangLibrary): url: Optional[str] mmcHint: Optional[str] = Field(None, alias="MMC-hint") diff --git a/meta/model/forge.py b/meta/model/forge.py index 937cc18..a59b87a 100644 --- a/meta/model/forge.py +++ b/meta/model/forge.py @@ -3,7 +3,7 @@ from typing import Optional, List, Dict from pydantic import Field -from . import MetaBase, GradleSpecifier, MojangLibrary +from . import MetaBase, GradleSpecifier, Library from .mojang import MojangVersion @@ -46,7 +46,7 @@ class DerivedForgeIndex(MetaBase): class FMLLib( MetaBase -): # old ugly stuff. Maybe merge this with Library or MojangLibrary later +): # old ugly stuff. Maybe merge this with Library or Library later filename: str checksum: str ours: bool @@ -91,7 +91,7 @@ class ForgeInstallerProfileInstallSection(MetaBase): mod_list: Optional[str] = Field(alias="modList") -class ForgeLibrary(MojangLibrary): +class ForgeLibrary(Library): url: Optional[str] server_req: Optional[bool] = Field(alias="serverreq") client_req: Optional[bool] = Field(alias="clientreq") @@ -176,7 +176,7 @@ class ForgeInstallerProfileV2(MetaBase): welcome: Optional[str] data: Optional[Dict[str, DataSpec]] processors: Optional[List[ProcessorSpec]] - libraries: Optional[List[MojangLibrary]] + libraries: Optional[List[Library]] mirror_list: Optional[str] = Field(alias="mirrorList") server_jar_path: Optional[str] = Field(alias="serverJarPath") diff --git a/meta/model/mojang.py b/meta/model/mojang.py index 04e9b60..25d71ae 100644 --- a/meta/model/mojang.py +++ b/meta/model/mojang.py @@ -7,7 +7,6 @@ from . import ( MetaBase, MojangArtifactBase, MojangAssets, - MojangLibrary, MojangArtifact, MojangLibraryDownloads, Library, @@ -216,7 +215,7 @@ class MojangVersion(MetaBase): asset_index: Optional[MojangAssets] = Field(alias="assetIndex") assets: Optional[str] downloads: Optional[Dict[str, MojangArtifactBase]] # TODO improve this? - libraries: Optional[List[MojangLibrary]] # TODO: optional? + libraries: Optional[List[Library]] # TODO: optional? main_class: Optional[str] = Field(alias="mainClass") applet_class: Optional[str] = Field(alias="appletClass") processArguments: Optional[str] diff --git a/meta/model/neoforge.py b/meta/model/neoforge.py index 853e433..5f5237f 100644 --- a/meta/model/neoforge.py +++ b/meta/model/neoforge.py @@ -3,7 +3,7 @@ from typing import Optional, List, Dict from pydantic import Field -from . import MetaBase, GradleSpecifier, MojangLibrary +from . import MetaBase, GradleSpecifier, Library from .mojang import MojangVersion @@ -53,7 +53,7 @@ class DerivedNeoForgeIndex(MetaBase): class FMLLib( MetaBase -): # old ugly stuff. Maybe merge this with Library or MojangLibrary later +): # old ugly stuff. Maybe merge this with Library or Library later filename: str checksum: str ours: bool @@ -98,7 +98,7 @@ class NeoForgeInstallerProfileInstallSection(MetaBase): mod_list: Optional[str] = Field(alias="modList") -class NeoForgeLibrary(MojangLibrary): +class NeoForgeLibrary(Library): url: Optional[str] server_req: Optional[bool] = Field(alias="serverreq") client_req: Optional[bool] = Field(alias="clientreq") @@ -166,7 +166,7 @@ class NeoForgeInstallerProfileV2(MetaBase): welcome: Optional[str] data: Optional[Dict[str, DataSpec]] processors: Optional[List[ProcessorSpec]] - libraries: Optional[List[MojangLibrary]] + libraries: Optional[List[Library]] mirror_list: Optional[str] = Field(alias="mirrorList") server_jar_path: Optional[str] = Field(alias="serverJarPath")