Update Tonel to not depend on the category API of RPackage #110
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.
This PR bring a big change in Tonel in order to not use the category API of RPackage.
The goal is to go away from the "category" that is a mix of package name and tag name in the system while staying backward compatible with older versions of Pharo and other Smalltalks.
Change in the writer
The first change happened in the writer. It now exports two new metadata in the types:
The #category metadata is still here for compatibility reasons with the older versions of Pharo and other Smalltalks
Change in the reader
Now the parser is looking for the new #package and #tag metadatas. In case it does not find it, it will put the category in the #packageName variable of MCClassDefinition. Then the TonelReader will do a pass on the class definitions to ensure the package is right. In case the package named found does not match the real package name and the real package name is just a prefix of it, it will fix the package name and the tag name.
Other changes
I also update Tonel to follow the changes that happened in Monticello recently
In order to work this change needs pharo-project/pharo#14653