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. |