Instead of getting properties from system properties, create config class for the data and Rest.li generators.
Hide the existing "run()" functions in the concrete generators to private generate() and provide static run() to pass required properties. Command-line main() will still use system properties.
Update the gradle plugin to use the new generator pattern. There is no need for synchronization block and support parallel build.
Remove dataModelJar and restModelJar artifacts from the plugin.