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

Quilt Support #1984

Open
wants to merge 23 commits into
base: dev
Choose a base branch
from
Open

Conversation

anonymous123-code
Copy link

@anonymous123-code anonymous123-code commented Mar 28, 2023

This is a initial implementation of Quilt support. I implemented it by copying most of fabric's file and searching for usages. This means that there is a lot of duplicated code.

The template closely follows the official template mod, and use a libs.versions.toml as a version catalog.

The authors field may contain a comma separated list of colon-separated key-value pairs and can be optionally wrapped in braces, spaces around these characters are trimmed: Me: Owner, asdf: Lead Dev

While there is still a lot of stuff left to do, the rough edges seem to be done now and I figured I'd put this out here

  • Add Quilt Project creation
  • Add templates to template editor
  • Add Quilt to facet editor
  • Add quilt-loom support
  • Add reference resolution

Stuff still left to investigate:

  • Currently, the gradle wrapper task isn't run because of an issue where the sync starts before the wrapper finishes, leading to errors and other issues
  • The choice API/no API might not be sufficient. An option to include deprecated Fabric API stuff should be included

Decisions I made I'm unsure about:

  • Most files are copied from fabric and then refactored, leading to lots of duplicate code. I figured that it is likely that they will evolve in different directions (and also that I wasn't sure where to put abstractions) and thus copied most of the files. It might also be sensible to just remove some parts of Fabric support (e.g. version creation) entirely. The one exception are the Reference classes, which didn't contain anything fabric specific and are just reused by the quilt code.
  • Currently Fabric is always auto-detected when Quilt is present, it might be good to change that
  • I currently don't provide a JSON schema for the quilt.mod.json, but Quilt has a schema. However I expect that one to be added to the schema store, so it hopefully won't be required anyways
  • I also did not implement Architectury support
  • The template mod contains a gh action to build the project. It would be nice to add an option for that if git is enabled
    • because the property is private in the git step, it is impossible to implement this as I'd like it without either using reflection, copying a class just to modify on access modifier, or doing polling, all are things I want to avoid.
  • The library version selector does not store the preferred versions, I wasn't sure on how to implement this

Known issues that I consider out of scope for this PR

Fixes #1827

@Earthcomputer
Copy link
Member

Hi, are you in the mcdev discord?

@anonymous123-code
Copy link
Author

anonymous123-code commented Mar 28, 2023

Yes, I'm anonym123

@anonymous123-code
Copy link
Author

This PR is now at a state where I finished the stuff I'm able to do on my own, and it has the important features fabric has. I updated the description accordingly.

@anonymous123-code anonymous123-code marked this pull request as ready for review April 20, 2023 18:38
@Ecorous
Copy link

Ecorous commented Apr 23, 2023

Why won't this get merged already! This is literally 1984 (this is a joke)

@Ecorous
Copy link

Ecorous commented May 24, 2023

Heya, can I have a status update on this

@Charismara
Copy link

Any news on this?

@DenWav
Copy link
Member

DenWav commented Jun 17, 2023

I will defer this to @Earthcomputer - when he has the time and is able to review, it'll happen. Please be patient, this project has a very small team and none of us have an abundance of time.

@MarcPG1905
Copy link

Is this already in some alpha version? Because the pull request isn't closed yet.
Could I maybe compile this on my own to have a little alpha of it? I'm not sure if the license allows this.

@AnOpenSauceDev
Copy link

Is this already in some alpha version? Because the pull request isn't closed yet. Could I maybe compile this on my own to have a little alpha of it? I'm not sure if the license allows this.

LGPL 100% allows for you to compile their fork and run it for yourself.

@anonymous123-code
Copy link
Author

Since I don't have the energy to keep this updated and it doesn't seem like it'll get merged anytime soon I'm closing this for the time being. I can update it if y'all plan on merging it, feel free to message me then. In the meantime I don't recommend anyone to use my fork, as it is severly outdated by now and some issues have been fixed for fabric that might affect quilt too.

@Earthcomputer
Copy link
Member

We will keep this PR up to date once we plan on merging it, which is when Quilt pushes a full release.

@Earthcomputer Earthcomputer reopened this Aug 31, 2023
@OroArmor
Copy link

which is when Quilt pushes a full release.

Is there a reason to wait for a full Quilt release? Quilt's overarching system is fairly stable, so I don't think there will be any big changes to it which would cause breaks with MCDev.

@LimePotato
Copy link

Would kind of like to easily setup my development environment?

@StatusZer0
Copy link

StatusZer0 commented Apr 26, 2024

Quilt is in a fairly stable state so there is really little reason to wait for it to leave Beta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for QuiltMC
10 participants