snazy commented on PR #568: URL: https://github.com/apache/creadur-rat/pull/568#issuecomment-3476649680
> If Gradle needs an HTML report (as does Maven Report plugin) then perhaps following the anticipated Maven pattern may make sense. Gradle doesn't need it. I just added it as [this plugin](https://github.com/eskatos/creadur-rat-gradle) created an HTML report as well. > My plan to fix Maven is to have the "check" part of the plugin write an XML file into the target space somewhere. Then the "report" part of the plugin will read that XML and generate a report from it. > There is also a request to generate multiple reports on a single CLI run. So I expect that the output-style will change to allow multiple style sheets. Not sure how exactly but we can work through that. That sound great! The Gradle plugin can follow this mechanism, and I think that's the most flexible approach. It's rather a technical detail what and how "all the stylesheets" are processed. If that's pluggable, even better! > On the question of monolith I am moving toward the UI as a separate package. If each of the UIs is a separate package then we can strip the core down to the minimum necessary to support all the standard CLI options, and put the reporters in separate jars bundled with core and tools. That's doable. We just need what's in the apache-rat-core module. When the reporters are pluggable, we can also allow custom reporters. That's relatively easy, the actual report generation is running as a "classloader isolated" Gradle work action, we and users can add whatever they want there. > So `apache-rat-<version>.jar` is the CLI version `apache-rat-maven-<version>-<mavenversion>.jar` is the maven plugin version that requires `<mavenversion>` of maven. `apache-rat-ant-<version>-<antversion>.jar` is the ant component version that requires `<antversion>` of Ant. `apache-rat-gradle-<version>-<gradleversion>.jar` is the gradle component version that requires the `<gradleversion>` of Gradle. `apache-rat-core-<version>.jar` is the core component used by and embedded in all the UI versions. SGTM! It's not common to add the (minimum) Gradle version to plugins. Plugins rather define the minimum version it supports. > The current `tools` component gets broken up and distributed so that all the common bits are in `core` and all the UI specific bits are in the UI plugins. +1 > I have put forward a design proposal [1] that includes this PR and how we should think about UIs going forward. Please take a look, join the mailing list if you have not already done so, and let's have discussion about how to support the various flavours of UI going forward. Will do! -- 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]
