Skip to content
This repository has been archived by the owner on Feb 28, 2024. It is now read-only.

Separation of committing and manifest #274

Open
mpmxyz opened this issue Apr 30, 2023 · 0 comments
Open

Separation of committing and manifest #274

mpmxyz opened this issue Apr 30, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@mpmxyz
Copy link
Contributor

mpmxyz commented Apr 30, 2023

Hello there,
I was quite surprised that adding a mod involved directly adding an entry to a large JSON file.
Reason being that I was used to a more decentralized system with programs for a minecraft mod.
Of course that exact approach is not meeting the high security standards.

On the other hand I am not sure if multiple people editing the same file does perfectly scale with a higher rate of edits.
I can imagine having to resolve tiny but probably annoying conflicts when two or more pull requests for new mods are added at the same time.
Another advantage of a less monolithic approach would be that mod authors could setup CD pipelines that would automatically prepare a PR for a new version. (It is much easier to create a new file than it is to edit one.)

To ensure that the power over the data stays within the repository I suggest the following:

  1. Every project gets its own directory.
  2. Within each directory there is a main json file and auxiliary json files for each version.
  3. As part of this repository's CI/CD pipeline the json files are individually checked for correctness and then combined to form the manifest.

Secondary advantages are that due to the CI/CD middle layer there are basically a lot of hooks where you can check semantic validity and styles in more detail. (#74)
Making the editing of mod entries file based may also ease the process of auxiliary tools. (#75)
The separate "playzones" should also prevent accidental changes to other mods.

@XDelta XDelta added the enhancement New feature or request label Jun 7, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants