<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/quality-lines-of-code/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/quality-lines-of-code/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 05 May 2016 01:30:29 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/quality-lines-of-code/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/quality-lines-of-code/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="quality-lines-of-code-qloc"&gt;&lt;strong&gt;Quality Lines of Code (qLoc)&lt;/strong&gt;&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Pre-requisites&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;PERL - Minimum version requirement is 5.20.2 for unix flavors and 5.20.2 build 809 MSI package for windows operating system.&lt;br/&gt;
NCSL - NCSL is included in the qLoc distribution and is extracted into the qLoc directory during installation.&lt;br/&gt;
Diff - Diff is expected to be available on the Unix machines. However, the Windows distribution of qLoc contains GNU diff utility.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Installation&lt;/strong&gt;&lt;br/&gt;
Windows&lt;br/&gt;
    Unzip qLoc.zip&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Redhat&lt;br/&gt;
    gunzip qLoc.tar.gz&lt;br/&gt;
    tar -xvf qloc.tar&lt;/p&gt;
&lt;p&gt;For other OS&lt;br/&gt;
    Please ask by raising a request with Authors.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Upgrade&lt;/strong&gt;&lt;br/&gt;
Do the following to upgrade to the latest version&lt;br/&gt;
  Take backup of existing qloc.conf and ncsl/specfile files (if required).&lt;br/&gt;
  Unzip qLoc latest version as explained in Installation section based on your operating system&lt;br/&gt;
  Replace newly installed qloc.conf and ncsl/specfile with the backup files (if required)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Running qLoc&lt;/strong&gt;&lt;br/&gt;
qLoc can be executed by issuing the command "perl qloc.pl" provided perl is in the Path.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Base code count usage&lt;/strong&gt;&lt;br/&gt;
    perl qloc.pl &lt;span&gt;[-listExtensions]&lt;/span&gt; &lt;span&gt;[-countExtensions ext1 ext2 ...]&lt;/span&gt; &lt;span&gt;[-X Extension]&lt;/span&gt; &lt;span&gt;[-inputFiles dir1/file1 dir2/file2 ...]&lt;/span&gt;&lt;br/&gt;
&lt;span&gt;[-filesListInFile InputFile]&lt;/span&gt; &lt;span&gt;[-out OutputFile]&lt;/span&gt; &lt;span&gt;[-clearCase LabelName]&lt;/span&gt; &lt;span&gt;[-ignore InputFile]&lt;/span&gt; &lt;span&gt;[-debug Level]&lt;/span&gt; &lt;span&gt;[-cleartoolPath Path]&lt;/span&gt;&lt;br/&gt;
&lt;span&gt;[-D]&lt;/span&gt; &lt;span&gt;[-F]&lt;/span&gt; &lt;span&gt;[-H]&lt;/span&gt; &lt;span&gt;[-U]&lt;/span&gt; &lt;span&gt;[-R]&lt;/span&gt; &lt;span&gt;[-L]&lt;/span&gt; &lt;span&gt;[-M]&lt;/span&gt; &lt;span&gt;[-version]&lt;/span&gt; &lt;span&gt;[-help]&lt;/span&gt;&lt;br/&gt;
&lt;strong&gt;Diff code count usage&lt;/strong&gt;&lt;br/&gt;
    perl qloc.pl -diff &lt;span&gt;[-inputFiles dir1/file1 dir2/file2]&lt;/span&gt; &lt;span&gt;[-clearCase LabelName1 LabelName2]&lt;/span&gt; &lt;span&gt;[-countExtensions ext1 ext2 ...]&lt;/span&gt;&lt;br/&gt;
