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

Merge core, events, languages subprojects into loader #63

Merged
merged 5 commits into from
Jan 15, 2024

Conversation

Technici4n
Copy link
Member

@Technici4n Technici4n commented Jan 10, 2024

The subprojects are separate due to historical reasons, however with the eventbus reworks as well as the SJH serviceloader fixes, we can load all of these subprojects on the MC-BOOTSTRAP layer with no issue.

Tested setups:

  • Forgedev client
  • Forgedev data
  • Forgedev server
  • Userdev client
  • Userdev data
  • Userdev server
  • Normal prod client
  • Normal prod server
  • Prod client with user-provided langprovider (kotlin for forge)
  • Prod server with user-provided langprovider (kotlin for forge)

@Matyrobbrt Matyrobbrt added the enhancement New feature or request label Jan 10, 2024
@Technici4n Technici4n changed the title Merge core and events subprojects into loader Merge core, events, languages subprojects into loader Jan 12, 2024
@marchermans marchermans merged commit 937f14a into neoforged:main Jan 15, 2024
1 check passed
shartte pushed a commit that referenced this pull request Dec 22, 2024
On ZIP file systems, `Files.isDirectory` ends up being very slow if the
path does not exist (similarly to `Files.exists`, which is worked around
in UnionFS). We can take advantage of the existing workaround by using
our `getFileAttributes` method instead, which attempts to check if the
file exists using much more efficient logic.

See the profiler screenshot below for an example of the problem.


![zfas_neo](https://github.com/McModLauncher/securejarhandler/assets/42941056/f4001d99-a657-499d-8218-25e5ded84c4d)
shartte pushed a commit that referenced this pull request Dec 22, 2024
This removes the `ZipFileSystem.exists` hack and implements
`FileSystemProvider.readAttributesIfExists` and
`FileSystemProvider.exists`. While I was working on this, I also
improved the #63 optimization in `readAttributes` by passing already
known attributes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants