Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NeoForge support #166

Merged
merged 54 commits into from
Nov 17, 2023
Merged

NeoForge support #166

merged 54 commits into from
Nov 17, 2023

Conversation

Juuxel
Copy link
Member

@Juuxel Juuxel commented Oct 30, 2023

Fixes #146. Fixes #167.

TODO

  • Check/update runtime component for NeoForge support (Modularise, add NeoForge support and port to mapping-io architectury-loom-runtime#3)
  • Finish field migrating mapping provider
  • Adapt Forge DependencyProviders
  • Adapt anything using the net.minecraftforge package directly
  • Do we need (or can we) to replace hardcoded net.minecraftforge tools with tools read from the config jsons?
    • I don't think so
  • Remap mixins from dependencies
  • Rename forgeRuntimeLibrary to bootstrapRuntimeLibrary or similar, it's the bootstrap launcher's "legacy classpath" contents
    • not critical, postponed
  • Add tests for NeoForge
  • Fix binpatching
  • Fix bootstrap not included in shadow jar (should I just drop DFU...?)
  • Fix ForgeLoggerConfig not reading Neo's logger config (presumably still in FML)
  • Fix/investigate Loom's colourful logger config automatically being replaced with Neo's config
    • Note: these are irrelevant as FML forces its config to be always in use
  • Prevent the use of the deprecated datagen api on Neo
  • Fix coremod member remapping at runtime
  • Add fix for Changing the patch version in MinecraftPatchedProvider doesn't invalidate further jars #167 so that old jars will be regenerated when the patch changes
    • This is needed because the missing coremod remapping was readded
  • Split the extension for Forge/NeoForge
    • Neo should not have mixins (see below), forge logger config (see above), AW conversion
  • Split ModsToml parsing between Forge/NeoForge, support mixins array
    • Not needed
  • Update Neo version in test, re-enable joined neoform/mcp route
  • Fix tests
  • Disable naming service on Neo
  • Make casing consistent in APIs (NeoForge/neoForge vs Neoforge/neoforge)

@Juuxel Juuxel added the enhancement New feature or request label Oct 30, 2023
@github-actions

This comment was marked as duplicate.

@github-actions
Copy link

github-actions bot commented Oct 30, 2023

Test Results

  97 files  +  3    97 suites  +3   2h 57m 32s ⏱️ - 47m 23s
606 tests +12  605 ✔️ +23  0 💤  - 1  1  - 10 
609 runs   - 19  608 ✔️ +25  0 💤  - 1  1  - 43 

For more details on these failures, see this check.

Results for commit c234ea4. ± Comparison against base commit e3b51e9.

This pull request removes 20 and adds 21 tests. Note that renamed tests count towards both.

 '
Fabric-Loom-Remap: broken
Fabric-Loom-Remap: false
Fabric-Loom-Remap: true
Something: Hello
], #1]
], #2]
], #3]
], #4]
…
net.fabricmc.loom.test.integration.DebugLineNumbersTest ‑ Debug test
net.fabricmc.loom.test.integration.neoforge.SimpleNeoForgeTest ‑ build 1.20.2 20.2.51-beta "net.fabricmc:yarn:1.20.2+build.4:v2"
net.fabricmc.loom.test.integration.neoforge.SimpleNeoForgeTest ‑ build 1.20.2 20.2.51-beta loom.officialMojangMappings()
net.fabricmc.loom.test.unit.ArtifactMetadataTest ‑ Should Remap [shouldRemap: false, entries: [fabric.mod.json:{}, META-INF/MANIFEST.MF:Manifest-Version: 1.0
Fabric-Loom-Remap: false

], #2]
net.fabricmc.loom.test.unit.ArtifactMetadataTest ‑ Should Remap [shouldRemap: false, entries: [hello.json:{}, META-INF/MANIFEST.MF:Manifest-Version: 1.0
Fabric-Loom-Remap: broken

], #6]
net.fabricmc.loom.test.unit.ArtifactMetadataTest ‑ Should Remap [shouldRemap: false, entries: [hello.json:{}, META-INF/MANIFEST.MF:Manifest-Version: 1.0
Fabric-Loom-Remap: false

], #4]
net.fabricmc.loom.test.unit.ArtifactMetadataTest ‑ Should Remap [shouldRemap: false, entries: [hello.json:{}, META-INF/MANIFEST.MF:Manifest-Version: 1.0
Something: Hello

], #7]
net.fabricmc.loom.test.unit.ArtifactMetadataTest ‑ Should Remap [shouldRemap: true, entries: [fabric.mod.json:{}, META-INF/MANIFEST.MF:Manifest-Version: 1.0
Fabric-Loom-Remap: true

], #3]
net.fabricmc.loom.test.unit.ArtifactMetadataTest ‑ Should Remap [shouldRemap: true, entries: [hello.json:{}, META-INF/MANIFEST.MF:Manifest-Version: 1.0
Fabric-Loom-Remap: true

], #5]
net.fabricmc.loom.test.unit.ArtifactMetadataTest ‑ remap requirements [requirements: OPT_IN, entries: [META-INF/MANIFEST.MF:Manifest-Version: 1.0
Fabric-Loom-Remap: true

], #2]
…

♻️ This comment has been updated with latest results.

This is only for the "(neo)forge" configuration exposed
as API. The other configurations remain the same.
In other works, we skip field migrating for now.
Also adds support for downloading a file without a repo
for NeoForm functions.
shedaniel and others added 6 commits November 15, 2023 20:43
* Fix crash with NeoForge ext creation

* Adapt SrgMerger into ForgeMappingsMerger

* Update tiny-remapper

* Fix spotless

* Resolve reviews

* Fix checkstyle
* Remap ASMAPI.redirectFieldToMethod

* Move lastClassName outside the if
@Juuxel Juuxel marked this pull request as ready for review November 16, 2023 15:39
Copy link
Member

@shedaniel shedaniel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@shedaniel shedaniel added priority: high This needs to be worked on and reviewed ASAP merge me please This PR should be merged later labels Nov 17, 2023
@Juuxel Juuxel merged commit a11b828 into dev/1.4 Nov 17, 2023
195 of 202 checks passed
@shedaniel shedaniel deleted the feature/neo branch November 17, 2023 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request merge me please This PR should be merged later priority: high This needs to be worked on and reviewed ASAP
Projects
None yet
2 participants