&lt;span&gt;[-X Extension]&lt;/span&gt; &lt;span&gt;[-filesListInFile InputFile]&lt;/span&gt; &lt;span&gt;[-out OutputFile]&lt;/span&gt; &lt;span&gt;[-ignore InputFile]&lt;/span&gt; &lt;span&gt;[-debug Level]&lt;/span&gt; &lt;span&gt;[-diffBinPath Path]&lt;/span&gt; &lt;br/&gt;
&lt;span&gt;[-cleartoolPath Path]&lt;/span&gt; &lt;span&gt;[-D]&lt;/span&gt; &lt;span&gt;[-F]&lt;/span&gt; &lt;span&gt;[-H]&lt;/span&gt; &lt;span&gt;[-U]&lt;/span&gt; &lt;span&gt;[-R]&lt;/span&gt; &lt;span&gt;[-L]&lt;/span&gt; &lt;span&gt;[-M]&lt;/span&gt; &lt;span&gt;[-version]&lt;/span&gt; &lt;span&gt;[-help]&lt;/span&gt;&lt;br/&gt;
      -listExtensions                &lt;br/&gt;
           Print supported file extensions&lt;br/&gt;
      -ncslLangList&lt;br/&gt;
           Print supported languages by ncsl&lt;br/&gt;
      -countExtensions ext1 ext2 ...&lt;br/&gt;
           Count files with extensions ext1,ext2,... only. Extensions are case sensitive&lt;br/&gt;
      -inputFiles dir1/file1 dir2/file2 ...&lt;br/&gt;
           Root path of directories/files&lt;br/&gt;
      -diff -inputFiles dir1/file1 dir2/file2 ...&lt;br/&gt;
           Difference between two files or directories. Both must be of the same type either file or directory. This option values&lt;br/&gt;
           count must be an even number.&lt;br/&gt;
      -clearCase LabelName&lt;br/&gt;
           ClearCase Label name. Use this option for base code count. Specify atleast one of -inputFiles or -filesListInFile option&lt;br/&gt;
      -diff -clearCase LabelName1 LabelName2&lt;br/&gt;
           Diff between ClearCase Label names and it is known as ClearCase Label diff. Specify atleast one of -inputFiles or &lt;br/&gt;
           -filesListInFile option.&lt;br/&gt;
      -filesListInFile InputFile&lt;br/&gt;
           InputFile contains complete path of files/directories for which code count needs to be calculated. Each path need to be&lt;br/&gt;
           separated by a new line. If ClearCase label is used, specify root path of the files/directories from which code count&lt;br/&gt;
           is required.&lt;br/&gt;
      -diff -filesListInFile InputFile&lt;br/&gt;
           InputFile In case ClearCase label diff, InputFile contains root path of files/directories from which diff count is required.&lt;br/&gt;
           Each path need to be separated by a new line. Otherwise (for normal diff), InputFile contains pairs of complete path&lt;br/&gt;
           of files/directories for which diff count needs to be calculated. Path in each pair need to be separated by a new line.&lt;br/&gt;
      -diff -inputFiles dir1/file1 dir2/file2 ...&lt;br/&gt;
           Path of pairs of directories/files.&lt;br/&gt;
      -ignore InputFile&lt;br/&gt;
           InputFile contains complete path of directories/files that need to be ignored from the count. Each path need to be separated&lt;br/&gt;
           by a new line.&lt;br/&gt;
      -X Extension&lt;br/&gt;
           Default extension for files without any extension.&lt;br/&gt;
      -diffBinPath Path&lt;br/&gt;
           Path of the diff binary file. In unix flavors diff path will be taken from path environment variable. In windows it is part of the&lt;br/&gt;
           installation directory. Change this path if required by using this option.&lt;br/&gt;
      -cleartoolPath Path&lt;br/&gt;
           Path of the cleartool program. Specify this if cleartool command is not part of the path environment variable.&lt;br/&gt;
      -out OutFile&lt;br/&gt;
           Output file to store the code count details.&lt;br/&gt;
      -debug Level&lt;br/&gt;
           Debug level 1, 2, or 3.&lt;br/&gt;
      -D   Suppress Directory sums&lt;br/&gt;
      -F   Suppress File counts&lt;br/&gt;
      -H   Suppress headers&lt;br/&gt;
      -U   Count unknown file types&lt;br/&gt;
      -R   No recursive directory count needed. Do not specify with -clearCase option&lt;br/&gt;
      -L   No language based sums&lt;br/&gt;
      -M   Suppress Control-M characters before doing count.&lt;br/&gt;
      -version&lt;br/&gt;
           Print Version of this program&lt;br/&gt;
      -help&lt;br/&gt;
           Print this help message&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;qLoc output&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;5.1. &lt;strong&gt;Base code count output&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The output of the base count contains Type, Path, LOC, eLOC, lLOC, Comments, Blanks, and Total Lines.&lt;br/&gt;
Type can be File, Directory, Total, or Extension. When the type is directory, it sums the count of all the&lt;br/&gt;
     files and sub-directories within that. If no recursion option is selected it will not count sub-directories.&lt;br/&gt;
Path gives the complete path of the file or directory.&lt;br/&gt;
LOC gives Lines of Code count and does not include comments and blank lines.&lt;br/&gt;
eLOC gives effective LOC count. eLOC counts only those lines with executable content.&lt;br/&gt;
     eLOC does not count standalone braces and parentheses in addition to blanks and comments.&lt;br/&gt;
lLOC gives Logical LOC count. This count is implemented only for languages like C, C++, Perl, and Java&lt;br/&gt;
     where the statement terminator is a semicolon.&lt;br/&gt;
