[ https://issues.apache.org/jira/browse/CB-3606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13709155#comment-13709155 ]
Peter commented on CB-3606: --------------------------- Sorry, I don't have a "patch" for the script, but I did write my own Java tool to process the Cordova JS similar to how gv-requires works. Instead of assuming a "define" always exists, my code identifies GraphViz nodes by looking for the "// file:" in the cordova.js (which got put there when the cordova.js was combined in the first place). e.g. {code} // Find all modules String modulesSource[] = contents.split("// file:.*?\\.js"); {code} Perhaps any future gv-requires fix can use the same strategy. > gv-requires.js generates incorrect module dependencies > ------------------------------------------------------ > > Key: CB-3606 > URL: https://issues.apache.org/jira/browse/CB-3606 > Project: Apache Cordova > Issue Type: Bug > Components: CordovaJS > Affects Versions: 2.7.0 > Reporter: Peter > Assignee: Filip Maj > Priority: Minor > > The regular expression logic for node detection in the GraphViz module > dependency generation tool (CB-340) is as follows: > * It splits the JavaScript into modules based on "define" > * It then looks for "require" within those split fragments to determine > dependencies of that module. > The problem is there are some files which make up the cordova.android.js > which do not have this assumed "define" (eg bootstrap*.js) format. The effect > is any requires in such files will be wrongly attributed to the last module > which did have a define. > For example, the requires of bootstrap*.js are wrongly attributed as > dependencies of the prior define("cordova/utils"... > The resulting graph which shows some dependencies which do not actually exist > (eg "cordova/utils" -> 'cordova/channel') > https://www.dropbox.com/s/96i48zhujabed6m/cordova-js-orig.svg -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira