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

Minecraft versions : branches or folder #64

Closed
rom1504 opened this issue Sep 9, 2015 · 5 comments
Closed

Minecraft versions : branches or folder #64

rom1504 opened this issue Sep 9, 2015 · 5 comments

Comments

@rom1504
Copy link
Member

rom1504 commented Sep 9, 2015

Currently mc version are stored as different branches.

Problem with that is a lot of commits need to be cherry-picked from 1.8 to 1.9 because they change things common between versions : changes in the README, sometimes changes in the extractors, new data files.

I think storing version in enums/1.8 and enums/1.9 might be saner : only the data should really be different.

  • the schemas should be the same : see Keeping file size reasonable and schema independance #49
  • the readme should be the same
  • the extractor and tools are a bit more complicated, but basically it would be better to have everything that is common in common files and to have a few functions/files specific for different mc version / revision of the wiki / java decompiled code format

I think to be really sure it can work, the best way would be to try to use the extractors for 1.9.

So I'll do that at some point and that'll give us more info into that issue.

@rom1504 rom1504 changed the title Branches or folder Minecraft versions : branches or folder Sep 9, 2015
@roblabla
Copy link
Member

roblabla commented Sep 9, 2015

an alternative to this would be putting back a master branch with just the extractors, the README, and have the readme link to the version branches. IDK which is better, a part of me likes the way things are organized right now, but it does incur some maintenance overhead.

@rom1504 rom1504 mentioned this issue Sep 10, 2015
@rom1504
Copy link
Member Author

rom1504 commented Sep 22, 2015

#65 (comment) convinces me even more that the wiki extractor really shouldn't be in minecraft-data.
Their output format is mcData schema yes, but apart from that they are independant from minecraft-data. I think I might try putting them in a separate repo, what would be nice about that is treating these extractors as really a first class package, and doing things like automatically following the wiki changes and having that "wiki watcher" bot do PR to minecraft-data or something.
I also thinks that extractors shouldn't be in a big "all-minecraft-extractors-in-every-language-from-every-source" repo, but instead just one repo by kind of extractor (for example burger is its own repo, PocketBurger too, and I think my wiki extractors should be in their own repo, and I guess a repo for the (small) decompiled extractor I did would make sense). That way everybody is free to make his own extractor in whatever language he likes from whatever source and PR his results to mcData.

About a master branch : a possibility would be having everything but the data (the schema, the auto-testing, (possibly the extractors if they stay there), the readme) in master. And version branches would just contain the data (the .json files).
It would probably mean submoduling these version branches in master which has pros (no need to do this in each X-minecraft-data) and cons (need to update the submodule often to check the data fits the schema). Other ways than submoduling can be considered (in order to check the schemas for example).

The general idea here is to separate things that are independent and to do as little copy pasting (~= cherry-pick) as possible.

@roblabla
Copy link
Member

I really think the extractors should be in the minecraft-data repo. It allows anyone to easily see how the data was generated, and easily find the tools to generate it themselves. The alternative, putting links to all the tools, is OK, but we need to make sure we keep that list up to date,

@rom1504
Copy link
Member Author

rom1504 commented Oct 16, 2015

So, I did everything in this issue: put the extractors in different repos (listed in the readme) and put everything in master branch to avoid duplication.
I changed everything on projects that depend on minecraft-data (directly in nmd and pmd and via PR in ProtocolGen and phase_bot)
I'll let 1.8 and 1.9 branches live for a little while more, so phase_bot can merge the pr and other potential users can use master and then I'll delete them.
I'll close this issue then.

@rom1504
Copy link
Member Author

rom1504 commented Oct 17, 2015

done

@rom1504 rom1504 closed this as completed Oct 17, 2015
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

No branches or pull requests

2 participants