jamesfredley opened a new issue, #16734: URL: https://github.com/apache/grails-core/issues/16734
## Summary These types have no caller anywhere in the grails-core checkout. They are candidates for removal in Grails 10.0.0. This issue does not remove them. The search was a word-boundary scan of every text file under 2 MB in the working tree, including Gradle, docs, XML, YAML, properties, Spring imports, and service files. `build/`, `.git`, `.gradle`, and binary files were skipped, so generated Groovydoc is not counted as a caller. A fully qualified name still matches, because it contains the simple name. No hit below is a production caller. Where a second file appears, it is the type's own test, a type in the same unused cluster, or a comment. This does not prove an application or plugin outside this repository never imports a public type. Public types should be deprecated before deletion. Package-private and `org.grails` helpers with no Spring bean and no doc are the safer cut. ## Unused types | Type | Module | Remaining references in this repo | |---|---|---| | `org.grails.web.converters.AbstractParsingParameterCreationListener` | grails-converters | Declaration only | | `org.grails.web.converters.configuration.configtest` script | grails-converters | Unreferenced script. Nothing in the tree contains `configtest`. It is a timing script, not a class other code loads. | | `org.grails.buffer.StreamCharBufferMetaUtils` | grails-encoder | Declaration only. `registerStreamCharBufferMetaClass` is also unreferenced. | | `grails.validation.DefaultASTValidateableHelper` | grails-validation | Own spec only | | `grails.validation.ASTValidateableHelper` | grails-validation | Implemented only by `DefaultASTValidateableHelper` | | `org.grails.databinding.converters.FormattedLocalDateTimeValueConverter` | grails-databinding-core | Declaration only. Not a Spring bean. `Jsr310ConvertersConfiguration` registers its own `LocalDateTime` converter and does not use this class. | | `org.grails.web.servlet.GrailsUrlPathHelper` | grails-web-mvc | Declaration only. `UrlMappingsHandlerMapping` uses Spring `UrlPathHelper`. | | `org.grails.web.servlet.WebRequestDelegatingRequestContext` | grails-web-common | Declaration only | | `org.grails.web.servlet.GrailsRequestContext` | grails-web-common | Implemented only by the unused class above | | `org.grails.plugins.web.mapping.factory.UrlMappingFactoryBean` | grails-url-mappings | Declaration only. Live registration uses `UrlMappingsHolderFactoryBean`. | | `org.grails.web.mapping.ControllerActionConventions` | grails-web-url-mappings | Declaration only | | `org.grails.web.mapping.ResponseCodeUrlMappingVisitor` | grails-web-url-mappings | Declaration only. Not a registered AST transform. | | `grails.plugin.springsecurity.web.filter.HttpMethodOverrideDetector` | grails-spring-security | Own spec only | | `grails.plugin.springsecurity.web.authentication.NullLogoutHandlerRememberMeServices` | grails-spring-security | Declaration only | | `grails.plugin.springsecurity.cas.NullProxyGrantingTicketStorage` | grails-spring-security-cas | Declaration, plus a TODO comment in `SpringSecurityCasGrailsPlugin`. The bean that runs is Apereo `ProxyGrantingTicketStorageImpl`. | | `org.grails.datastore.mapping.cache.impl.HashMapTPCacheAdapter` | grails-datastore-core | Declaration only | | `org.grails.datastore.mapping.cache.impl.TPCacheAdapterRepositoryImpl` | grails-datastore-core | Declaration only | | `org.grails.datastore.mapping.core.SoftThreadLocalMap` | grails-datastore-core | Own spec only | | `org.grails.datastore.gorm.internal.MethodInvokingClosure` | grails-datamapping-core | Only the two subclasses below | | `org.grails.datastore.gorm.internal.StaticMethodInvokingClosure` | grails-datamapping-core | Declaration only, apart from its parent | | `org.grails.datastore.gorm.internal.InstanceMethodInvokingClosure` | grails-datamapping-core | Declaration only, apart from its parent | | `org.grails.datastore.gorm.async.AsyncQuery` | grails-datamapping-async | Own spec only. `AsyncEntity.getAsync()` does not construct it. | | `org.grails.datastore.gorm.proxy.EntityProxyHandlerAdapter` | grails-datamapping-support | Own spec only. This is not `ProxyHandlerAdapter`, which does have callers. | | `org.grails.datastore.mapping.mongo.config.MongoClientOptionsBuilder` | grails-data-mongodb | Own spec only | | `org.grails.datastore.gorm.neo4j.collection.Neo4jAssociationResultList` | grails-data-neo4j | Declaration only | | `org.grails.io.support.DevNullPrintStream` | grails-bootstrap | Declaration only | | `org.grails.spring.GrailsContextEvent` | grails-spring | Declaration only. `DYNAMIC_METHODS_REGISTERED` is also unreferenced. | | `org.grails.dev.support.CommandLineResourceLoader` | grails-core | Declaration only | | `grails.core.GrailsDataSource` | grails-core | Declaration only. Public interface. | | `org.grails.spring.beans.factory.GenericBeanFactoryAccessor` | grails-core | Declaration only | | `org.grails.core.support.internal.tools.MetaClassChangeReporter` | grails-core | Declaration only | | `org.grails.core.support.internal.tools.ClassRelativeResourcePatternResolver` | grails-core | Declaration only | | `org.grails.core.support.internal.tools.ClassRelativeClassLoader` | grails-core | Used only by the unused resolver above, plus its own spec | ## Not included `grails.plugin.cache.CacheException` was an earlier candidate and is also unreferenced in this repo, but it is a different class from `org.grails.datastore.mapping.cache.exception.CacheException`, which is used. It is listed here so a later removal does not confuse the two. No whole module is unused. SiteMesh 2 layout, RxJava 1 GORM, and the Hibernate 5 modules are still wired. Those are separate from this list. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
