Hi Jochen,
On 17/04/17 15:17, Jochen Wiedmann wrote:
Hi,
I am close to finishing what will be my proposal for what I
preliminarily call "Rat 2". But, before I publish that to Git, I
thought it might be a good idea to discuss my intentions, and gather
wishes, alternative suggestions, or other sorts of input:
I would like to see code first (put it on a github repo first of your
own) so we can take a look...
So we have something which can be looked at ...and then start discussion
about it...
Kind regards
Karl Heinz Marbaise
Rat 2 is a complete rewrite of the current Rat. I did that rewrite in
order to introduce the features/address the pain points below:
1.) Radically simplified, leaner code base. Right now, the size of the
*.java files in the api, and core projects is 553388 characters,
whereas my rat2-core has 179260 characters.
2.) Driven by configuration. If a user claims, that "Rat doesn't do
that", or whatever, then I want our standard reply to be along the
lines of "Here's how to change your configuration", rather than "We
need a new class Foo, which will come with the next release in
something like 12 months."
3.) Pluggable architecture. Rat 2 basically has less than 10 classes,
which are instantiated (for example, all the full text licenses are
sharing a single class, rather than creating a new class for any
additional license).
4.) Really modular. I want us to be able to release the maven
plugin/ant task/cli separately, if and when there is a problem in
those components, rather than wait for a release of the complete Rat.
This implies, in particular, that in Rat 2 the core takes over a lot
of tasks, that the other components did in Rat 1. As a prize, Rat 2 is
now mainly driven by a configuration file, rather than by the Maven
POM/Ant Build script/CLI Options. Basically, the components are
invoking the core to "run the Rat engine, based on the given
configuration file".
5.) Support for using multiple threads while scanning.
Hoping, this sounds interesting to you,
Jochen