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
deprecated
using 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)