summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgenerateForge.py11
-rw-r--r--generateNeoForge.py28
-rw-r--r--meta/model/__init__.py5
-rw-r--r--meta/model/forge.py8
-rw-r--r--meta/model/mojang.py3
-rw-r--r--meta/model/neoforge.py8
6 files changed, 15 insertions, 48 deletions
diff --git a/generateForge.py b/generateForge.py
index bb44845569..6bc5edd7a8 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 09a9044140..ab0f1df585 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 68cd034f1b..fb062f5d35 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 937cc18cb5..a59b87aa5c 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 04e9b608ed..25d71ae2bf 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 853e433068..5f5237fa5f 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")