+1 for scanning the whole classpath without eager loading.

On Thu, May 25, 2017 at 11:52 AM, Jared Stewart <jstew...@pivotal.io> wrote:

> I would like to propose that we eliminate the “user-command-packages”
> system property, in favor of scanning the entire classpath to find commands.
>
> To give more detail, Geode currently supports three ways to load GFSH
> commands:
> Scan the classpath for commands in "org.apache.geode.management.
> internal.cli.commands”
> Scan the classpath for commands in a package specified by a user via the
> “user-command-packages” system property.
> Scan the classpath for commands registered in files inside
> META-INF.services (e.g. "geode-core/src/test/resources/META-INF/services/
> org.springframework.shell.core.CommandMarker”)
>
> We have some bespoke code responsible for scanning the classpath
> (ClasspathScanLoadHelper) that I am in the process of replacing with
> FastClasspathScanner (GEODE-2989).  Since FastClasspathScanner will no
> longer need to eagerly load all of the classes in the target package, I
> don’t see any reason why a user should need to specify a
> “user-command-package” property or a “META-INF/services” file.  Instead, we
> should just scan the whole classpath and register any commands that we find.
>
> Thoughts?




-- 
Cheers

Jinmei

Reply via email to