Setup per project folder metadata and tools#3365
Open
elcritch wants to merge 4 commits into
Open
Conversation
Contributor
Author
|
@ringabout and @Araq what do you think of this? And grr, gotta cleanup merge scraps. |
Contributor
Author
|
This also adds a |
Contributor
Author
|
@ringabout @Araq if we get this merged we can start going to collecting better package metadata! |
|
Is a good moment to ask about package namespace? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The goal of this PR is to enable transitioning to a folder-per-package shape from which packages.json is generated. It still supports adding packages directly to packages.json (for now).
This would make adding new packages in the future easier and avoid json clobbering. For now we will need to synchronize pkgs/ <-> packages.json.
To do that, this PR introduces sharded package metadata under
pkgs/<first-letter>/<package-name>.jsonwhile keeping the existing top-levelpackages.jsonworkflow compatible for now. E.g. currentnimble publishPRs should keep working.package_index.nimtool now handles splitting, combining, and push-time synchronization betweenpackages.jsonandpkgs/.package_scanner.nim --check-pr --check-urlsdirectly against the git merge base, enforcing that PRs either add new packages or modify existing ones, but not both.merge.yml, which runs only onmaster, syncs whichever side changed, validates the resulting manifest, and auto-commits the generated counterpart when needed.