| 1 |
d2a8c3fd
|
Marc NICOLAS
|
version 1.9.4.1:
|
| 2 |
|
|
* Fix a problem that occurs in Tomcat. When TouchCollector
|
| 3 |
|
|
initializes, it calls ProjectData.initialize() which (with
|
| 4 |
|
|
Tomcat only) eventually calls TouchCollector. However,
|
| 5 |
|
|
TouchCollector's static members have not been initialized.
|
| 6 |
|
|
Added a test that highlights this problem. (Thanks to Jack Cobb
|
| 7 |
|
|
for suggesting the fix).
|
| 8 |
|
|
* Runs on Java 5. (Fix for Bug 2962599).
|
| 9 |
|
|
|
| 10 |
|
|
|
| 11 |
|
|
version 1.9.4:
|
| 12 |
|
|
* Cobertura is now up to 10x faster. Aggregates changes in
|
| 13 |
|
|
temporary TouchCollector class (thread-safe, but lock-free) and after that
|
| 14 |
|
|
applies it on real model (ProjectData) as a batch operation. (Piotr Tabor)
|
| 15 |
|
|
* Fixed "Some packages are included more then once" bug (#2875576) that
|
| 16 |
|
|
caused some counts on the HTML report to be incorrect. (Charlie Squires)
|
| 17 |
|
|
* Fixed "Inner classes not counted in coverage report total" bug (#2943320)
|
| 18 |
|
|
(Charlie Squires)
|
| 19 |
|
|
|
| 20 |
|
|
version 1.9.3:
|
| 21 |
|
|
* Update to the latest Javancss (32.53) to fix some complexity calculation
|
| 22 |
|
|
problems. Bug #2824425. (John Lewis)
|
| 23 |
|
|
* Non-Java source files (like Groovy) no longer show the JavaNCSS warnings
|
| 24 |
|
|
during cobertura-report. Fix of bug #2819844.
|
| 25 |
|
|
* Support the case where multiple classloaders each load the Cobertura
|
| 26 |
|
|
classes. (Ed Randall)
|
| 27 |
|
|
* Fixed bug added with 1.9.2 where a NullPointerException is thrown
|
| 28 |
|
|
if ProjectData.saveGlobalProjectData() is called before any instrumented
|
| 29 |
|
|
code is executed.
|
| 30 |
|
|
|
| 31 |
|
|
version 1.9.2:
|
| 32 |
|
|
* Cobertura is now thread safe.
|
| 33 |
|
|
* Fix for FileLocker exception when writing coverage data
|
| 34 |
|
|
(java.lang.IllegalStateException: Shutdown in progress) that started
|
| 35 |
|
|
to appear with Java 6 update 14. (Chris van Es)
|
| 36 |
|
|
* Fix for bug "Unix scripts behave oddly due to DOS format - ID: 2788621"
|
| 37 |
|
|
|
| 38 |
|
|
version 1.9.1.1:
|
| 39 |
|
|
* Just a copy of 1.9.1 with a corrected Maven POM file (cobertura-runtime.pom).
|
| 40 |
|
|
A new version has to be created to get it uploaded to the central Maven repo.
|
| 41 |
|
|
|
| 42 |
|
|
version 1.9.1:
|
| 43 |
|
|
* Complexity calculation now works with Java 5 language
|
| 44 |
|
|
features such as Annotations. (Tri Bao Ho)
|
| 45 |
|
|
* Removed the bold font from the source-view for uncovered lines to
|
| 46 |
|
|
improve the alignment. (Jiri Mares)
|
| 47 |
|
|
* Support Ant <dirset>s. (Matt Cordes, John Lewis)
|
| 48 |
|
|
* Support the antlib mechanism for defining and importing
|
| 49 |
|
|
ant tasks. (Richard Atkins)
|
| 50 |
|
|
* Reports now support source encoded in something than UTF-8. (Jiri Mares)
|
| 51 |
|
|
* Report generation performance improvement. (Ignat Zapolsky)
|
| 52 |
|
|
* Report generation will look in zip and jar files if the
|
| 53 |
|
|
source java file is not found. (Charlie Squires, John Lewis)
|
| 54 |
|
|
* cobertura-check with linerate=0, branchrate=0,
|
| 55 |
|
|
packagebranchrate=0, packagelinerate=0, totalbranchrate=0,
|
| 56 |
|
|
totallinerate=0 will no longer default all the values to
|
| 57 |
|
|
50 as before. Therefore, cobertura-check will always pass.
|
| 58 |
|
|
Note that this still means that <cobertura-check /> (with
|
| 59 |
|
|
no attributes) will still default to 50 for all rates. (Charlie
|
| 60 |
|
|
Squires) (Bug 2152919)
|
| 61 |
|
|
* New coberturaFlush.war is created. Deploy it to a
|
| 62 |
|
|
web server and invoke http://<HOST>:<PORT>/coberturaFlush/flushCobertura
|
| 63 |
|
|
for a convenient way of flushing the cobertura data to the
|
| 64 |
|
|
datafile without stopping the web server. (Amit Nithianandan)
|
| 65 |
|
|
* XML report now shows total lines-covered, lines-valid,
|
| 66 |
|
|
branches-covered, branches-valid, and complexity. (Julian Gamble)
|
| 67 |
|
|
* New report option called "summaryXml" will create
|
| 68 |
|
|
a small summary XML report that does not have all the
|
| 69 |
|
|
details on the classes - just the overall totals. This
|
| 70 |
|
|
is for large projects where the full XML report gets so
|
| 71 |
|
|
big it impairs continuous build processes. (Julian Gamble and Dan Godfrey)
|
| 72 |
|
|
* Migrated from asm-2.2.1 to asm-3.0. (Jiri Mares)
|
| 73 |
|
|
* The percentage coverage of 199 out of 200 lines has been 100%.
|
| 74 |
|
|
No more! Now it is 99%. (Jiri Mares)
|
| 75 |
|
|
* Spelling error corrected in main.css file - changed magin to
|
| 76 |
|
|
margin. (Dennis Lundberg)
|
| 77 |
|
|
|
| 78 |
|
|
version 1.9:
|
| 79 |
|
|
* Much improved branch coverage. Information on whether
|
| 80 |
|
|
the true as well as the false of an if statement is
|
| 81 |
|
|
collected. Also, information on the branches of a
|
| 82 |
|
|
switch statement (including the default) is collected.
|
| 83 |
|
|
(Jiri Mares)
|
| 84 |
|
|
* Assume Java source files are saved as UTF-8 instead of
|
| 85 |
|
|
the computer's default encoding.
|
| 86 |
|
|
* Write all HTML and XML reports in UTF-8 instead of the
|
| 87 |
|
|
computer's default encoding (Naoki Iwami).
|
| 88 |
|
|
* Fix a bug where the Cobertura ant tasks would not work
|
| 89 |
|
|
correctly in Microsoft Windows when Cobertura was
|
| 90 |
|
|
installed on a different drive than the drive from which
|
| 91 |
|
|
you're running ant (Srivathsan Varadarajan).
|
| 92 |
|
|
* Added a "maxmemory" attribute to the instrument, merge
|
| 93 |
|
|
and report ant tasks (Matt Cordes).
|
| 94 |
|
|
* Improve support for Maven and similar environments where
|
| 95 |
|
|
control over system properties is difficult such as
|
| 96 |
|
|
app servers, IoC containers, IDEs, etc. Setting the
|
| 97 |
|
|
datafile location is difficult in these environments.
|
| 98 |
|
|
To correct this, a cobertura.properties file
|
| 99 |
|
|
located in the classpath is used to properly set the
|
| 100 |
|
|
net.sourceforge.cobertura.datafile property.
|
| 101 |
|
|
(Joakim Erdfelt)
|
| 102 |
|
|
|
| 103 |
|
|
version 1.8 (2006-04-10)
|
| 104 |
|
|
* Ability to have multiple <ignore/> regular expressions
|
| 105 |
|
|
in the instrument task (Alexei Yudichev).
|
| 106 |
|
|
* Ability to specify a minimum branch coverage rate and
|
| 107 |
|
|
line coverage rate for each package when using
|
| 108 |
|
|
cobertura-check.
|
| 109 |
|
|
* Show the number of lines and branches covered and the
|
| 110 |
|
|
total number of lines and branches in the HTML report.
|
| 111 |
|
|
* Support for instrumenting classes written in Groovy.
|
| 112 |
|
|
* Lock the data file before trying to write to it. This
|
| 113 |
|
|
allows multiple JVMs (or multiple class loaders within
|
| 114 |
|
|
a single JVM) to write to the same coverage data file
|
| 115 |
|
|
with no problems (John Lewis).
|
| 116 |
|
|
* Ability to instrument classes on a given classpath
|
| 117 |
|
|
instead of specifying filesets (John Lewis).
|
| 118 |
|
|
* Ability to specify which classes will be instrumented
|
| 119 |
|
|
using regular expressions (John Lewis).
|
| 120 |
|
|
* Archives within archives will be instrumented if you
|
| 121 |
|
|
specify an includeClassname regular expression (John
|
| 122 |
|
|
Lewis).
|
| 123 |
|
|
* If instrumenting an archive, remove any signatures
|
| 124 |
|
|
and checksums, since they will no longer be valid (John
|
| 125 |
|
|
Lewis).
|
| 126 |
|
|
* Removed the Class-Path line from cobertura.jar. You may
|
| 127 |
|
|
need to modify your Cobertura taskdef to include the jars
|
| 128 |
|
|
in Cobertura's 'lib' directory. See our Ant task web
|
| 129 |
|
|
page for an example.
|
| 130 |
|
|
* Reorganized libs into a flatter directory structure--you
|
| 131 |
|
|
may need to update your ant scripts.
|
| 132 |
|
|
* Upgraded from asm 2.1 to asm 2.2.1. No code changes were
|
| 133 |
|
|
needed.
|
| 134 |
|
|
* Copied portions of classes from JavaNCSS into Cobertura
|
| 135 |
|
|
so that we don't need to include the entire JavaNCSS and
|
| 136 |
|
|
CCL jars.
|
| 137 |
|
|
|
| 138 |
|
|
version 1.7 (2005-12-06)
|
| 139 |
|
|
* log4j is no longer used by the Cobertura classes that are
|
| 140 |
|
|
accessed by instrumented Java code. This means you will
|
| 141 |
|
|
not need to add log4j to your project's classpath in order
|
| 142 |
|
|
to use Cobertura (but log4j is still required when
|
| 143 |
|
|
instrumenting and reporting).
|
| 144 |
|
|
* Upgraded from asm 2.0 to asm 2.1. No code changes were
|
| 145 |
|
|
needed.
|
| 146 |
|
|
* Improved the merge task. It should work correctly now
|
| 147 |
|
|
(with help from Björn Beskow).
|
| 148 |
|
|
* Fixed the ability to specify a data file in the merge task.
|
| 149 |
|
|
* Changed the command-line interface to the merge task and
|
| 150 |
|
|
added a helper batch/shell script.
|
| 151 |
|
|
* Added better error checking to the merge task.
|
| 152 |
|
|
* Fixed a bug where an empty or incomplete coverage data
|
| 153 |
|
|
file would be written when you test classes inside Tomcat,
|
| 154 |
|
|
and you stop Tomcat using the shutdown.bat or shutdown.sh
|
| 155 |
|
|
scripts. This would result in an EOFException when running
|
| 156 |
|
|
cobertura-report.
|
| 157 |
|
|
* Added support for classes compiled with AspectJ.
|
| 158 |
|
|
* Cobertura now produces valid XHTML 1.0 reports.
|
| 159 |
|
|
|
| 160 |
|
|
version 1.6 (2005-08-22)
|
| 161 |
|
|
* Can now use multiple filesets in the cobertura-instrument
|
| 162 |
|
|
task (Thanks to Grzegorz Lukasik).
|
| 163 |
|
|
* Can now use multiple filesets in the cobertura-report task
|
| 164 |
|
|
(Thanks to Jeremy Thomerson, Grzegorz Lukasik and James Seigel).
|
| 165 |
|
|
* No longer using the Java version of GNU GetOpt
|
| 166 |
|
|
* Fixed a bug where the total number of classes displayed in
|
| 167 |
|
|
the HTML report included anonymous classes when it should
|
| 168 |
|
|
not have.
|
| 169 |
|
|
|
| 170 |
|
|
version 1.5 (2005-08-05)
|
| 171 |
|
|
* Shortened the header shown when running Cobertura (Thanks
|
| 172 |
|
|
to Jarkko Viinamäki).
|
| 173 |
|
|
* Don't save the data file twice after instrumenting.
|
| 174 |
|
|
* Print a warning when running cobertura-report with a
|
| 175 |
|
|
data file that does not contain information from the
|
| 176 |
|
|
instrument step.
|
| 177 |
|
|
* When instrumenting, you can now specify a zip, jar, war,
|
| 178 |
|
|
ear or sar file and Cobertura will instrument any classes
|
| 179 |
|
|
inside of the archive. You must explicity give the name
|
| 180 |
|
|
of the archive when instrumenting--giving the name of the
|
| 181 |
|
|
directory containing the archive will not work (Thanks to
|
| 182 |
|
|
Grzegorz Lukasik).
|
| 183 |
|
|
* Fixed a bug where the class list in the HTML reports did
|
| 184 |
|
|
not show multiple classes with the same name, but in
|
| 185 |
|
|
different packages.
|
| 186 |
|
|
* Add a timestamp and version number to all HTML reports.
|
| 187 |
|
|
* Add a timestamp and version number to all XML reports.
|
| 188 |
|
|
* Add the combined line-rate and branch-rate for all
|
| 189 |
|
|
packages to all XML reports.
|
| 190 |
|
|
* Fixed the merge task (Thanks to Mark Sinke).
|
| 191 |
|
|
* The check task now supports checking against a project's
|
| 192 |
|
|
total branch and line coverage rates (Thanks to Nathan
|
| 193 |
|
|
Wilson).
|
| 194 |
|
|
* The check ant task now allows you to fail the ant build,
|
| 195 |
|
|
if desired (Thanks to Nathan Wilson).
|
| 196 |
|
|
* The check task can set an ant property to "true" on
|
| 197 |
|
|
failure (Thanks to Alex Ruiz).
|
| 198 |
|
|
* Changed some of the parameters for the check task. See
|
| 199 |
|
|
the online documentation for usage information.
|
| 200 |
|
|
* The command line Windows batch scripts work better.
|
| 201 |
|
|
|
| 202 |
|
|
version 1.4 (2005-05-30)
|
| 203 |
|
|
* Fixed a bug that sometimes resulted in a
|
| 204 |
|
|
StringIndexOutOfBoundsException when running cobertura-report
|
| 205 |
|
|
(Thanks to Grzegorz Lukasik).
|
| 206 |
|
|
* Fixed a bug where classes without coverage data ("N/A") were
|
| 207 |
|
|
not always sorted correctly in the HTML report (Thanks to
|
| 208 |
|
|
Olivier Parent).
|
| 209 |
|
|
* Fixed a bug where the code complexity column would not always
|
| 210 |
|
|
sort correctly in locales that use a comma to split the decimal
|
| 211 |
|
|
part of the number (Thanks to Olivier Parent).
|
| 212 |
|
|
* Show "N/A" in the branch column of the HTML report for classes
|
| 213 |
|
|
and packages that do not have any branches.
|
| 214 |
|
|
|
| 215 |
|
|
version 1.3 (2005-05-20)
|
| 216 |
|
|
* Increased speed of HTML reports by filtering the files read
|
| 217 |
|
|
in to determine cyclomatic complexity numbers on.
|
| 218 |
|
|
* In the lower left pane of the HTML reports, classes are now
|
| 219 |
|
|
sorted only by their class name (instead of by their package
|
| 220 |
|
|
name plus class name).
|
| 221 |
|
|
* Changed the format of the XML reports to something that
|
| 222 |
|
|
is hopefully easier to use and more natural. This
|
| 223 |
|
|
unfortunately breaks backward compatability.
|
| 224 |
|
|
* We're using a DTD for the XML reports now. See
|
| 225 |
|
|
http://cobertura.sourceforge.net/xml/coverage-01.dtd
|
| 226 |
|
|
* Added the ability to specify the location of the coverage
|
| 227 |
|
|
data files from the ant tasks and the command line.
|
| 228 |
|
|
* More user-friendly error checking and reporting.
|
| 229 |
|
|
|
| 230 |
|
|
version 1.2 (2005-03-16)
|
| 231 |
|
|
* Fix a bug that caused the XML reports to be invalid XML
|
| 232 |
|
|
(they were missing the </package> tag).
|
| 233 |
|
|
* Use Java 1.4 pattern matching and remove Jakarta ORO.
|
| 234 |
|
|
|
| 235 |
|
|
version 1.1 (2005-03-08)
|
| 236 |
|
|
* Fix a bug in the syntax highlighting code of the HTML report
|
| 237 |
|
|
generation. Previously, the highlighting for single quotes
|
| 238 |
|
|
containing "\\" would not end correctly.
|
| 239 |
|
|
* Check the third party jars into CVS using the correct CVS
|
| 240 |
|
|
substition flag (binary, not ASCII).
|
| 241 |
|
|
* Temporary files created by the instrument ant task and merge
|
| 242 |
|
|
ant task are now deleted after the ant task finishes.
|
| 243 |
|
|
* Switch the instrumentation classes to use ASM instead of
|
| 244 |
|
|
Apache BCEL. There are three benefits to this:
|
| 245 |
|
|
1. BCEL was throwing exceptions with some source code compiled
|
| 246 |
|
|
with JDK 1.5--ASM works fine.
|
| 247 |
|
|
2. ASM is licensed under the revised BSD license, which
|
| 248 |
|
|
is compatable with the GPL, which allows us to remove
|
| 249 |
|
|
the questionable exception for BCEL.
|
| 250 |
|
|
3. Instrumentation is about 5 times faster with ASM than BCEL.
|
| 251 |
|
|
* Modify the HTML reports so that classes without line number
|
| 252 |
|
|
information will appear as "Not Applicable." This includes
|
| 253 |
|
|
skeleton classes, stub classes, interfaces, or anything not
|
| 254 |
|
|
compiled with debug=true.
|
| 255 |
|
|
* Fix bug #1151777 with a patch from Jeremy Thomerson.
|
| 256 |
|
|
Previously we were not escaping some characters correctly in the
|
| 257 |
|
|
generated XML coverage report (specificially < and >).
|
| 258 |
|
|
* Set the class-path in the cobertura.jar manifest file correctly.
|
| 259 |
|
|
* Fill feature request #1151779 with a patch from Jeremy Thomerson.
|
| 260 |
|
|
This changes the structure of the XML report so that <classes> are
|
| 261 |
|
|
enclosed inside <packages>.
|
| 262 |
|
|
|
| 263 |
|
|
version 1.0 (2005-02-12)
|
| 264 |
|
|
* Forked jcoverage 1.0.5 (although the version in the source says 1.0.4).
|
| 265 |
|
|
All original code is copyright 2003 jcoverage ltd. Kurt Guenther
|
| 266 |
|
|
highlighted a bug in the branch coverage, was was fixed.
|
| 267 |
|
|
* Applied a patch from Joakim Erdfelt to fix a bug where jcoverage
|
| 268 |
|
|
would fail to instrument classes if you attempted to instrument a
|
| 269 |
|
|
very large number of classes (in the hundreds).
|
| 270 |
|
|
* Rewrote the HTML reporting and included code complexity in the output. |