Goal: Identify unmaintained sling modules and mark them accordingly (by moving them into attic), so it's clearer which modules require active maintenance.


Approach: Use the last commit into the src directory as initial criteria to come up with a list of candidates, then refine it.

  • Actively used  modules (for which no change was required in the last years) will remain active (e.g. they are referenced by other Sling modules)
  • Modules for which a committer or community member shows interest will remain active.
  • We will start with the deprecation where we have only votes favoring deprecation.

(Note: The decision to deprecate a module does not mean that this decision cannot be undone.)

See also: https://sling.apache.org/documentation/development/deprecating-sling-modules.html

General notes:

  • Bertrand Delacretaz I think any module that's still actively used should remain active, I have noted a few of them below but there's more, I'm pretty sure discovery-api and jcr-api for example are in active use. The fact that they do not need changes does not matter IMO when it comes to keeping them active.
Sling ModuleLast commit
into src in
NotesWho's in favor of
deprecating it?
Who's against
deprecating it?
Decision
org-apache-sling-commons-cache-ehcache2012not available on maven central

org-apache-sling-commons-cache-impl2012not available on maven central

org-apache-sling-commons-cache-portal2012not available on maven central

adapter-annotations2013

Bertrand Delacretaz : I see it used as a dependency in other modules, which is enough to keep it active IMHO, even if no changes happen as it's stable.


org-apache-sling-commons-cache-container-test2013



org-apache-sling-launchpad-test-fragment2013



org-apache-sling-auth-xing-api2014


org-apache-sling-extensions-classloader-leak-detector2014



org-apache-sling-junit-performance2014



launchpad-standalone-archetype2015

Robert Munteanu (projects should no longer be created using the launchpad tooling) 



launchpad-webapp-archetype2015

Robert Munteanu (projects should no longer be created using the launchpad tooling)



maven-launchpad-plugin2015



org-apache-sling-hc-junit-bridge2015



org-apache-sling-jcr-repository-it-resource-versioning2015



org-apache-sling-launchpad-installer2015



org-apache-sling-nosql-couchbase-client2015




org-apache-sling-nosql-launchpad2015




org-apache-sling-resourceaccesssecurity-it2015



org-apache-sling-scripting-xproc2015



org-apache-sling-testing-logging-mock2015

this is still in use by the other mock projects and also customer projects - there was just no need to do any updates since them since it only contains a default logging conf for unit tests and dependencies in the pom.



servlet-archetype2015



launchpad-debian2016

Robert Munteanu (looks very outdated)



org-apache-sling-bnd-models2016

this is still in use by the other mock projects and also customer projects - there was just no need to do any updates since them since it only contains a default logging conf for unit tests and dependencies in the pom.

and i just (oct 2023) updated the code to fix the build with Java 17.



org-apache-sling-hapi-samplecontent2016



org-apache-sling-jcr-js-nodetypes2016

Robert Munteanu (tentatively; seems only used by the resource-editor)



org-apache-sling-nosql-couchbase-resourceprovider2016




org-apache-sling-nosql-generic2016




org-apache-sling-nosql-mongodb-resourceprovider2016




org-apache-sling-resource-editor2016

Robert Munteanu (looks unmaintained, we ship composum)



org-apache-sling-testing-hamcrest2016



org-apache-sling-cassandra2017



org-apache-sling-extensions-webconsolebranding2017



org-apache-sling-hapi-client2017



org-apache-sling-hapi2017



org-apache-sling-hc-it2017



org-apache-sling-hc-samples2017



org-apache-sling-installer-factory-model2017



org-apache-sling-junit-remote2017



org-apache-sling-launchpad-api2017



org-apache-sling-launchpad-contrib-testing2017



org-apache-sling-paxexam-util2017



org-apache-sling-tail2017



org-apache-sling-testing-email2017



taglib-archetype2017



launchpad-comparator2018



org-apache-sling-commons-johnzon2018This is still in active use. But it contains no sources (it's a wrapper), so the changes affect only the POM which was excluded form the check.

Stefan Seifert Bertrand Delacretaz (as it's still in use)


org-apache-sling-discovery-api2018



org-apache-sling-feature-applicationbuilder2018



org-apache-sling-feature-karaf2018



org-apache-sling-feature-resolver2018



org-apache-sling-jcr-api2018



org-apache-sling-jms2018



org-apache-sling-jobs-it2018



org-apache-sling-jobs-it-services2018



org-apache-sling-launchpad-startupmanager2018



org-apache-sling-validation-api2018



slingstart-archetype2018



org-apache-sling-bnd-plugin-headers-parameters-remove2019



org-apache-sling-bnd-plugins2019



org-apache-sling-connection-timeout-agent2019


org-apache-sling-contentparser-api2019in active use by sling mocks

org-apache-sling-contentparser-json2019in active use by sling mocks

org-apache-sling-contentparser-testutils2019in active use by sling mocks

org-apache-sling-contentparser-xml2019in active use by sling mocks

org-apache-sling-contentparser-xml-jcr2019in active use by sling mocks

org-apache-sling-datasource2019still in use

org-apache-sling-distribution-it2019



org-apache-sling-feature-apiregions-model2019



org-apache-sling-feature-inventoryprinter2019



org-apache-sling-feature-r2f2019



org-apache-sling-file-optimization2019



org-apache-sling-jcr-contentparser2019
Stefan Seifert 

org-apache-sling-scripting-esx2019



org-apache-sling-scripting-jsp-taglib-compat2019



org-apache-sling-scripting-jsp-taglib2019still in use

org-apache-sling-serviceuser-webconsole2019




Data extracted via: find ./* -maxdepth 0 -type d | while read a; do (cd $a; test -d src && echo -n "$a," &&    git log --date=format:%Y -1 -- src -- | grep Date); done | grep 201 | sort -t ' ' -k 2 -n




  • No labels