Parent version updated to Jenkins 1.447

- The plugin is not buildable with current parent version 1.410 and JDK 7

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Internal error in the plugin manager executing goal 'org.jenkins-ci.tools:maven-hpi-plugin:1.67:apt-compile': Unable to load the mojo 'org.jenkins-ci.tools:maven-hpi-plugin:1.67:apt-compile' in the plugin 'org.jenkins-ci.tools:maven-hpi-plugin'. A required class is missing: com/sun/mirror/apt/AnnotationProcessorFactory
com.sun.mirror.apt.AnnotationProcessorFactory
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 18 seconds
[INFO] Finished at: Sat Feb 08 19:15:37 CET 2014
[INFO] Final Memory: 59M/376M
[INFO] ------------------------------------------------------------------------
make: *** [package] Error 1

- Fixed according to

http://jenkins-ci.361315.n4.nabble.com/JIRA-Created-JENKINS-10818-Clearcase-plugin-does-not-compile-on-JDK-7-td3768631.html

"Proprietary API which was used by apt compiler was removed from JDK 7. However the issue itself has been fixed in newer apt compiler, so this problem can be solved by depending on newer Jenkins plugin pom."

- Generated files for development in Eclipse added to .gitignore to prevent an accidental commit.
[JENKINS-17363] Ludicrously slow load time [with lazyloading]
[JENKINS-19437] Implement load on demand functionality in Cppcheck

- All details from Cppcheck report is stored to build.xml which is wrong. The file quickly grows with many findings and causes performance and memory issues.
- Storing of the details to external file cppcheck_details.xml and their lazy loading implemented to fix the issue. File build.xml now contains only small statitistics neccessary for trend graph and build summary.
- There is no need to store CppcheckReport during the build at all, its content is fully dupplicated in CppcheckSourceContainer. CppcheckStatistics has nearly identical interface so it can be used instead of CppcheckReport most of time.
- Incorrect uses of @SuppressWarnings("unused") removed to solve compiler warnings.
- Cppcheck tool version is stored to build.xml together with CppcheckStatistics now. This fixes a bug in the details page, the information was expected in CppcheckReport but its field is transient so the information was never stored/loaded and displayed.
- Content of tabview/main.jelly moved dirrectly to CppcheckResult/index.jelly, include removed. This was probably only a historical location.
- New developer added to pom.xml.
- Several TODOs unrelated to this commit added to the code, they will be fixed in future.
[JENKINS-17363] Ludicrously slow load time [with lazyloading]
[JENKINS-19437] Implement load on demand functionality in Cppcheck

- Lazy loaded details are stored in CppcheckResult member variable and never released by Java garbace collector since a reference to them exists forever. All build.xml files are loaded during Jenkins startup and never released, CppcheckResult objects are part of them. This is kind of a memory leak. The update will cause slight lower performance but releasing of the memory is much more important for long run tasks/daemons/servers.
- Method lazyLoadSourceContainer() updated to return the data instead of their caching in a member variable.
- If cached CppcheckSourceContainer object can't be loaded, an empty one will be created. Different constructor used to remove unnecessary exception catches. Recently added related if removed from CppcheckSourceContainer.
- Condition moved from index.jelly to summary.jelly to be able to reuse the data and remove one unnecessary loading (performance).
- Construction "key = ++key" has no meaning, updated to "++key" to resolve a warning.
[JENKINS-21927] Redesign of build summary page

- List in build summary updated to a sortable table that is better readable and more usable. The displayed values were fixed, e.g. negative result in delta can be displayed.
- The design is fully defined in jelly instead of in Java code.
- CppcheckSummary class is not needed, removed.
[JENKINS-21928] Redesign of results page

- Table in buildaction/summary.jelly extracted to a separate file and reused in the results page. This table uses rows instead of columns so it is better readable and supports sorting, it also contains more information (delta).
- "Errors Trend" removed, it is part of the summary.
- "Cppcheck Engine versions" updated from one cell table to a simple paragraph.
- summary.jelly renamed to details.jelly, the file contains details and not summary.
- Wrapping of long lines is now possible in the details table to remove horizontal scroll bar.
- Column headers renamed in the details table to look more like words instead of identifiers.
- The tables have their widths instead of 100% width of the page.
- Missing support for translations ${%Text} implemented.
- Function getNumberNewErrorsFromPreviousBuild() is now unused so it was removed.
[JENKINS-17450] "warning" and "performance" not counted

- The graph doesn't consider "No Category" and whole plugin doesn't work with "portability" severity at all.
- "No category" and "portability" severities added at all places in the code where other severities are used. Configuration files now contain these additional values.
- Align of the displayed severities updated on the configuration page to use 2 rows and 4 columns.
- CppcheckParser is now able to parse the portability severity correctly, it used incorrect "no category". This is only for report version 2, version 1 doesn't output it.
- REST API extended to contain portability severity too.
- Legend "Severity 'SEVERITY'" in the graph updated to equivalent but much shorter "SEVERITY". There is more space for the data in the trend now.
- Non-parametric constructor added to CppcheckStatistics class to simplify creation of empty instance.
- Support for localization implemented at many places instead of hardcoded strings.
- Incorrect @SuppressWarnings anotations removed to fix compiler warnings.
[JENKINS-22073] ProjectAction should render graph, optimize build.xml size

- Issue: The trend graph is part of project/job page and should be created in CppcheckProjectAction instead of in CppcheckBuildAction.
- Issue: Every build.xml file contains full plugin configuration, this is not needed.
- Creating of the graph moved from CppcheckBuildAction to proper CppcheckProjectAction.
- CppcheckBuildAction now stores no configuration which results in smaller build.xml.
- Various methods updated to receive only CppcheckConfigSeverityEvaluation in their parameters.
- Weather column in the jobs table (mouse over tool tip) updated to contain only a constant label with a percentage, use of a deprecated API removed. It isn't neccessary to dynamically show a configuration here. This allows to replace whole <configSeverityEvaluation> part of build.xml by one integer.
- Several @SuppressWarnings("unused") that are causing compiler warnings removed.
- Code updated to be better readable.
[JENKINS-22073] ProjectAction should render graph, optimize build.xml size

- Forgotten unsaved file commited.
Merge pull request #3 from mixalturek/master

Bugfixes