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

Hard fork process #11735

Open
7 of 8 tasks
kennytv opened this issue Dec 13, 2024 · 7 comments
Open
7 of 8 tasks

Hard fork process #11735

kennytv opened this issue Dec 13, 2024 · 7 comments

Comments

@kennytv
Copy link
Member

kennytv commented Dec 13, 2024

We have to:

Tasks

Preview Give feedback

Applying all patches will likely take a few weeks. Make sure to join our Discord for discussion and more fine-grained updates!

See our forum post for more information: https://forums.papermc.io/threads/the-future-of-paper-hard-fork.1451/.
You can also see our previous prep work on here: https://github.com/orgs/PaperMC/projects/6/views/1
Aaand you can see the current update branch here: https://github.com/PaperMC/Paper/tree/dev/hard-fork

For our dev team:

  • clone into dev/hard-fork, set cleanPaperRepo in ~/.gradle/gradle.properties to a pre hard fork 1.21.4 Paper project sources root (Paper-Server/src/main/java)
  • gradlew applyPatches
  • Repeat:
    • gradlew gibWork
    • Tick the entry in the per-file patches issue immediately
    • if it applied correctly, continue, else look at the rejects file and apply the missing hunks
    • open the patched files and see if they compile, if they don't gradlew checkWork to move the file to the old repo; fix up compile issues; press enter (which will copy the files back)
    • git commit --amend in the paper-server/src/vanilla/java dir
  • gradlew rebuildPatches

make sure IJ detected the new git repos:
Image

@PaperMC PaperMC locked and limited conversation to collaborators Dec 13, 2024
@PaperMC PaperMC unlocked this conversation Dec 13, 2024
@kennytv kennytv transferred this issue from PaperMC/testing Dec 13, 2024
@kennytv kennytv pinned this issue Dec 13, 2024
@spring-dependency-management
Copy link
Contributor

Can we aim to have as few feature patches as possible? their existence kind of defeats the purpose of per-file patches, as what you see in the patch files isn't what you get, since it will be overwritten by the feature patches, also they cause errors with fixuppatches if you dare to modify a file that feature patches also touch

@Owen1212055
Copy link
Member

Can we aim to have as few feature patches as possible? their existence kind of defeats the purpose of per-file patches, as what you see in the patch files isn't what you get, since it will be overwritten by the feature patches, also they cause errors with fixuppatches if you dare to modify a file that feature patches also touch

This is probably better to discuss on the discord, but generally it’s very dependent on the feature itself for whether or not it becomes a feature patch… especially when it’s very diff noisy, so allowing it to be dropped on updates easily is just undeniably useful. They don’t defeat the purpose at all, they are there for a separate purpose roughly.

@AltTheAi
Copy link

AltTheAi commented Jan 8, 2025

While doing a hard fork, do you think it would be viable option to switch to GraalVM native image? This would drastically improve performance while sacrificing the garbage collector which means that plugin developers would have to be more careful. I think the advantages outweigh the disadvantages

@electronicboy
Copy link
Member

No, there is no interest in burning the entire ecosystem to adopt an alternative JVM platform which comes with its own pros and cons. native images do not support loading jar files and would require a whole bunch of work to adopt a mechanism to support this for very limited gain.

@SolsticeSpectrum

This comment has been minimized.

@codebycam
Copy link

So what could be done to improve performance without going the Folia route?

This isn't the best place to discuss this, @SolsticeSpectrum. You can join us on Discord and provide a spark report in #paper-help along with the issues you're facing and someone may be able to help you with your performance!

@spring-dependency-management

This comment has been minimized.

@PaperMC PaperMC locked as spam and limited conversation to collaborators Jan 9, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants