Re: How Big is OFBiz?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: How Big is OFBiz?

David E Jones-2

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
>