For modules that are no longer recommended to use (because there is a replacement or they are just obsolete), the follow procedure shall be followed:
- Create a branch "maintenance" with the last version before deprecation
- Empty the master branch and only leave a sole README.md file with the added line
"For reference or potential bugfix releases use branch maintenance"
(where "maintenance" is linked to the branch where the code still exists, see https://github.com/apache/sling-org-apache-sling-starter-startup as example)
- Tag the module as
deprecatedusing the .asf.yaml features for git repositories feature. If no such file is present make sure to use the default values from Using Git with Sling#Boilerplatefiles .
Reasoning for the approach
- the README file with the obsolete text is not overseen (with the
long list of folders/files from src/main, CONTRIBUTING.md, to pom.xml the
notice in the README would get easily overlooked)
- if necessary it's still possible to look at the code (easy enough with one click) or even release from it (maven-release-plugin does not worry too much about branch names)