Issue Details (XML | Word | Printable)

Key: MPLINKCHECK-27
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Arnaud Heritier
Reporter: Dennis Lundberg
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Maven 1.x LinkCheck Plugin

The report is incomplete if one or more files has errors in them

Created: 22/May/06 02:56 PM   Updated: 25/Mar/07 05:30 PM   Resolved: 25/Mar/07 05:30 PM
Return to search
Component/s: None
Affects Version/s: 1.4
Fix Version/s: 1.4.1

Time Tracking:
Not Specified

File Attachments: 1. Zip Archive MPLINKCHECK-27-testcase.zip (0.9 kB)
2. Text File MPLINKCHECK-27.patch (2 kB)

Environment: Maven 1.0.2, Windows XP

Testcase included: yes


 Description  « Hide

If you run linkcheck on a project and there is more than zero files with errors, then the resulting report is incomplete. The table that shows which files have errors and warnings is not shown. The reason for this is a bug in linkcheck.jsl and the jelly syntax. Testcase and patch coming soon.

This link was helpful in finding the reason for the failure:
http://mail-archives.apache.org/mod_mbox/maven-users/200506.mbox/%3Cc38ad92d0506212340686a5dcb@mail.gmail.com%3E

Here's the stack trace I get:

Links checked.
Caught exception evaluating: org.apache.commons.jexl.ExpressionImpl@15078d. Reason: java.lang.Exception: Invalid comparison : GT
java.lang.Exception: Invalid comparison : GT
at org.apache.commons.jexl.parser.ASTGTNode.value(ASTGTNode.java:104)
at org.apache.commons.jexl.parser.ASTExpression.value(ASTExpression.java:85)
at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:123)
at org.apache.commons.jelly.expression.jexl.JexlExpression.evaluate(JexlExpression.java:115)
at org.apache.commons.jelly.expression.ExpressionSupport.evaluateRecurse(ExpressionSupport.java:106)
at org.apache.commons.jelly.expression.ExpressionSupport.evaluateAsBoolean(ExpressionSupport.java:116)
at org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:87)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:111)
at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:145)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:111)
at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:145)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
at org.apache.commons.jelly.impl.StaticTag.doTag(StaticTag.java:111)
at org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:145)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
at org.apache.commons.jelly.tags.jsl.TemplateTag$1.run(TemplateTag.java:160)
at org.dom4j.rule.Mode.fireRule(Mode.java:51)
at org.dom4j.rule.Mode.applyTemplates(Mode.java:71)
at org.dom4j.rule.RuleManager$1.run(RuleManager.java:148)
at org.dom4j.rule.Mode.fireRule(Mode.java:51)
at org.dom4j.rule.Stylesheet.run(Stylesheet.java:73)
at org.dom4j.rule.Stylesheet.run(Stylesheet.java:65)
at org.dom4j.rule.Stylesheet.run(Stylesheet.java:57)
at org.apache.commons.jelly.tags.jsl.StylesheetTag.doTag(StylesheetTag.java:124)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.JellyContext.runScript(JellyContext.java:634)
at org.apache.commons.jelly.JellyContext.runScript(JellyContext.java:584)
at org.apache.commons.jelly.tags.core.IncludeTag.doTag(IncludeTag.java:143)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
at org.apache.commons.jelly.tags.core.FileTag.writeBody(FileTag.java:207)
at org.apache.commons.jelly.tags.core.FileTag.doTag(FileTag.java:103)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.impl.DynamicTag.doTag(DynamicTag.java:125)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:79)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:110)
at com.werken.werkz.Goal.fire(Goal.java:639)
at com.werken.werkz.Goal.attain(Goal.java:575)
at com.werken.werkz.WerkzProject.attainGoal(WerkzProject.java:193)
at org.apache.maven.jelly.tags.werkz.MavenAttainGoalTag.doTag(MavenAttainGoalTag.java:127)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
at com.werken.werkz.jelly.PostGoalTag$1.firePostGoal(PostGoalTag.java:87)
at com.werken.werkz.Goal.firePostGoalCallbacks(Goal.java:710)
at com.werken.werkz.Goal.fire(Goal.java:654)
at com.werken.werkz.Goal.attain(Goal.java:575)
at com.werken.werkz.WerkzProject.attainGoal(WerkzProject.java:193)
at org.apache.maven.jelly.tags.werkz.MavenAttainGoalTag.doTag(MavenAttainGoalTag.java:127)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:79)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:110)
at com.werken.werkz.Goal.fire(Goal.java:639)
at com.werken.werkz.Goal.attain(Goal.java:575)
at com.werken.werkz.Goal.attainPrecursors(Goal.java:488)
at com.werken.werkz.Goal.attain(Goal.java:573)
at com.werken.werkz.WerkzProject.attainGoal(WerkzProject.java:193)
at org.apache.maven.jelly.tags.werkz.MavenAttainGoalTag.doTag(MavenAttainGoalTag.java:127)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:79)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:110)
at com.werken.werkz.Goal.fire(Goal.java:639)
at com.werken.werkz.Goal.attain(Goal.java:575)
at org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:671)
at org.apache.maven.MavenSession.attainGoals(MavenSession.java:263)
at org.apache.maven.cli.App.doMain(App.java:488)
at org.apache.maven.cli.App.main(App.java:1239)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.werken.forehead.Forehead.run(Forehead.java:551)
at com.werken.forehead.Forehead.main(Forehead.java:581)



Dennis Lundberg added a comment - 22/May/06 03:17 PM

Testcase that reproduces this issue.


Dennis Lundberg added a comment - 22/May/06 03:29 PM

Patch to fix this issue.


Arnaud Heritier added a comment - 25/May/06 01:32 AM

Thanks for all. The patch is applyed and a SNAPSHOT (1.4.1) is deployed.
Before to close this issue I have to add a check in the new test to verify that the table is complete.


Arnaud Heritier added a comment - 25/Mar/07 05:30 PM

File parsed to check if it is valid