Description
Feature request
As originally proposed in the Packaged Executable design doc, it would be beneficial to refactor the gtfsvalidator.cli
package into its own Gradle sub-project. Currently, the package contains the Main entry-point for the command-line interface. Work was already done in PR #1145 to extract core validation logic out of Main
and into a generally-more-reusable ValidationRunner class. As the different deployment architectures for the validator grows (e.g. web service ala #1184), it would be good to have cleaner separation between the main validation runner+schema+validation rules (aka the :main
sub-project) and the different deployment wrappers.
Proposed solution
Move the gtfsvalidator.cli package and all classes contained within into a separate Gradle sub-project named cli
.
Describe alternatives you've considered
Leave the classes as-is. I think the separation between the main validation logic and the deployment containers around it will continue to be blurry in this world, with the gui
project needing to depend on CLI elements that it does not use, as an example.