I did this a long time ago and then got curious again today (see the original message for some interesting history): .java: 285839 1088139 13083416 total (1039 files) .xml: 205228 656193 12397793 total (977 files) .ftl: 63879 195373 3342780 total (598 files) .bsh: 29960 116815 1335397 total (363 files) .jsp: 3432 14132 142749 total (64 files) .dtd: 0 0 0 total (0 files) .xsd: 15539 45546 725494 total (33 files) .properties: 90871 297835 5729241 total (355 files) Total (of these): 694749 lines, 3429 files There are others like .js and .css but most of those are from other projects (like dojo, prototype, etc), and not so many from OFBiz itself so I didn't bother to count them. What surprised me here is actually how few lines of text there are in the project, especially compared to the previous count (~3 years ago), and of course compared to other projects that address this scope. One thing to note is that some parts of the old repo, like certain libraries (Minerva, which we don't use by default any more, BTW) and all of the massively redundant and large old specialized apps, are no longer in the OFBiz SVN repo. Also, there is no HTML in the main repo any more so the 24k lines of HTML that used to be the full documentation of OFBiz are not in this count (most of that is on docs.ofbiz.org now, and there is WAY more, probably over 100 times as much documentation now). That doesn't count all of the old code from OFBiz that has been rewritten, which is probably easily this many lines of code. There some easy things to make this more accurate, like remove the size of the AL2 header for each file (~18 lines times 3429 files is 61722 lines, bringing us down to 633026 lines total). In a way I'm ecstatic about this. One of the big goals of the OFBiz framework was to do what we do in significantly fewer lines of text (and hopefully generally less complex lines as well) than traditional ERP tool sets and to an even greater extend compared to modern OO tools. In applications: .java: 116862/285839 total (209/1039 files) .xml: 168315/205228 total (607/977 files) .ftl: 54716/63879 total (476/598 files) .bsh: 24547/29960 total (307/363 files) .jsp: 1259/3432 total ( 39/64 files, all index/error pages) .properties: 60086/90871 total (178/355 files) Total (of these): 425785/694749 lines, 1816/3429 files In specialpurpose: .java: 14789/285839 total ( 64/1039 files) .xml: 13760/205228 total (150/977 files) .ftl: 3561/63879 total ( 51/598 files) .bsh: 1285/29960 total ( 18/363 files) .jsp: 306/3432 total ( 10/64 files, all index/error pages) Total (of these): 33701/694749 lines, 293/3429 files The rest are in framework. Anyway, might be interesting to do the other counts I did before, but I should move on... ;) -David On Sep 17, 2004, at 12:46 PM, David E. Jones wrote: > > I got wondering today about the size of OFBiz, so I did a few quick > counts of various parts of the project. These are not "lines of > code" counts, but rather are general line, word and character counts > from "wc" and kind of reflect a general volume and a general level > of effort involved in OFBiz. > > So, it look like we are pushing nearly half a million lines of text > in the project now. Of course, as certain older things are > refactored the amount of text will reduce quite a bit for the same > functionality, and there's a lot of work yet to do there... This > doesn't include any third party libraries or anything, except for > Minerva which we are maintaining because it doesn't seem to be > maintained anywhere else, and we have refactored it a bit and fixed > a couple of bugs in it. > > In essence, if you are having a hard time learning all about OFBiz, > this is part of the reason... Of course, this is also the reason > that you can replace obscenely expensive systems with OFBiz, and > make good money doing so... > > > .java: 230317 914957 9756738 total (981 files) > .xml: 90663 309165 5309711 total (921 files) > .ftl: 62081 223747 3220630 total (628 files) > .bsh: 34857 148655 1509638 total (407 files) > .jsp: 13745 50317 662657 total (161 files) > .dtd: 3997 17743 142656 total ( 28 files) > .html: 24002 123242 1109677 total (101 files, in the website > directory only) > > Total: 459662 lines of text > > Framework Java files: > base: 17935 76782 694871 total ( 80 files) > appservers: 177 541 5725 total ( 1 file) > common: 1508 6001 63256 total ( 8 files) > content: 44503 166121 1944738 total (157 files) > datafile: 1629 7508 67209 total ( 8 files) > entity: 27078 117565 1181444 total (118 files) > entityext: 2906 13050 142981 total ( 12 files) > jetty: 501 1525 20332 total ( 1 file) > jotm: 102 419 3624 total ( 1 file) > minerva: 8488 29979 272194 total ( 30 files) > minilang: 12651 57503 538303 total (122 files) > rules: 12483 56709 402546 total ( 99 files) > security: 674 3555 32053 total ( 4 files) > securityext: 1533 6024 76835 total ( 3 files) > service: 12789 53297 509250 total ( 70 files) > shark: 7426 26123 276313 total ( 42 files) > webtools: 544 2440 26006 total ( 2 files) > workflow: 9852 38849 397164 total ( 63 files) > > Total Framework Java lines of text: 162779 > Leaving 67538 lines for the applications or business logic > > Different types of XML files: > entitymodel.*\.xml: 16322 43626 806138 total > pagedefs\/.*\.xml: 4203 8682 194929 total > Forms\.xml: 6472 20826 363864 total > Screens\.xml: 602 1790 29679 total > Services\.xml: 13996 53478 932295 total > SimpleMethods/Events: 1675 6328 99095 total > controller\.xml: 8651 24395 440858 total > > The command style line used (in Mac OS X): find * | grep "\.java" | > grep -v "\.svn" | xargs wc > > -David > |
Free forum by Nabble | Edit this page |