A DESCRIPTION OF THE PROBLEM :
--module-source-path is needlessly complex.
Please supply an alternative option to --module-source-path.
One option could be:
--module-source <java-file>(:<java-file>)*
Where <java-file> is a path to a Java file, and where : is the system-dependent path separator (e.g, : is : on UNIX, and ; on Windows).
One and only one of the <java-file>s listed for a --module-source must be named module-info.java.
Multiple --module-source options can be included in one javac command, each corresponding to a separate module.
An error occurs if a Java file is listed in more than one --module-source, or if it is listed in a --module-source and in the standard <sourcefiles> list. This means that any file listed for a --module-source must not also be listed in the <sourcefiles> list.
Another option is:
--module-source-directories <directory>(:<directory>)*
Where <directory> is a path to a directory root of Java files, and where : is the system-dependent path separator.
Multiple --module-source-directories options can be included in one javac command, each corresponding to a separate module.
An error occurs if a <directory> is listed for more than one --module-source-directories.
This can either work by:
1. Automatically including in the compilation every Java file found in the trees rooted with any <directory>. In this case, every <directory> set for a single --module-source-directories must contain one, and only one, module-info.java. Also, an error would occur if the standard <sourcefiles> list contains any paths that are descendants of any <directory>.
2. Requiring that all source files still be listed in the standard <sourcefiles> list, but javac would include all files that are descendants of any <directory> of a single --module-source-directories to that module. An error occurs if there is not one, and only one, module-info.java included in <sourcefiles> for each --module-source-directories.
In all of the above cases, there is no need to specify the name of any module on the command line, nor for the module name to be in any of the path arguments. Each module's name can be read from the sole module-info.java that is indicated for that module; if there are more than 1, or if there are zero, module-info.java files for any module, then an error is displayed.