Comments gives the total number of Comment lines.&lt;br/&gt;
Blanks gives total number of blank lines.&lt;br/&gt;
Total Lines gives total number of lines in a file or directory.&lt;/p&gt;
&lt;p&gt;5.2. &lt;strong&gt;Diff code count output&lt;/strong&gt;&lt;br/&gt;
Given two directories of files, qLoc can count number of lines that have been added, deleted, and modified.&lt;br/&gt;
Diff count expects two files/directories as arguments and it generates counts for the files specified&lt;br/&gt;
in the second argument based on the changes made over the files specified in the first argument.&lt;br/&gt;
First argument should be the baseline and second argument should be the updated file/directory. If file is found only&lt;br/&gt;
in the first argument, status of the file will be mentioned as "New". However, if a file is not found in the&lt;br/&gt;
second argument, status would be marked as "Deleted" and counts will be specified for the files specified in&lt;br/&gt;
the first argument.&lt;/p&gt;
&lt;p&gt;The output of the diff contains Type, Status, Path, New eLOC, Deleted eLOC, Modified eLOC, Changed LOC, Changed eLOC, Changed lLOC&lt;/p&gt;
&lt;p&gt;Status refers to New, Modified, Deleted, Identical, or Ignored with respect to file / directory.&lt;br/&gt;
New eLoc gives the eLOC of the added lines in the file or directory.&lt;br/&gt;
Deleted eLOC gives the eLOC of the deleted lines in the file or directory.&lt;br/&gt;
Modified eLOC gives the eLOC of the modified lines in the file or directory.&lt;br/&gt;
Changed LOC, eLOC, lLOC are counted by considering only added and modified lines. Deleted and unchanged lines are not considered for these.&lt;/p&gt;
&lt;p&gt;To store the output and errors you can give the command as follows:&lt;br/&gt;
perl qloc.pl .... &amp;gt; loc.csv 2&amp;gt; loc.error&lt;br/&gt;
loc.csv contains the output and loc.error contains error information.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Restrictions&lt;/strong&gt;&lt;br/&gt;
qLOC will not count the files/directories with names that start with "." or contains "$".&lt;br/&gt;
qLOC will not follow symbolic links in unix flavors.&lt;br/&gt;
Diff count does not give directory sums.&lt;br/&gt;
qLoc suppresses all comments, white spaces, and blank lines in both the files before doing diff.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Known Issues&lt;/strong&gt;&lt;br/&gt;
  1) If a symbolic link file/directory created in unix and mapped to a windows machine, perl for windows&lt;br/&gt;
     cannot identify it as a symbolic link and is included in the code count by qLoc. Use -ignore option to ignore&lt;br/&gt;
     such files/directories.&lt;br/&gt;
  2) qLoc creates some temporary files during its execution. By default those temporary files will be created&lt;br/&gt;
     in the temporary directory "\tmp\qLoc (unix flavours) or %TEMP%\qLoc (windows)". If the temporary directory is not&lt;br/&gt;
     found those temporary files will be created inside the qLoc installation directory (&amp;lt;qLoc Installation="" Dir=""&amp;gt;/tmp.&lt;br/&gt;
     Upon successful completion of qLoc, those temporary files will be deleted automatically. Due to any reason if&lt;br/&gt;
     qLoc is terminated before its completion users need to delete those files manually. The set of temporary file&lt;br/&gt;
     names used are labelFiles&lt;em&gt;, changeDiff&lt;/em&gt;, newDiff&lt;em&gt;, delDiff&lt;/em&gt;, onlyChangeDiff&lt;em&gt;, diffFile&lt;/em&gt;, cmFile&lt;em&gt;, nc-src-file&lt;/em&gt;,&lt;br/&gt;
     enc-src-file&lt;em&gt;, ncsl-outfile&lt;/em&gt;, fileName1&lt;em&gt;, fileName2&lt;/em&gt; where * is a number (PID).&lt;br/&gt;
  3) Blank lines embedded within comments are not counted properly by ncsl&lt;br/&gt;
  4) If ncsl finds a long string in a file, sometimes it fails to process it.&lt;br/&gt;
  5) Sometimes minor differences are seen between solaris diff and GNU diff utilities when consecutive lines&lt;br/&gt;
     contain same content.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">SVGK Raju</dc:creator><pubDate>Thu, 05 May 2016 01:30:29 -0000</pubDate><guid>https://sourceforge.net75bade80c31e71e3d62c6e54095ed57d3774ae9f</guid></item><item><title>Home modified by SVGK Raju</title><link>https://sourceforge.net/p/quality-lines-of-code/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a class="" href="/p/quality-lines-of-code/wiki/markdown_syntax/"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
	&lt;ul class="md-users-list"&gt;
		&lt;li&gt;&lt;a href="/u/svgkraju1/"&gt;SVGK Raju&lt;/a&gt; (admin)&lt;/li&gt;
		
	&lt;/ul&gt;&lt;br/&gt;
&lt;p&gt;&lt;span class="download-button-5721560490954769838e6127" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">SVGK Raju</dc:creator><pubDate>Thu, 28 Apr 2016 00:15:00 -0000</pubDate><guid>https://sourceforge.netcba54793508d49b95e6904a10d629090d9e158fa</guid></item></channel></rss>