Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Additional improvements necessary for issues XML to be XML transformed into more meaningful Findbugs XML #276

Closed
TheRealAgentK opened this issue Jun 1, 2017 · 9 comments
Assignees

Comments

@TheRealAgentK
Copy link
Collaborator

TheRealAgentK commented Jun 1, 2017

This is just an ongoing note/ideas collection ticket at this stage, no need to action.

To produce better Findbugs report XML, the underlying issues XML generated by CFLint needs to hold some additional information. Alternatively the Findbugs report XML needs to be enriched after the XML transformation through some other mechanism.

  • BugCollection timestamp/analysisTimestamp should have proper values, not only 0 - in XSLT 2 this can be done built-in, XSLT 1 needs EXSLT. Need to have a closer look into that. See Additions to CFLint XML (was: Building a mechanism to pass timestamps and additional counters into FIndbugs XML) #278.

  • Bug Collection release should not be empty string - can we pull that from somewhere? I'd be keen to be able to pass that in - maybe via command line - so that I can tie a Git/Hg repo changeset hash into there.

  • Project name could be something meaningful (potentially passed in through command line)

  • It'd be nice to have a proper classname for SourceLine and similar tags and not just @file - not sure if we could get a package path here. Maybe that could be delivered through parsing a cfcomponent tag? @ryaneberly ?

  • FindBugsSummary data to be filled - this can partly be done from the issues XML (total_bugs). Other fields can't be delivered this way (total_classes, total_size). Any chance we can feed that info into the cflint issues XML? I think total_classes should probably be the total number of files scanned, @ryaneberly ?

@ryaneberly
Copy link
Contributor

Regarding the package- it is hard to accomplish this without accessing (or recreating) the 'mappings' definitions from Adobe CF. I'm not sure what the equivalent is in Lucee. This need relates to several other wish list items: Expanding cfincludes etc.

@ryaneberly
Copy link
Contributor

total_classes can be tracked as total files pretty easily. I think the same applies to total_size.

@TheRealAgentK
Copy link
Collaborator Author

Re package names:

I think people would need to pass in a base path-alike thing for their filesystem to provide an entry point into mappings:

-folder /A/B/C/html/sitename/ -packageBase /A/B/C/html/sitename/cfcs/

@TheRealAgentK
Copy link
Collaborator Author

So @ryaneberly - how much set in stone is the CFLint internal XML format? Would it be safe to change/edit that (and then obviously the XSLT and other outputs with it) to add additional info to it, like total_classes, total_size etc?

Or is that something you'd rather not touch because of other external projects hanging off that?

@ryaneberly
Copy link
Contributor

ryaneberly commented Jun 3, 2017 via email

@TheRealAgentK
Copy link
Collaborator Author

Ok, that sounds good. I've got a few FB improvements in my local 276-branch that are unrelated to touching the CFLint issues xml which I will push into master, then will close this ticket and create more specific ones for changes to the issues XML.

@TheRealAgentK
Copy link
Collaborator Author

Oh @ryaneberly, you're ok if I merge master into dev to get the changes from there into the dev branch?

@ryaneberly
Copy link
Contributor

ryaneberly commented Jun 4, 2017 via email

@TheRealAgentK
Copy link
Collaborator Author

Closing, all meaningful things I can do with XSLT 1 have been done. No issues XML has been harmed in the process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants