Deprecating Sling Modules

The following procedure is recommended to deprecate Sling Git repositories, indicating that they should no longer be used.

  • Create a branch named maintenance with the last version before deprecation.
  • Empty the master branch, keeping just README.md file.
  • Add the deprecated GitHub topic to the module, using a .asf.yaml file in the master branch.

Deprecated modules can then be found with a GitHub query, see below.

The reasoning is that keeping just a README file makes it obvious that the repository is deprecated, and having the maintenance branch makes it easy to get the deprecated code and even make maintenance releases if desired.

A deprecated module can be un-deprecated if the Sling PMC agrees to do that, technically it just means reverting the changes made by this procedure.

README file contents for deprecated repositories

The README file should contain:

  • The Sling logo.
  • A link to sling.apache.org.
  • The module name with the (deprecated) mention.
  • A link to the replacement module(s) if any.
  • A mention of the maintenance branch, optionally with a link to it, but make sure that link is correct if copying the README from another module.

For examples, see the list of deprecated repositories below.

See Also