mirror of
https://github.com/unmojang/meta.git
synced 2025-09-23 03:01:21 -04:00
refactor: merge MojangLibrary and Library
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
This commit is contained in:
parent
2c509753c0
commit
eb47993bf8
@ -173,10 +173,7 @@ def version_from_modernized_installer(
|
|||||||
v.libraries = []
|
v.libraries = []
|
||||||
|
|
||||||
mc_filter = load_mc_version_filter(mc_version)
|
mc_filter = load_mc_version_filter(mc_version)
|
||||||
for upstream_lib in installer.libraries:
|
for forge_lib in installer.libraries:
|
||||||
forge_lib = Library.parse_obj(
|
|
||||||
upstream_lib.dict()
|
|
||||||
) # "cast" MojangLibrary to Library
|
|
||||||
if (
|
if (
|
||||||
forge_lib.name.is_lwjgl()
|
forge_lib.name.is_lwjgl()
|
||||||
or forge_lib.name.is_log4j()
|
or forge_lib.name.is_log4j()
|
||||||
@ -270,8 +267,7 @@ def version_from_build_system_installer(
|
|||||||
)
|
)
|
||||||
v.maven_files.append(installer_lib)
|
v.maven_files.append(installer_lib)
|
||||||
|
|
||||||
for upstream_lib in profile.libraries:
|
for forge_lib in profile.libraries:
|
||||||
forge_lib = Library.parse_obj(upstream_lib.dict())
|
|
||||||
if forge_lib.name.is_log4j():
|
if forge_lib.name.is_log4j():
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@ -289,8 +285,7 @@ def version_from_build_system_installer(
|
|||||||
|
|
||||||
v.libraries.append(FORGEWRAPPER_LIBRARY)
|
v.libraries.append(FORGEWRAPPER_LIBRARY)
|
||||||
|
|
||||||
for upstream_lib in installer.libraries:
|
for forge_lib in installer.libraries:
|
||||||
forge_lib = Library.parse_obj(upstream_lib.dict())
|
|
||||||
if forge_lib.name.is_log4j():
|
if forge_lib.name.is_log4j():
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -72,44 +72,20 @@ def version_from_build_system_installer(
|
|||||||
)
|
)
|
||||||
v.maven_files.append(installer_lib)
|
v.maven_files.append(installer_lib)
|
||||||
|
|
||||||
for upstream_lib in profile.libraries:
|
for forge_lib in profile.libraries:
|
||||||
forge_lib = Library.parse_obj(upstream_lib.dict())
|
|
||||||
if forge_lib.name.is_log4j():
|
if forge_lib.name.is_log4j():
|
||||||
continue
|
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.maven_files.append(forge_lib)
|
||||||
|
|
||||||
v.libraries = []
|
v.libraries = []
|
||||||
|
|
||||||
v.libraries.append(FORGEWRAPPER_LIBRARY)
|
v.libraries.append(FORGEWRAPPER_LIBRARY)
|
||||||
|
|
||||||
for upstream_lib in installer.libraries:
|
for forge_lib in installer.libraries:
|
||||||
forge_lib = Library.parse_obj(upstream_lib.dict())
|
|
||||||
if forge_lib.name.is_log4j():
|
if forge_lib.name.is_log4j():
|
||||||
continue
|
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.libraries.append(forge_lib)
|
||||||
|
|
||||||
v.release_time = installer.release_time
|
v.release_time = installer.release_time
|
||||||
|
@ -281,15 +281,12 @@ class MojangRules(MetaBase):
|
|||||||
return self.__root__[item]
|
return self.__root__[item]
|
||||||
|
|
||||||
|
|
||||||
class MojangLibrary(MetaBase):
|
class Library(MetaBase):
|
||||||
extract: Optional[MojangLibraryExtractRules]
|
extract: Optional[MojangLibraryExtractRules]
|
||||||
name: Optional[GradleSpecifier]
|
name: Optional[GradleSpecifier]
|
||||||
downloads: Optional[MojangLibraryDownloads]
|
downloads: Optional[MojangLibraryDownloads]
|
||||||
natives: Optional[Dict[str, str]]
|
natives: Optional[Dict[str, str]]
|
||||||
rules: Optional[MojangRules]
|
rules: Optional[MojangRules]
|
||||||
|
|
||||||
|
|
||||||
class Library(MojangLibrary):
|
|
||||||
url: Optional[str]
|
url: Optional[str]
|
||||||
mmcHint: Optional[str] = Field(None, alias="MMC-hint")
|
mmcHint: Optional[str] = Field(None, alias="MMC-hint")
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
|||||||
|
|
||||||
from pydantic import Field
|
from pydantic import Field
|
||||||
|
|
||||||
from . import MetaBase, GradleSpecifier, MojangLibrary
|
from . import MetaBase, GradleSpecifier, Library
|
||||||
from .mojang import MojangVersion
|
from .mojang import MojangVersion
|
||||||
|
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ class DerivedForgeIndex(MetaBase):
|
|||||||
|
|
||||||
class FMLLib(
|
class FMLLib(
|
||||||
MetaBase
|
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
|
filename: str
|
||||||
checksum: str
|
checksum: str
|
||||||
ours: bool
|
ours: bool
|
||||||
@ -91,7 +91,7 @@ class ForgeInstallerProfileInstallSection(MetaBase):
|
|||||||
mod_list: Optional[str] = Field(alias="modList")
|
mod_list: Optional[str] = Field(alias="modList")
|
||||||
|
|
||||||
|
|
||||||
class ForgeLibrary(MojangLibrary):
|
class ForgeLibrary(Library):
|
||||||
url: Optional[str]
|
url: Optional[str]
|
||||||
server_req: Optional[bool] = Field(alias="serverreq")
|
server_req: Optional[bool] = Field(alias="serverreq")
|
||||||
client_req: Optional[bool] = Field(alias="clientreq")
|
client_req: Optional[bool] = Field(alias="clientreq")
|
||||||
@ -176,7 +176,7 @@ class ForgeInstallerProfileV2(MetaBase):
|
|||||||
welcome: Optional[str]
|
welcome: Optional[str]
|
||||||
data: Optional[Dict[str, DataSpec]]
|
data: Optional[Dict[str, DataSpec]]
|
||||||
processors: Optional[List[ProcessorSpec]]
|
processors: Optional[List[ProcessorSpec]]
|
||||||
libraries: Optional[List[MojangLibrary]]
|
libraries: Optional[List[Library]]
|
||||||
mirror_list: Optional[str] = Field(alias="mirrorList")
|
mirror_list: Optional[str] = Field(alias="mirrorList")
|
||||||
server_jar_path: Optional[str] = Field(alias="serverJarPath")
|
server_jar_path: Optional[str] = Field(alias="serverJarPath")
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ from . import (
|
|||||||
MetaBase,
|
MetaBase,
|
||||||
MojangArtifactBase,
|
MojangArtifactBase,
|
||||||
MojangAssets,
|
MojangAssets,
|
||||||
MojangLibrary,
|
|
||||||
MojangArtifact,
|
MojangArtifact,
|
||||||
MojangLibraryDownloads,
|
MojangLibraryDownloads,
|
||||||
Library,
|
Library,
|
||||||
@ -216,7 +215,7 @@ class MojangVersion(MetaBase):
|
|||||||
asset_index: Optional[MojangAssets] = Field(alias="assetIndex")
|
asset_index: Optional[MojangAssets] = Field(alias="assetIndex")
|
||||||
assets: Optional[str]
|
assets: Optional[str]
|
||||||
downloads: Optional[Dict[str, MojangArtifactBase]] # TODO improve this?
|
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")
|
main_class: Optional[str] = Field(alias="mainClass")
|
||||||
applet_class: Optional[str] = Field(alias="appletClass")
|
applet_class: Optional[str] = Field(alias="appletClass")
|
||||||
processArguments: Optional[str]
|
processArguments: Optional[str]
|
||||||
|
@ -3,7 +3,7 @@ from typing import Optional, List, Dict
|
|||||||
|
|
||||||
from pydantic import Field
|
from pydantic import Field
|
||||||
|
|
||||||
from . import MetaBase, GradleSpecifier, MojangLibrary
|
from . import MetaBase, GradleSpecifier, Library
|
||||||
from .mojang import MojangVersion
|
from .mojang import MojangVersion
|
||||||
|
|
||||||
|
|
||||||
@ -53,7 +53,7 @@ class DerivedNeoForgeIndex(MetaBase):
|
|||||||
|
|
||||||
class FMLLib(
|
class FMLLib(
|
||||||
MetaBase
|
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
|
filename: str
|
||||||
checksum: str
|
checksum: str
|
||||||
ours: bool
|
ours: bool
|
||||||
@ -98,7 +98,7 @@ class NeoForgeInstallerProfileInstallSection(MetaBase):
|
|||||||
mod_list: Optional[str] = Field(alias="modList")
|
mod_list: Optional[str] = Field(alias="modList")
|
||||||
|
|
||||||
|
|
||||||
class NeoForgeLibrary(MojangLibrary):
|
class NeoForgeLibrary(Library):
|
||||||
url: Optional[str]
|
url: Optional[str]
|
||||||
server_req: Optional[bool] = Field(alias="serverreq")
|
server_req: Optional[bool] = Field(alias="serverreq")
|
||||||
client_req: Optional[bool] = Field(alias="clientreq")
|
client_req: Optional[bool] = Field(alias="clientreq")
|
||||||
@ -166,7 +166,7 @@ class NeoForgeInstallerProfileV2(MetaBase):
|
|||||||
welcome: Optional[str]
|
welcome: Optional[str]
|
||||||
data: Optional[Dict[str, DataSpec]]
|
data: Optional[Dict[str, DataSpec]]
|
||||||
processors: Optional[List[ProcessorSpec]]
|
processors: Optional[List[ProcessorSpec]]
|
||||||
libraries: Optional[List[MojangLibrary]]
|
libraries: Optional[List[Library]]
|
||||||
mirror_list: Optional[str] = Field(alias="mirrorList")
|
mirror_list: Optional[str] = Field(alias="mirrorList")
|
||||||
server_jar_path: Optional[str] = Field(alias="serverJarPath")
|
server_jar_path: Optional[str] = Field(alias="serverJarPath")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user