Minifinder for Eclipse can check in advance how well your applications can be transformed into the latest Vaadin version were you to use V8 Upgrade Automation — a Vaadin semi-automated modernization service.
Minifinder works by parsing your project’s Java code, resolving as many of your application’s references to Vaadin libraries as it can, and outputting the high-level results to the Eclipse IDE console.
You can then copy the report it generates to share with others to discuss. This allows you to make an informed decision as to whether to proceed with V8 Upgrade Automation.
To satisfy organizations with strict security policies on installing tools in their network, Minifinder is limited as follows:
It runs locally and doesn’t connect to the internet;
It doesn’t change your code; and
It writes all output to the console, not the disk.
To use Minifinder with Eclipse, there are a few things to do: first, make sure Eclipse is ready to use the plugin; next, check that your application projects are ready to be analyzed; then run the analyzer; and interpret the results. These steps are described below.
Minifinder is distributed as a single-file Eclipse plugin JAR that you can copy into the Eclipse
/plugins, or the
/dropins folder where you open your Vaadin 8 project. You may need to restart Eclipse after copying the file. You’ll then see a button with a Vaadin logo (i.e.,
]>) appear in the toolbar.
Latest VersionMake sure you have the most up-to-date version of Minifinder. It contains the latest set of transformation rules that are available with the V8 Upgrade Automation.
Minifinder depends on the Eclipse environment to resolve all names in your code with their corresponding types and packages in which they’re declared. Eclipse is robust and can resolve names in sources that contain errors — Minifinder may work even if your project has hundreds of Maven or Java errors. However, the fewer errors you have the better. It’s therefore recommended that you check that your project is free of red lines before launching Minifinder.
Close any project in your workspace which doesn’t contain Vaadin 8 references. This prevents Minifinder from analyzing irrelevant code and thereby saves times.
Click the button in the toolbar that appeared after you installed the plugin (i.e., the Vaadin logo). The tool starts with default settings that work with over 97% of all Vaadin 8 applications. Press OK to proceed with the analysis.
A progress bar should appear to show its progress.
When the progress bar reaches 100% and disappears, the analysis is finished. You can then view the output. Minifinder for Eclipse writes output in the Eclipse Console.
Window → Show View → Console
The report is text-only and summarizes statistics on the references in the project code to Vaadin 8. Emphasis is on method invocations and constructor invocations. Method invocations are invocations that appear in the project code within methods that are declared in Vaadin 8 classes. Constructor invocations are new keywords that are matched with constructors that are declared in Vaadin 8 classes.
Both of these invocations are included in the statistics if the method or constructor invoked is declared in a Vaadin class. This means that invocations on custom subclasses of Vaadin components in your project are included in the statistics if the method is inherited from its Vaadin super class. Furthermore, invocations on custom subclasses in your project won’t be included in the statistics if the methods invoked are declared in your own custom subclass.
The statistics for method and constructor invocations include an indication of coverage. A higher coverage rate is preferred. Coverage refers to a situation that is known and is dealt with high confidence that no further developer work is required.
Basically, the transformation has been established for this declaration and the transformation tool contains a rule that handles it and the transformation requires no change. Or the transformation requires a change and that change is made by the tool with no manual intervention required.
Coverage assumes that the modernized application uses Classic Components and a handful of utility methods that help bridge the gap in behavior between Vaadin 8 and later versions.